谷歌流感趋势预测,为何失灵?

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

2013年2月,谷歌流感趋势(GFT)上了头条新闻--由于一个谷歌高管或流感跟踪系统原创者所不希望看到的原因。 据 《自然》杂志(Nature)报道,GFT预测的流感样疾病数量是美国疾病控制和预防中心(CDC)的估算数量的两倍多,而CDC的估算是基于美国全国各地的实验室所实际收到的监测报告。 尽管GFT的创建就是为了预测CDC的报告的, 但这种错误还是发生了。 鉴于GFT经常被引用为大数据使用的典范,我们应该以从这个错误中吸取什么教训呢?


我们所面临的此类问题绝不仅限于GFT。有关究搜索或社交媒体是否可以预测x的研究已经随处可见,并经常与传统的方法和假设进行对比。 虽然这些研究显示了这些来自搜索及社交媒体的数据的价值,但要取代更传统的方法或理论还远远不够。我们在这篇文章中探讨促成GFT失误的两个问题--“大数据傲慢”和“算法动态”,给前进中的大数据时代提供一点经验教训。


大数据傲慢

“大数据傲慢”是一种隐喻,即认为大数据是一个传统的数据收集和分析的替代品,而不是补充。 在很多文献中我们都看到了大数据巨大的科学潜力。 然而,数据的数量并不意味着我们可以忽略测量的基础性问题和构造数据中的有效性和可靠性,及相互依赖关系。 核心挑战是,许多大数据颇受瞩目,但生成这些大数据的工具并不是为了给科学分析提供有效的、可靠的数据而设计的。


GFT的最初版本是一个特别有问题的大数据和小数据的结合。 从本质上讲,该方法是在5亿个搜索条目中找到最佳匹配,以适应1152个数据点。 所谓匹配的搜索词和预测流感在结构上是不相关的,所以利用这些数据无法正确地预测流感的可能性是相当高的。 实际上,GFT的开发者在报告中也承认他们淘汰的一些和流感无关的季节性搜索字词,却和疾病预防控制中心的数据密切相关--例如那些关于高中篮球的搜索词。 这应该是一个警告,即大数据对少数样本的过度拟合,这是数据分析中经常遇到的问题。 这一去除特定搜索字词的方法,在GFT完全错过了非季节性的2009年流感甲型H1N1流感大流行而彻底遭遇滑铁卢。 总之,GFT的最初版本既是用来探测流行感冒的,也是用来探测冬季的到来的。 GFT工程师在2009年更新了算法,更新后的模型一直运行至今,只在2013年10月有些小的变化。


考虑到现在有大量预测流感活动情况的方法,这是否意味着GFT的当前版本根本没用? 答案是否定的,GFT的巨大价值可以通过结合其他实时健康数据来实现。例如,通过结合GFT和稍滞后的疾病预防控制中心的数据,并实时调整GFT,我们可以大大提高GFT或疾控中心各自单独的预测性能。 这个方法并不能取代GFT所需要的不断的自我评估及改进,但通过结合这些实时健康数据,GFT基本上可以拯救自己,至少不至于再上头条新闻了。


算法动态

所有实证研究都是基于测量之上。而这测量方法真的能捕获最关键的信息吗?不同情况不同时间下的测量是否具有稳定性及可比性?测量误差是由系统产生的吗?我们至少可以认为由算法动态引起的谷歌搜索的不稳定性会使得GFT也对流感的发生有不稳定的反映。


算法动态是指那些工程师为改善商业服务以及消费者在使用其检索服务过程而产生的变化。谷歌的检索算法以及用户的行为变化都能影响GFT的跟踪。对这类GFT错误最常见的解释是去年流感季节因媒体而激起的大众的恐慌。虽然媒体可能是一个因素,但它无法解释为什么GFT在过去超过2年的时间内的预测与最终的实际结果相去甚远。2009版的GFT显示了与流感有关的媒体恐慌,其中就包括2005-2006年甲型流感H5N1(“禽流感”)的爆发和2009年甲型H1N1流感(“猪流感”)的大流行。而罪魁祸首更有可能是由谷歌的搜索算法本身的变化。


谷歌的检索算法不是一个静止不变的。这个算法谷歌公司本身在不断测试和改进中。举个例子,谷歌的官方博客就报告检索算法在2012年6-7月期间就被改了86次。这么多的算法变化就是由公司无数的程序员在各个小单位上的操作加上全球数百万消费者使用引擎而联合产生的。


而想要重现GFT的原始算法是很难的。 GFT从未记载使用过的45个搜索词,而且已发行的那些例子似乎还具有误导性。 不过谷歌确实提供了一项叫作“谷歌关联”的功能。这个功能允许用户在给定时间序列后能识别出检索数据; 但这仅仅作用于国家层面的数据,而GFT却是基于区域层面的数据的相关性开发出来的。 所以“谷歌关联”同样没法给出已经发表的与GFT相关的文章的检索条文。


