前不久腾讯举办了一场夏季思享会,其主题是大数据。关于大数据,大家炒作得更多的是机遇、威力,比方说越来越多人利用 Google 的大数据来研究趋势,辅助分析决策,但是这场思享会从另一个角度分享了一个很好的思考:大数据也可能是“大忽悠”。
而最近对 Google Flu Trends(流感趋势)的一些研究正好佐证了这一点。
说到 Google Flu Trends,首先必须先提一提 Google Trends 和 Google Correlate。Google Trends 利用对用户搜索的大数据分析来获得人类某些活动的趋势,只要在 Google Trends 上输入某些查询关键字即可返回相关活动的数据序列。而 Google Correlate 则是输入数据序列可返回一组结果呈类似模式(相关性)的查询,有点类似于 Google Trends 的反函数。
Google Flu Trends 是 Google Trends 最早也是最知名的应用之一。鉴于很多人患流感是往往会上 Google 查询了解疾病情况和用药,因此 Google 发现这种查询与流感爆发存在着某种相关关系。Google Trends 曾经有过多次对流感的成功预测,包括 2011/12 年的美国流感、2007/08 年瑞士流感、2005/06 年德国流感、2007/08 比利时流感等,其及时性甚至要比美国疾病预防控制中心还要高。
这显示出了搜索“流感”与流感爆发的相关性。
另一个例子是“宿醉”。比方说在 Google Trends 输入“hangover(宿醉)”,你会发现这种情况在周六开始冒头,然后周日到达巅峰,而到了周一则急剧下降。这种模式与输入“伏特加”的查询结果类似(滞后一天)。
但是数据越大未必就能带来更高的预测率。甚至还会带来“假规律”和“伪相关”。比方说,搜索 2004 至 2012 年间的美国汽车销售与“印度餐馆”,结果发现二者之间竟然存在相关关系。这个东西显然是无法解释的。
伪相关的原因是什么呢?
首先,相关性并不意味着因果关系。比方说,Google Flu Trends 对趋势的预测并非屡试不爽。有几次 Google Trends 就严重高估了流感病例的数量,包括 2011/12 的美国流感,2008/09 瑞士流感,2008/09 德国流感、2008/09 比利时流感等。
英国伦敦大学学院的研究人员对此进行了研究。结果发现,到 Google 搜索“流感”的人可以分成两类,一类是感冒患者,一类是跟风搜索者(可能是因为媒体报道而对感冒话题感兴趣者)。
显然第一类人的数据才是有用的。其搜索是内部产生的,独立于外界的。因此这些人的搜索模式应该与受到外界影响而进行搜索的人的模式不同。而正是第二类人的社会化搜索使得 Google Flu Trends 的预测失真。这正是因为 Google Flu Trends 把搜索“流感”与得流感的相关性当成了因果关系所致。
而稍早前美国东北大学与哈佛大学的研究人员对 Google Flu Trends 的失真案例进行的另一组研究则认为,这反映出了热炒大数据的氛围下诞生的一股大数据自大思潮。这股思潮认为,大数据完全可以取代传统的数据收集方法。其最大问题在于,绝大多数大数据与经过严谨科学试验和采样设计得到的数据之间存在很大的不同。首先,大未必全;其次,大则可能鱼龙混杂。
此外,Google搜索算法本身的变化也有可能影响到Google Flu Trends的结果。这个原因不难理解。要知道,Google 搜索的调整非常频繁,单去年就进行了890项改进。其中就有不少属于算法的调整。媒体对于流感流行的报道会增加与流感相关的词汇的搜索次数,也会令 Google 增加相关搜索的推荐。从而令一些本身并不感冒的人也对流感产生了兴趣,进而把数据弄脏。
如何清洗数据呢?归根到底还是需要对数据进行模式分析。在流感趋势这个例子,研究人员认为,执行独立搜索的患流感人群的模式会随着时间推移而异于社会化搜索。其表现应该是在流感爆发时搜索急剧攀升,然后随着流感消失而缓慢下降。相反,社会化搜索则会表现得更为匀称。数据表明,在 Google 流感趋势出现高估的时候,趋势曲线的对称性的确更高。
这说明在分析大数据时必须要注意此类陷阱。充斥的大数据集以及统计学家对分析结果的传播会令真实的数据被放大或弄脏。
正如《The Parable of Google Flu: Traps in Big Data Analysis》的作者所认为那样,数据的价值并不仅仅体现在其“大小”上。利用创新性数据分析方法去分析数据才是本质。