Categories
Uncategorized 事儿关经济

R会议小记

今年的R会又热热闹闹的开了两天,一切进行的还算顺利,没有大的波折。大家玩的很开心,各种旧友重逢相见恨晚按下不表。只说几点我的体会:

1. 数据挖掘越来越热,却越来越觉得泡沫。今年R会议创纪录的收到了接近500人报名,实际到场领取材料350人。会场一直有人需要站着听,这是以前没有的。R这两年越来越热,说明业界的需求上来了,用R的人越来越多毕业了,进入企业了。然而听了很多演讲,却没有感觉有让人“惊喜”。大家在重复的炒有限的东西。不见新意。

2. 工具越来越热,只能说明用的人越来越多,而不见得是用法越来越聪明。大数据热的一塌糊涂,大家关注的却只是怎么能实现计算,而少有从根本思想的角度提出创造性的方法的。这让人不免觉得疲惫。

3. 林大师兄说的有句话让我印象深刻——用复杂的方法解决复杂的问题那是做研究,用简单的方法解决复杂的问题是在业界。一路看来,被业界认可的方法,大都是simple and elegant的,只可惜翻来覆去就那些,看久了就审美疲劳了。

4. 大多数分析只能说是typical的完成任务,有灵性的分析不多。张翔的“短文本分类实践”在这个意义下,是可圈可点的有灵性的分析之一。在现有的算法上,如何聪明的排列组合优化改造,这不仅仅考验的是分析者对于模型的理解,更多是对于业务需求的洞见。再好的模型,也得多少按需定制一下,否则总让人觉得空洞无物。

5. 机器学习是小聪明而不是大智慧。我这么说坐等被骂,不过确实是思喆大哥的一句点评醍醐灌顶——机器学习的人从来不关心假设检验,尤其是对于分布的假设。反正计算机可以算,那么就去算好了。很多算法直觉上过得去,就可以了。我总感觉这东西,要么大家玩够了破灭一下,要么有人从头建造一些夯实的基础,真正繁荣。现在还是一个初生牛犊的混沌阶段吧。比较好的应用,除了google发起的那几类,大概也很难有本质上的突破了。

6. 业界是 short sighted,这个不用多说了。

7. 我对整个数据分析的行业未来持负面预测。有泡沫的感觉。可是,明明自己还在混这口饭吃...不过至少这口饭还能吃个十年二十年吧,不怕不怕。

8. 以前总觉得建模什么的最重要,最刺激,最有成就感。现在感觉,其实很多时候解决问题的能力大家都有,而发现问题却不是每个人都擅长。也劝最近打算从学校里面出来的朋友们,不要一上来就跟招人的企业说“我希望做统计建模”blablabla...其实有的时候那些fancy的模型提高的可能只是最后的5%,而为此牺牲的效率有可能有着更高的成本。至少我现在,有点越来越问题导向了。还有,其实很多时候,在学校里大家对于模型的理解还都是很肤浅的,纸上谈兵的。其实自己根本把握不住那些东西。最近好多次深深感觉,我以前觉得自己熟练把握的很多模型都不见得可以迅速的应用到实际的业务场景中去。在不断的跟同事、老板、partner讨论的过程中,才是真正的去深入的理解那些模型的过程。所以,一句聊以自勉的话:还是从简单的做起吧。

几乎没说几句好话,见谅。好玩的东西就是那么多,天天玩天天看不免觉得疲惫。不过平心而论(与我的工作单位无关),eBay对于数据的理解和应用整体水平绝对是行业前列的。能把一个数据分析的大问题break down到若干几乎独立的小问题,这就说明整体的框架已经成熟并足以支撑业务了。这样的情况下,作为个人可能接触的好玩的事情会越来越少,因为几乎相似背景的人都可以很快的胜任日常的工作(这也是我对大企业最佩服的一方面,分工确实细致,有利于提高整体效率),另一方面也是学习如何化整为零的好去处。每个人都有自己想要的人生,都会选择适合自己的地方。只是这一次很多人一致评价,觉得我来了eBay之后更快乐了——这怕是最好的褒奖了吧。

