GFT你这么diao,你的伪粉丝们造吗(1)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




不懂我的人啊,你什么都别问我,因为我的生活,你从未体验过。——郝云《麦扣让我写首歌》

 

the Original Model (2008)的诞生过程

 

本系列是光明正大给GFT“舔脚”的文章,为了让更多的人知道GFT的低调奢华和内涵。那些质疑和“跟风”质疑GFT的人,麻烦再三思一次。因为你们可能真的“什么”都不知道。

“没有调查就没有发言权[拳头]”——毛主席《调查工作》(即《反对本本主义》)

当然,diao并不意味着“完美”、“没有问题”。本文并非意图堵住所有对GFT的负面看法,而是想让这些潜在的“负面看法”更不无聊一些。

 

(废)话不多说,下面就先看GFT是怎样诞生的。

注:为了让所有的一般问题迅速得到解答,笔者决定跳过背景、目的和意义,直接从实验过程切入。并且按照中国学术界最经典的介绍实证研究过程的文章模板来行文。)

 

一、原始数据

 

1. CDC ILI data

CDC定期统计每周、9个监控地区,所有门诊病人中与流感有关的病人所占比例。(For each of the nine surveillance regions of the United States, the CDC reported the average percentage of all outpatient visits that were ILI-related on a weekly basis.)这个数据可以在http://www.cdc.gov/flu/weekly看到。GFT在建模过程中使用了这些数据。

注:CDC只统计流感期间的ILI data。因此GFT只用时间点的数据来拟合,但是在实际运行时会产生在这些时间点之外的“无效”估计值。(No data was provided for weeks outside of the annual influenza season, and we excluded such dates from model fitting, although our model was used to generate unvalidated ILI estimates for these weeks.)

另外,2003年9月28日-2007年3月11日(包括两个端点)期间的128个数据点为训练集,2007年3月18日-2008年5月11日(包括端点)期间的42个数据点为测试集。

 

2. 与检索词有关的数据

构建GFT的第二个核心元素是2003-2008年间Google用户向服务器提交的检索词。GFT初步选出累积次数最多的50 million个,计算它们每周、由不同地区用户提交的次数,形成时间序列。

注:

(1)一个检索词是指用户的一次完整提交,未对其内容和形式作任何处理。(A query was defined as a complete exact sequence of terms issued by a Google search user.)

(2)不包含任何用户身份的信息。(No information about the identity of any user was retained.)

(3)将上述时间序列中每个时间点的绝对数量转换为相对数量。这样做的原因:a. 不同检索词出现的次数不稳定,随时间、地点甚至语言变化;(Volumes of a particular query are not constant and can vary over time, both short-term and long-term, and by location and language.)b. Google收到用户检索请求的数量不均匀,长期来看是增长过程。(Overall usage of Google search varies throughout the year and is growing over time.)处理方法:检索词在时间点上的绝对次数除以对应时间、对应区域用户向Google提交检索的总次数。(We handle this by computing the query fraction of each query term: the total count of a query term in a given location is aggregated weekly and normalized by the total count of all queries issued in that week at that location.)

 

二、数据预处理

 

1. 数据预处理过程

数据预处理过程从50 million个检索词中选出最终参与到模型中的检索词,选择过程是衡量每单个检索词与(regional) CDC ILI data的拟合程度,挑选标准是provide the highest correlation with the CDC published target signal,即与CDC ILI数据(时间序列)相关性好。

注:

(1)分别在9个区域独立选择参与建模的检索词,因为the chance that a random search query can fit the ILI percentage in all nine regions is considerably less than the change that a random search query can fit a single location。

(2)备选的检索词并未经过任何人工处理,它们所反映的内容是“随机”的。

 

2. 数据预处理结果

经过预处理步骤,得到每个检索词与9个区域CDC ILI data的相关系数,按照mean Z-transformed correlation across the nine regions降序排序。(这里直接写原文是因为笔者怀疑作者的本意是z-score而非z-transform。不方便评论,毕竟笔者只了解z-score,不了解z-transform。)计划选出前n个检索词组成的集合参与建模。

确定n的取值:比较n取不同值时,前n个检索词的总和(时序数据)与CDC ILI data测试数据集(时序数据)的相关性。(We considered difference sets of n top-scoring queries. We measured the performance of these models based on the sum of the queries in each set, and picked n such that we obtained the best fit against out-of-sample ILI data across the nine regions.)n取不同值时,模型的输出值与CDC实际值的相关系数(均值)如下图所示。

当n = 45时,模型对CDC ILI数据的拟合效果最好。当n由80增加至81时,模型的拟合效果迅速下降,第81个检索词是“Oscar nominations”。此时,虽然这45个检索词是随机选取的,但实际上它们在内容上均与ILI有关。