尽管如此,使用“谷歌关联”来对比GFT时间序列相关的检索词和那些由疾病预防控制中心的数据给出的检索词却揭示了一些很有趣的差异。 举个例子,搜索如何治疗流感和搜索如何区分流感与普通感冒就能够说明GFT算法为什么会出错。这是所谓的“蓝队”动态,也就是算法会被服务提供者依照他们的商业模式而进行修改。 2012年2月相比2011年6月,当用户在谷歌上搜索流感信息时,谷歌检索就会自动多给出有助于诊断的词条推荐,比如说“发烧”和“咳嗽”,那这样因为检索条的推荐而导致用户检索的变化就引起了GFT的变化。


另外学者们还要担心“红队”动态对算法潜在的影响。“红队” 动态指的是当研究对象(这里即谷歌搜索引擎)为满足自己的经济或政治利益而对数据产生本身进行的操纵。 Twitter的民意问卷调查就是一个很明显的例子。因为意识到新闻媒体对Twitter的关注,许多公司和运动就已经使用了各种诡计,来拉高他们的候选人或候选产品的选票。


类似的操纵还在Twitter和Facebook上被实现,来传播关于股票市值及市场的谣言。 讽刺的是,越是对这些能监测人们行为的开放资源开发得成功,就越会有更多的人去企图操纵这些信号的产生。


GFT启示录:透明度(Transparency),整体度(Granularity),和所有数据(All-Data)

GFT无疑是一个重要的案例研究,它为我们前进的大数据分析时代提供了重要的经验教训。


透明性和可复制性。可复制性在学术界日益受到关注。 谷歌流感所依据的数据及分析方法对于学术界来说都是不可复制的。谷歌是一个企业,是一家拥有海量数据及独特技术的大企业,如何让这样的企业及学术界建立更好的合作模式,开发出更透明,可重复性更强的大数据分析模型,是值得每个人思考的问题。


使用大数据来了解未知。CDC的流感模型预测精确度已经很高,但它无法对局部地区做出预测,而这却是谷歌流感的强项,二者结合会使流感预测的精确度及前瞻性提高很多。


研究算法。Twitter,Facebook,谷歌,及整个互联网正在日新月异地不断变化着。 研究这些变化,变化趋势及隐藏在背后的算法,能帮助我们开发出更有效的数据分析模型,以更好地理解我们的健康、政治及社会的其他方方面面。


不只是关于数据的大小。有一种观点认为大数据的研究和传统的应用统计分析渐行渐远,而互联网的产生对于传统的统计分析也影响深远。我们所谓的“大数据革命”,倒不如说“所有数据革命(all-data-revolution)”更恰当 - 数据无关大小,重要的是创新性的分析方法,能将所有传统的及新数据源数据结合起来,帮助我们更深入地认识世界。

.


原文发布时间为:2014-05-24

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
7月前
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
9月前
|
域名解析 人工智能 缓存
无前端经验如何快速搭建游戏站:使用 windsurf 从零到上线的详细指南
本指南涵盖游戏站页面初稿设计、工具配置、内容设计与功能实现及部署上线的全流程。通过参考优秀网站设计,利用v0.dev平台完成页面布局和样式调整,并下载代码进行后续开发。使用Windsurf配置工作空间规则,确保以用户易懂的方式推进项目。逐步实现多语言支持、favicon设置、嵌入游戏等功能,确保网页专业且用户体验良好。最后通过购买域名、GitHub托管代码、Vercel部署等步骤将游戏站成功上线。
453 10
|
前端开发 Java Apache
Spring Boot文件上传与下载讲解与实战(超详细 附源码)
Spring Boot文件上传与下载讲解与实战(超详细 附源码)
1467 0
|
存储 缓存 数据处理
计算机随机访问存储器 (RAM)
【8月更文挑战第1天】
3521 5
|
安全 网络协议 网络安全
【红队APT】反朔源&流量加密&CS&MSF&证书指纹&C2项目&CDN域前置
【红队APT】反朔源&流量加密&CS&MSF&证书指纹&C2项目&CDN域前置
487 1
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
42915 5
|
编译器 开发工具 C语言
vscode安装+配置+使用+调试【保姆级教程】
vscode安装+配置+使用+调试【保姆级教程】
58601 9
|
机器学习/深度学习 编解码 自然语言处理
用语言直接检索百万视频,这是阿里TRECVID 视频检索冠军算法
利用自然语言检索百万视频,人物、场景、事件都不能放过,这就是既困难又吸引了众多研究者的视频检索任务。
1552 0
用语言直接检索百万视频,这是阿里TRECVID 视频检索冠军算法
|
SQL 小程序 搜索推荐
【Python】- 实现一个小程序,随机出题、判题、打分功能
最近在学习python,刚好看到一个需求,尝试实现下,题目如下 文章最后面会有完整的代码
1138 0