----对于未来R会议的期许-----

我们号称要做“学术会议里面最文艺的,文艺里面最学术的”,那么总要多多的有些有灵性的分析。R语言基础培训可以淡出R会议的舞台了。

此外,力争联系更多的大牛~要有学术会议范儿嘛 ^_^

Categories
事儿关经济

R并行做大数据时间序列分析与bootstrap

好久没写关于经济学的文章了...今天看到两个搞matching的人拿到诺奖,瞬间想起当年和一个学心理学出身的童鞋一起搞的考虑到心理学因素的matching game...可惜最后没有时间完善,就放在那里当雏形了。我们的idea应该还是蛮有新意的呢~matching需要设计机制,然后用博弈来解,哎,很好玩的...

很多人都知道我是不搞时间序列分析的,尤其不喜欢基于时间序列的因果推断(格兰杰因果检验几乎是被我打入黑名单的一个词)。但这次为什么专门写这么一篇blog post呢?其实,我不反对时间序列作预测嘛~而google这篇paper,目的在于预测,又是latex排版的(搞不好还有sweave或者knitr的功劳),读起来赏心悦目的多。

这篇paper题目是:

Large-Scale Parallel Statistical Forecasting Computations in R

地址见:http://research.google.com/pubs/pub37483.html

亮点自然是:大数据计算、map reduce、时间序列分析、bootstrap (所以说google是一家让人尊敬的公司,http://t.cn/zlbAYJY这里总结了他将学术成果悄无声息的服务于大众的案例)。虽说大半夜的,但看到这个东西,再也睡不着了,索性写完一吐为快。(那次沙龙还说到来着,看吧,google早把这些好玩的东西都搞定了,只是不公开拿出来给大家用罢了~)

1. 并行算法

并行算法这里,主要是map reduce。他们的任务主要有:

  • Facilitate parallelism of computations on up to thousands of machines without access to shared NFS filesystems(上千个节点的并行计算,无共享的NFS文件系统).
  • Make distribution of code and required resources as seamless as possible for analysts to minimize code modifications required to enable parallelism.(无缝衔接各环节,减少分析师写并行算法工作量)
  • No setup or pre-installation of R or specific libraries should be required on the machines in the cluster. A virtual machine for the workers should be created dynamically based on the global environment and available libraries of the caller(节点上无需事先安装R,虚拟机会自动按需构建).
  • Return results of parallel computations in list form directly back to the calling interactive session, as with lapply in R.(lapply函数直接返回并行结果)
  • Allow the parallel functions to be used recursively, so that MapReduce workers can in turn spawn additional MapReduces.(并行函数可以循环调用)

系统构架如下:

2013-12-09 16_48_39-37483.pdf - Adobe Reader

然后若干技术细节还包括,搞定R函数复制和计算的环境并行同步,搞定data.frame和list存储格式与在map函数中直接调用。搞定后,基本底层就搭建好了,剩下的就是调用R了。

2.时间序列预测

最典型的就是google trend的预测了...

2013-12-09 16_49_18-37483.pdf - Adobe Reader

这里他们直接用R包googleparallelism,然后希望用一些时序模型都尝试,做预测,然后取他们的均值(剔除上下总计20%)作为估计值以减少误差。示意图如下:

2013-12-09 16_49_35-37483.pdf - Adobe Reader
我只能说,果然是做机器学习的人啊,和random forest思路一致,弱的分类器结合起来,可能有意想不到的结果。同样的,每个模型都是多少有效的话,平均一下就更稳健啦,尤其是在大数据支撑下...

这样的平均之后已经无法直接推导方差和置信区间,所以他们采取了更依赖机器计算的bootstrap方法,直接强行算出来置信区间...喵的,我只能说谁让当年高斯那群天才整出来大数定律和中心极限定理呢?推不出来估量量方差不要紧嘛,直接重抽样模拟就好了...汗。

3.训练集

果然是做机器学习的人,接下来的思路就是直接一期期训练模拟呗。这个没啥说的了,见下图。

2013-12-09 16_49_51-37483.pdf - Adobe Reader

模拟出来的结果示意图:

2013-12-09 16_50_05-37483.pdf - Adobe Reader

至此,整个问题解决完毕。细节还请大家直接去看原文paper。我的几点感触吧:

  • 1. 机器学习之所以在业界这么受欢迎,主要是其确实能够解决问题。迅速、有效,这个是其他方法比不上的。
  • 2. 大数据、大规模计算,使得一些很简单的idea借助模拟和重抽样方法,大放异彩。
  • 3. 预测,有时候不比因果推断次要。
  • 4. 传统模型,需要适应大数据。
  • 5. 说到底,理论体系还是有待完善的。希望这类方法是下一个微积分,可以先用,然后慢慢补充完相应理论体系。这样,我们才知道什么时候,需要勒贝格测度来取代原有牛顿积分。

总之,虽然无奈,但是有用之物必有有用的道理。期待对理论研究的冲击和激发。

 

Categories
读书有感

降维模型若干感悟

前几天集中爆发了一些email,直到最后和Frank兄提起,他说我应该去看一下 Adaptive Lasso,我才终于痛下决心开始看这方面的东西。先说说为啥开始看Lasso。

需求。大数据时代,任务有很多:

  • 理论层面,要有适应大数据的模型。一方面是数据量的增加(表现为个体记录的增长),一方面是数据维度的增加(简单的说就是回归方程右边的变量),让大数据这个任务变得格外艰巨(p.s. 这个不是我总结的,照抄上次ShanghaiR沙龙时候Ming的原话...话说我别的没记住,就这句话深深的印在脑海了,哎~)。
    • 数据量的增加,对应的是大样本理论。这个好玩的有很多,暂且不表。
    • 数据维数的增加,则需要相应的降维模型。你总不能在回归方程右边放入几千个变量,“维数灾难”啊...所以变量选择是个很好玩的话题。
  • 应用层面,一个模型性质再漂亮,你也要能算得出来才行是不是?
    • 首先就是要有个好的算法,比如在「统计学习那些事」中提及的LAR对于Lasso的巨大贡献。
    • 其次,什么分布式计算啊,并行计算啊,都成为热呼呼的实践问题(当然我还是go against那些不管三七二十一、直接软件中调用模型的。任何一个模型的假设和局限性都是应该首先考虑的,要不真不知道预测到哪里去了呢~)。

好吧,好久没用这么多层级了。只是昨天稍稍理了理思路,顺便写在这里,算作「感悟一」。

然后,说到底统计学还是为其他学科服务的(好吧,我是想说数据不是无源之水,总归有自己的背景,总归有在这个背景领域的人希望借助数据来解决的问题)。那么作为一种empirical method,统计模型关心的是什么呢?在被计量经济学熏陶外加祸害了若干年后,发现它本质还是为了经济学研究的一些目的服务的,所以关注的更多是consistency,大家张口闭口就是“变量外生性”...而这多少有些直觉+经验判断的东西。显然,统计模型不仅仅是计量经济学,昨天看「The Elements of Statistical Learning: Data Mining, Inference, and Prediction」,大致的关于统计模型关心的判断标准的「感悟二」总结在这里:

  • consistency:这个还是逃不掉的,一致性在大样本下虽然比小样本的无偏要求来的弱得多(plim毕竟比期望算子好“操作”一些)。其实有一段时间我一直很抵触把计量经济学里面的causality叫做因果关系,学习计量模型的过程基本就是保证估计一致性的推导过程...想说的只是,真正的因果关系不是统计学就可以定义的,还是要回到学科本身。consistency更多包含着“internal validity”的味道,即一个结果可以期望在样本本身内重复实现。个人感觉,从经济学理论与实证研究的角度,这大概是计量经济学能达到的最多的程度了吧。再苛刻的因果真的就是经济理论本身的问题了。
  • accuracy: 统计还有一大任务,做预测。我们都知道OLS有的时候可以很简单的给出一个consistent的估计量,但是仅仅是均值意义上的估计还是不够的,对你还得给出个方差。这个方差就刻画了你的估计值是不是飘来飘去。我们当然希望一个方差比较小的估计量,所以大多数时候OLS是不能满足这样的要求的(顺便复习一下BLUE的那些条件)。
  • implementable: 有的时候我们可以用现有的数据、花费大量的时间,来拟合一个漂亮的模型。但是,模型不是放在那里就可以的,在实际应用中大家更关心的是,模型建立之后对于日后决策的指导作用。可能1000个自变量拟合出来的模型比20个好10%到20%,但是在实际应用中,20个变量显然更实用...同理,有些非线性模型漂亮的一塌糊涂,但是计算复杂度可能远远不是多项式级别的。这个时候,退而求其次也不失为一记良策。说到底,有的时候并不要求最完美的模型,总要在性能和效率之间取得一个平衡。
  • 当然说到prediction,这里更多的就有statistical learning的味道了。回归多少还算是supervised learning,至少脑海里大致有个印象什么是回归方程那一边的y。更多的时候,连y是什么都没有概念,所以就有了基于similarity的模型,比如clustering,比如协同过滤...不过有句话确实说的好(摘抄自「统计学习那些事」):

立新老师曾经有这么一句话:“If a method works well in practice, there must be some theoretical reasons for its success.” 如果一个模型在实践中表现的很好,那么一定有它好的原因。

所以基于上述三点(当然还有可能有更多的考虑),不同的模型对于不同的标准有着不同的达标水平。大家各有所长,用哪个还真得看实际任务的需求了。

「感悟三」,则是statistical learning (统计学习,有点机器学习的味道)的任务,这个是从「The Elements of Statistical Learning: Data Mining, Inference, and Prediction」上照抄的:

  • 预测准确性要高:和上面的accuracy对应。
  • 发现有价值的预测变量:更有可能从归纳法回溯到演绎法,给出更多的insights。

最后的,稍稍偏数学一点。「The Elements of Statistical Learning: Data Mining, Inference, and Prediction」里面第三章讲了很多Shrinkage Methods,关心的是varible selection(生物统计中feature selection)的问题。从大家最耳熟能详的stepwise(逐步回归),到ridge regression(岭回归),再到Lasso(或者把LAR也算进来)。基本说来,ridge和Lasso是在OLS基础上一个很有意思的变化。

  • OLS求解的最优化问题是:
  • ridge regression则是加了一个L2惩罚项,即 ,其中t是一个给定常数参数。
  • Lasso则是把这个L2变成了L1,即

就这么一个简简单单的变化,就有了后面那么多神奇的性质。「感悟四」就是,原来Lasso思想并不是那么复杂啊。

Categories
互联网产业观察 经济、IT观察与思考

[RAAT]第一话:微博的数据该怎么玩呢?

引言(即废话):每当要准备presentation的时候,就会开始想一些问题。去年写的是【社会实验的特殊性】,然后有一系列的文字和最终的slides。现在,想多少从自己这大半年的工作经历出发,写一系列文章,就叫做 R as an analytical tool吧,简称RAAT。第一话,从微博入手好了;第二话,将由Joke童鞋过年时候问的一个问题引出;第三话,会是更偏向流程和实践的东西。这些我会一点点写,也可能有所改变,看到时候具体的想法了。

新浪微博也火了这么久了,但是对于吾等数据源控来说,这等数据简直不能被暴殄天物啊。怎么用来分析为好呢?

links类数据

微博有两大类links:

  • 粉丝关系
  • 评论与转发关系

然后呢然后呢?

首先很多人感兴趣的是信息传递吧?那么决定信息传递的就是,第一呢,每个用户的信息源(主要来自于他关注的其他微博用户);第二呢,他关注的人的发布及转发行为。用粉丝关系来计算影响力(influential rank)自然是没有问题,但是多少有点损失的感觉——我们总关心一个人在接受信息之后的response是不是?所以,一个简单可行的思路是,这里不妨用其转发行为来加权,判断每个他关注的用户对于他的影响程度的不同~如是,则每个有向的link上就附加了一个权重,成为了一个加权的有向图。

嗯,这样一个基本的网络模型就构建好了。然后呢?链路预测?等等,我们关注并分析微博数据是为了什么呢?到底构建什么样的指标是合理的呢?

如果你想扩大自己的影响力...

好吧,在下作为一个老字号(落园居然被我坚持写到第6个年头了,这是一种什么精神啊~)blogger,自然可能希望多少扩大一下影响力。落园是落园,blog对我来说有它自己特殊的意义(比如发泄,呃),但是我的新浪微博就沦落为一个落园的notifier了(这个特别的理由就不在这里公开说了,私底下聊)。如是,那么应该怎么办呢?

正常的话,经营一个微博,怎么判断自己是不是越来越受欢迎了呢?显然,简简单单一个“粉丝数”还是不够的,用“转发数”为每个粉丝关系加权也还是不够的,我还得关注一下我的“粉丝”们都是一些什么样的人。比如,他们有几千+的粉丝,还会转发我的东西,那么我的影响力就~哈哈。简单的说,一个衡量指标可以是:我的微博可能会被多少人看到呢?那么,我只要算一下我的粉丝和他们转发的可能性,然后再算他们的粉丝转发他们微博的可能性,以此类推,我就通过了“粉丝”这类link成功的影响到了更多的人。从这个角度而言,这比直接的“粉丝数”或者“转发次数”更能衡量一个微博的影响力。

当然,类似的指标还可以构建很多,比如对response进行加权。看具体目的了。我的微博算个特例,因为它有一个特殊性:不转发任何其他微博(机器人自然要符合自己的身份嘛),所以我关注的指标相对单一——我是比较关注“信息能传递到的人”,而不是特别关心他们的response程度(话说最近关评论了,直接刺激大家转发啊,故需要另当别论了)。如果是商业经营一个微博,那么在内容的选择上或许就要更加迎合各自群体的口味,具体的是否可以用Bayesian规则来算算被转发概率呢(不断的update概率)?

如果你是想提供一个互动渠道……

微博被很多企业作为新兴的接触客户的渠道(沟通成本低嘛),所以很多企业可能希望建立一个帐号来更多的获取用户的信息。比如会员制的商家,可以通过找寻自己会员的微博号,来得知他们最近的偏好,然后推荐相应的产品。电商也可以进一步的做一些销售活动,比如我的京东帐号和微博帐号绑定之后,是不是就可以直接留言给京东下单了呢?就像我打个电话似的那么方便。要是他搞什么团购之类的,我也可以直接在微博上买而不是跳转到京东复杂的页面上去,那该多好啊。

对于这样的目的,首要的任务就是找寻自己的用户群,然后建立他们微博帐号和会员帐号之间的关联。除了直接的搜索关键词之外,初期还可以利用社交网络的力量,比如洲际和喜达屋集团都在做一些转发抽奖的活动,让已经关注他们的微博用户来扩散到他们的朋友(所谓物以类聚嘛,自然更有可能也是酒店常客),这样一来就已经实现了用户的识别。然后,怎么引诱这群会员是这些商家的长项,各种美图诱惑之下,让人经常在屋子里面各种坐不住(比如我...)。如果这些用户发一些信息,比如“下周飞北京”,那么这些商家大可以直接找到这些用户施以小惠然后成功的从对手那里抢的客户(先发制人啊)……反正至少我认识的玩酒店常客计划的人,都没有只专心的玩一家的。

跟R啥关系?

说了这么多,我们有了一些基本的建模思路。比如希望借助微博扩大影响力,那么最直接的办法:去找粉丝多的微博来转发自己的内容。很多微博都有一个不太公开的转发价格,如果你相信市场是无摩擦的、处于均衡的,自然可以认为价格反映了其影响范围的大小。但是,首先市场就不是一个静态的,难免在动态潮流的波动下偏离均衡;再说怎么可能无摩擦呢,信息不对称总是到处存在的。因此,为了实现现有资金(或其他资源)的集约化投入,往往需要做到的就是“找到对目标群体影响力最大的微博”。

还是用那句俗话,“物以类聚,人以群分”,很多大众微博的粉丝关系并不是从天而降的。这些微博发布的内容往往偏重某一个侧面,如科学松鼠会往往会发布科普类知识,主动follow松鼠会的粉丝可能也就有着更高的教育背景和辨知能力。换言之,不同微博的粉丝往往有着不同的群体背景。为了识别这些形形色色的圈子,我们可以先利用微博的粉丝关系,建立起来一个网络图(更可利用转发情况来建立加权的有向网络)。这在R中可以利用SNA等package完成,或者Gephi之类的更专一的network analysis software。然后在此基础上,分析若干帐户发布的微博关键词(会用到一些text mining技术,其R中的实现可以参见思喆大哥的这篇指导:http://www.bjt.name/2012/03/text-mining-in-r/),然后找到一个或者若干个符合目标群体特征的微博帐户,在此基础上按照links顺藤摸瓜、获取更多相关的帐户。一切的影响力之类都可归结于一个数学上的distance的measure问题(think about real analysis...),而加权网络中计算这些并不困难(也可以加入随机的扰动项进行多次模拟得出结果)。最后,自然可以计算哪些微博帐号的转发会对某些目标群体产生极大的影响——不仅仅是定量计算,更可以进一步归结于一个有约束的最优化问题。一旦一个问题成为数学问题,在R中无论是模拟还是求解都不是难事。最后结论会告知,哪些微博是应该去争取转发的(无论是通过金钱还是内容本身的意义去说服)。

类似的思路,能做的事情还有很多。譬如,哪怕是作为一个个体用户,我只关心某些事情发展的潮流(比如那些会影响股市的情绪),利用R也可以在浩瀚的微博信息中更准确的找出我应该关注的信息源(可能不是全部,或者出于实时性要求无法做到全量检测),即排除噪音,然后这些信息源所提供的信息便有可能给我一些方向上的指导,而不是盲从大众媒体的言论。

利用微博作为新兴交互渠道的办法就更多了,背后依赖的数据分析知识也会相应有所调整。R作为一个开源、免费的工具,其已经提供的众多packages可以迅速的帮分析人员实现相应的想法,而不是把大量的时间用于无休止的编程以开发相应工具。这样,R便可以在一个想法探索阶段找到相应的数据支撑和信息。有了想法、去实现之后,很多时候还需要评估效果(这里可以参见去年写的关于社会实验的东西:演讲幻灯片),这方面简单的计量工具更是可以在R中迅速实现、并可以轻易实现可重复的评估和报告(简单的分析模型和结果重复可以利用已有的脚本,偏正式的报告可以借助当年的Sweave和进化版如knitr)。

总而言之,我一直觉得数据分析考察的是分析人员本身的统计知识、业务知识和具体学科知识的积累,以及一些对于数据的敏锐直觉,而不是编程能力。若有想法便有其他人可以帮忙实现自然好,但是有时候一味的借助他人往往存在着时滞,一闪而过的很多想法便成了过眼烟云。不是我不提倡团队合作,只是找到这么一个完美团队的成本实在是太高,更多的时候还是不得不自己做很多事情。团队的合作程度在现实中往往会有所降低,分工模式也会更加的偏向项目执行流程(比如分析->成熟模型->自动化系统),而不是在分析阶段就完全的实现了各展所长(那样对每个成员的要求可能都太高了~)。在效率和效果兼顾的现实情况中,R的贡献自然轻易的凸显。我想这也是这两年R越来越热的趋势背后的推动原因吧。Labor division problem with constraints 🙂 分工最优化的必然结果。

------remaining challenges ------
当然,有一个回避不了的问题就是大数据量……R现在面对大数据依旧有些吃力,而network的数据往往又是一个N*N维的(N为个体数量),更加大了对于空间计算量的需求。这方面,解决思路一方面是把线性的计算分块化、分批跑;对于非线性的计算,更多的则可能是先抽取一个小样本,然后确定一个或几个模型,最后利用其它高性能计算工具来实现最终在整个大数据集上面的运行。

Categories
事儿关经济 互联网产业观察

大数据的潮流?

一边是流浪的心,一边也是在思考一些现实中的问题。还是感谢昨天那位朋友耐心的跟我扯了一下午,说到了一个很有意思的话题,“我们为什么需要海量数据”?或者说, why and how does big data make a difference?

当时说的统计/计量分析的应用很简单,无非是做一些销量、价格弹性和资源投放的预测与优化罢了,典型的咨询业务。然后我就好奇的问了一句数据源,无非是nielsen或者iresearch的市场调查数据之类的,或者厂商自己的一些销量和价格数据。这些数据往往被aggregate到一定的程度,所以一般都是long panel(T>N),以城市为单位之类的。

这样的数据量,肯定没法跟互联网或者电商的individual records相比。百万或许都是小数目。当然咯,我们多少也会把这些原始数据做一个aggregate,比如以每人每日为单位(当然单位的选择取决于具体项目的关注点),但是大多数还是wide panel,N>>T。这两种panel data的(计量)模型显然就不一样了。一个会更多的沿袭time series的分析路子,什么auto-regression、unit root之类的;另外一个要沿袭的更多是cross-section的方法,关注大量个体的特性。

对计量的一个争议就是 ATE (average treatment effect),尤其是做data mining的那些人。明明individuals之间千差万别,计量怎么可以这么简单的取个平均呢?不过一个辩护就是,关注的问题太不同了!data mining很多时候关注的是针对每个个体选择适当的信息传递,而计量模型背后往往跟随的是一个统一的strategy or policy making。毕竟政策不可能太细化到每个人身上,针对这一点我现在越来越认同某个计量学家对于consistency的评价了:

(大意)我喜欢计量经济学,正是因为他对于政策制定的强力支撑。

况且,还有quantile regression可以做一个完整的系数分布估计呢!加之各种bayesian方法的引入……计量变得越来越宽容和好玩了。

最近思喆大哥发了一句感慨

要会技术(统计、机器学习、可视化、最优化),要懂市场(营销,产品,客户行为,渠道),要懂沟通(同事协同,上级汇报,对外呈现),工具要熟练(SQL、Excel、SAS、ppt),公司战略还要懂点,没准还要带团队,要懂管理……。OMG,我在说什么,不是MBA,是数据挖掘专家

可见现在一个资深的数据分析专家活得多么艰辛(题外话,我等consultant活得也格外艰辛啊,这些加上无穷无尽的出差 -_-|| ),而我后面跟的一句是“市场发展不成熟,分工不明确,相关领域人才太少的恶果”。没办法,只做模型和分析远远不够啊,太少人可以看懂并完美应用了,所以搞分析的不得不自己卷起袖子上阵,即当爹又当妈……

那么说到底,为什么现在big data这么火?为什么 quantitative analysts 对数据源这么 obsessing 呢?我的理解是,

1. 大数据可以很容易的aggregate到适当的level,从而灵活适应不同分析目的需求。而已经整理好的数据则无法逆向变通(既实话又废话)。
2. 大数据使得很多大样本的性质可以直接应用,需要依赖的模型假设大大放松,从而模型的选择可以更多的贴近分析目标而不是过多考虑数据本身的性质。
3. 大数据可以进行data mining(又废话了),从而不仅仅服务于单一的policy making,还可以实现定点、极端个性化的信息投递。说白了,就是既可以分析群体特性,又可以兼顾个人特质,像大海一样宽广的胸怀包容着不同分析的目的。
4. 大数据往往是第一手数据,格式整齐(要不搜集成本过高也没法搜集)、数据真实、定义明确,很容易进行data cleaning(一个反例:跟统计年鉴打过交道的童鞋们应该知道那东西有多么混乱,统计口径什么的千差万别,数据来源也未必可信)。这样的数据只要简单的编程处理就可以了,把研究人员从搜集数据的辛苦低层次劳动中解脱出来。
5. 大数据往往包含着传统数据源所无法提供的信息,比如GPS数据可以直接用于跟踪个体的行动路线。这意味着统计分析的结果可能可以被更加灵活的应用(idea -> result -> implementation)。关于这一点,Frank曾经发给我一个很好的summary,说的是大数据为发展(经济学)带来的新机遇:http://www.weforum.org/reports/big-data-big-impact-new-possibilities-international-development
6. 最后一点比较自私的,social network的数据往往都是大数据(得有links嘛),所以既然我的研究兴趣在那里,自然会更多的关注大数据。

那么,大数据的对于分析人员挑战在哪里呢?
1. 从噪音中找到有用的信息: 正如前面所说,大数据包含了太多个体的信息,所以有时候很难找到一个简单的总体指标。如何从噪音中挖掘有用的信息,对于统计分析专家的思路清晰要求度非常之高(Frank兄曾经对此做过一些简单的批判,业界的一些报告有时候无奈的直接把数据aggregate了,丢失了部分有用信息)。而我总觉得,对数据背景一定要有所了解才可以,不能是简单的大海捞针,还是要有直觉指引方向的。(只针对业界数据,制药行业之类的实验数据我没接触过,没有感觉~)
2. 大数据对于建模者的学术训练背景要求更高: econometrics, data mining等等统计分析方法,及其结合,往往意味着分析者需要有着良好的数据直觉。而这一切,往往离不开一个solid的学术训练背景。最简单的,如果不会C或者python之类的编程,不会R之类的统计软件,那对于大数据往往就在data cleaning阶段就束手无策了。而传统的数据集,我知道很多人就是excel手动做数据清理,然后扔到stata之类的软件中调用相关的命令(或者可以称之为函数)就可以了。大数据分析的门槛在提高。
3. 数据敏感性和隐私: 大数据往往来源于个体,这也就意味着data access往往被控制的很严,不可能向所有研究者开放。那么,研究者往往只能接触一个领域、一个公司的数据,而无法是非常全面的行业数据(比如,通信数据你要么有移动的,要么有联通的,不太可能移动联通的同时都给你)。这也多少造成了分析只能从一边入手(依赖双方数据的,比如game theory的实证分析,可能会有些困难)。

暂时先想到这些,或许日后还会补充吧,欢迎各种批判(我只是小小的井底观天而已,加上各种眼高手低、站着说话不腰疼)。其实有的时候,想想自己明明是 more into theories than empiric,但是也就被各种“拉上贼船”下不来了。至少我还是坚信,更难积累的是analytical sense而不是skills,后者更依赖时间而前者多少对天赋还是有些要求的吧。虽然也说,很多时候还轮不到拼天赋……

(p.s. 发现新版WP的全屏编辑模式很好用啊,很简洁明了令人可以专注写作!)