文献来源:Ginsberg, 2009

 

三、预测模型

 

1. 建立预测模型

将这45个检索词(比例)组合得到的1个新变量作为解释变量,拟合2003-2007年间、9个区域的CDC ILI data,建立单变量线性回归模型:logit(I(t)) = αlogit(Q(t)) + ε,其中:

I(t)是CDC统计的每星期中,门诊病人中流感病人的比例;

Q(t)是对应时间Google用户提交的45个检索词占同期提交的全部检索请求的比例;

α是待求参数;

ε是误差项。

需注意:logit(p) = ln(p/(1 – p))。

上述过程之后,每个区域都会得到一个系数。

 

2. 评估预测模型

文献来源:Ginsberg, 2009

图中红线反映的是对应时间CDC统计的实际值,黑线是GFT的估计值。纵向虚线的左侧是训练数据及对训练数据的预测值,右侧是测试数据以及对测试数据的预测值。两条横向的dotted lines之间是预测值95%的置信区间。图中数据反映的是New York, New Jersey和Pennsylvania地区的情况。

(1)对训练数据的拟合效果

预测值与实际值的相关系数(9个区域)平均为0.90(最小值0.80,最大值0.96)。

(2)对测试数据的拟合效果

预测值与实际值的平均相关系数(9个区域)为0.97(最小值0.92,最大值0.99)。

 

四、小结

 

1. “实践检验真理”

按照大学本科高年级阶段最常见的记录实证研究过程的模板介绍完,不难发现,整个过程除去Google search queries的部分,从实验步骤到分析方法,都刚刚非数学专业(比如信息管理类)本科(甚至硕士)毕业论文的一般标准。(还有没毕业的读者有福了:模仿上述思路,更换研究对象,可以是一份很工整的毕业设计)

当然,若是谨慎考究,也能够在上述过程中发现若干unstated assumptions及对应的alternative explanations,比如:

数据预处理时,从50 million选出45个检索词,一定要是top 45吗,有没有其他方法?

模型logit(I(t)) = αlogit(Q(t)) + ε,是否会有效果更好的模型?

等等。正如之前(Lazer, 2014)一文中所总结的,对GFT的质疑有数据的代表性和模型的有效性两方面。

存在alternatives并不足以推翻一项实证研究。至少,存在alternatives并不代表GFT现有的做法有问题。最直接的判断标准是看表现。从2008年11月发布一直到2012-13年的流感季节,误差最大的是1.13个百分点(2012年1月1日那个礼拜),CDC收集的数据位1.74%,GFT预测的数据是2.86%。整个时段内的平均绝对误差为0.03个百分点。(From the launch in 2008 until the 2012-13 season, the highest estimation error for national flu incidence was 1.13 percentage points (week starting Jan. 1, 2012: CDC data 1.74%%, GFT estimate 2.86%), and the mean absolute error during this period across all weekly estimates was 0.03 percentage points.)换句话说,GFT从发布至2012年底,works well

 

文献来源:Copeland, 2013

 

2. Footprints of GFT

从上述GFT诞生过程也可以看出,GFT(至少是the original model)最精华(priority)的并非是数据分析过程。笔者看来,GFT的创举以及他们本身最在意的,是对Google search queries(“大数据”)的处理。当然,这些科学家也确保了对数据处理和分析过程可推敲。

从GFT后面2次update的侧重点也可以看出,GFT团队的重点也在转移。

第一次update(对应GFT第二个版本)修改用于建模的数据(增加了非季节性流感的实际数据);

第二次update(对应GFT第三个版本)修改了媒体放大作用对模型的影响;另外,将模型复杂化,而且直接使用的是算法界的新贵:elastic net。

OK,预知后事如何,且听下回分解吧。

Coming soon:

GFT你这么diao,你的伪粉丝们造吗(2):GFT 2.0: updated(2009)

GFT 2.0的改动;

GFT 2.0与1.0的比较;

GFT你这么diao,你的伪粉丝们造吗(3):GFT 3.0: updated(2013)

GFT 3.0对在媒体影响下的用户行为的处理;

GFT 3.0的建模算法;

 

最后的最后,弱弱的点个题:那些曾经以为GFT是时间序列模型(或其他不真实的认知),请自觉抱头下蹲唱国歌。

 

参考文献:

Ginsberg J, Mohebbi M H, Patel R S, et al. Detecting influenza epidemics using search engine query data[J]. Nature, 2009, 457(7232): 1012-1014.

Copeland P, et al. Google Disease Trends: an Update. International Society for Neglected Tropical Diseases. 2013. available at: http://patrickcopeland.org/papers/isntd.pdf

(没有打分)

雁过留声

Comments are closed.