网络机器人吧社区

扣小米:机器学习、大数据与经济学研究

ECO中文网 2018-12-05 13:14:48

机器学习和大数据是当前一个很热的话题,在经济学中也不例外。

那么这些新的技术会对经济学研究产生何种影响?

经济学大牛 Varian 已经写论文讨论过这一话题:

Varian, 2014, Big data: New tricks for econometrics

这里有一篇中文的介绍:

【香樟论坛】大数据:计量经济学的新技巧

http://mp.weixin.qq.com/s?__biz=MzAwMTExMTI1Nw==&mid=209058081&idx=1&sn=ae20120c83cfabda72cc058306b10a0c&scene=5#rd


其实这篇介绍的挺详细。但如果我全都照搬过来,岂不是很没有创造性?所以我决定重新写一篇。。。


论文作者是范里安(Hal Varian),学过经济学的应该都知道这位大名鼎鼎的美国经济学家,著有经济学教材《微观经济学:现代观点》,就算没读过应该也听说过。他现在已经从加州大学伯克利分校退休,现任 Google 首席经济学家,参与设计了 Google 广告关键词拍卖系统等项目。
范里安为 Google 设计的「AdWords Select」系统背后的经济学原理是怎样的? - 谷歌 (Google)
首席经济学家范里安:谷歌摇钱树 -- 经济金融网 -- 传送门

看看他在这篇论文脚注中的作者介绍,感觉还是挺酷的:

Hal Varian is Chief Economist, Google Inc., Mountain View, California, and Emeritus Professor of Economics, University of California, Berkeley, California.


不知道是不是受到 Google 程序员们的影响,范里安现在对机器学习和大数据很感兴趣。

范里安认为,计算机技术现在已经深入到经济学研究中。传统的统计和计量方法,比如回归分析,当然是不错的研究方法,但如今数据量越来越大,而正好符合研究要求的数据已然有限,同时大数据量让变量之间的关系变得更加灵活,传统计量中的线性以及大多非线性模型可能都无法满足这一要求,所以经济学家需要寻找新的研究方法。范里安认为,机器学习理论中的决策树(decision trees),support vector machines,深度学习(deep lerning)等技术,可以更加有效率的处理复杂的关系。


所以,他在文中的思路可以简单总结为:

- 经济学要与数据打交道,传统分析用的是样本等小数据

- 随着经济交流的日益频繁和技术水平的提高,数据越来越大,大数据出现

- 传统经济学分析方法在分析大数据时显得捉襟见肘

- 我们需要新的分析方法

- 机器学习技术可以在这方面帮助我们



这篇文章开始给读者介绍了一些处理数据的方法和软件,以及大型 IT 公司的处理方法,这还是挺有用的。比如在处理百万条的大型数据时需要用到 SQL,数据清理可以用 OpenRefine 和 DataWrangler。

不过计量经济学和机器学习当然是有区别的,作者认为:

Data analysis in statistics and econometrics can be broken down into four categories: 1) prediction, 2) summarization, 3) estimation, and 4) hypothesis testing. Machine learning is concerned primarily with prediction.
[...]
Machine learning specialists are often primarily concerned with developing high-performance computer systems that can provide useful predictions in the presence of challenging computational constraints.
[...]
Data science, a somewhat newer term, is concerned with both prediction and summarization, but also with data manipulation, visualization, and other similar tasks.


计量和统计学主要关注四个方面:预测、总结、估计和假设检验。机器学习主要关注预测。数据科学侧重预测和总结,也涉及数据处理、可视化等。


计量经济学关注因果关系,会遇到内生性等问题,而机器学习则会遇到“过度拟合”(overfitting)的困扰,但机器学习可以关注到计量和统计中样本以外的数据。

那么机器学习如何运用到经济学中呢?作者举了几个例子。

一个是分类和回归树分析(Classification and regression trees,简称CART),这一方法适用于分析一件事情是否发生以及发生概率的时候,即被解释变量是0或1。计量上通常用 logit 或 probit 回归。

范里安这里用的是例子是泰坦尼克号沉船事件中不同人群的死亡概率。作者用机器学习理论中的 CART 方法(R 软件中有这个包 rpart),把船上的乘客按照舱位等级和年龄进行分类。



这是树模型(Tree model)的分类,舱位分一、二、三等,一等最好,三等最差。然后做成树型的样式:



最上面一层把乘客按照舱位分开,左边是三等舱,右边是一等和二等。三等舱(很有可能穷人居多)死亡概率较高,501个人中有370个遇难。接下来把右边一等和二等的乘客按照年龄分类,左边是大于等于16岁的,右边是小于16岁的儿童。先看儿童,这类人群的幸存概率很高,36个人中有34个都活下来了。左边把年龄16岁及以上的人又分为两类,左边的二等舱和右边的一等舱。二等舱233人中有145人遇难,一等舱276个成年人中174人幸存下来。我算了一下,四类人从左到右的幸存概率分别是26%、37%、63%和94%。所以在泰坦尼克沉船时,儿童和一等舱的人容易活下来

接下来重点关注一下乘客的年龄分布,下图是各年龄段的幸存概率以及置信区间:


从图中可以看出,10岁所有的儿童和60岁左右的人幸存概率更高


同时,作者又用传统的计量方法 logit 模型回归了一下,解释变量是年龄,被解释变量是幸存(1)。结果如下:


年龄(age)与幸存为显著的负相关,即年龄越小越可能在沉船时活下来,但是系数太小,影响很弱。总结这两种方法作者认为,是否幸存并不取决于年龄,而是乘客是否是儿童或者60岁左右的人,这一点在回归分析中无法反映出来


类似的机器学习的方法还有一个叫conditional inference tree,这里同样是运用泰坦尼克的数据制作的图:



这幅图把乘客进行了更加细化的分类,添加了性别(sex)一项。pclass 是舱位登记,age 年龄,sibsp 为船上兄弟姐妹和配偶的数量。最下面的刻度中黑色是这一人群的幸存比例。可以得出的结论是妇女和儿童的幸存率最高。(这是因为在沉船的时候大家大喊“让小孩和女人先走”吗。。?)

上面这个例子比较简单,但也足够明了,我认为它比较清楚的解释了机器学习和计量的差别:机器学习更加关注相关性和预测,所以得出的结论是某个年龄段的人群幸存率更高。而计量更加关注因果关系,根据上面的 logit 模型,很难说是年龄导致了幸存,很明显还有很多其他变量没有被考虑进去,比如个人体质等等,或许年龄根本就不是计量经济学家在这里主要考察的变量。而且如果加入交叉项也许会有新的结论。所以简单的说就是模型设定的问题。具体哪种方法更好,还要看具体研究的问题是什么。

此外,作者还举了其他机器学习的例子,如 boosting, bagging, bootstrap, bayes,这里就不详细说了。文中的几个例子挺值得一看,可以了解一下机器学习的基本方法。比如利用机器学习研究一家公司投放广告是否有效,传统的计量方法是需要设计实验,设立处理组和对照组,但成本较高。


范里安认为过去几十年计算机科学家与统计学家已经进行了许多卓有成效的合作,他对机器学习在经济学,特别是计量经济学和统计学的应用十分看好,所以范里安给经济学专业的学生一条建议:

[…] my standard advice to graduate students these days is “go to the computer science department and take a class in machine learning.


“学经济学的都去计算机系修一下机器学习的课程吧!”


范里安一方面是传统意义上的经济学家,另一方面由于在 Google 工作的经历,使得他对机器学习技术有了更深的了解,他的观点值得一看。

当然,这也只是他的一家之言,毕竟机器学习和计量经济学在方法、目的上都有较大差别,机器学习是否会真的大范围进入到经济学领域还很难说。不过,计算机技术越来越多的被运用到经济学研究当中已经是不争的事实,而且也是趋势,现在如果不懂点编程技术(至少是计量软件),很难在经济学这个行当走的更远。虽然现在有不少功成名就的经济学家和教授在写代码方面并不精通,但每个时代对人们的要求都有不同,当年计算机技术还没有普及,而他们接受的教育实际上已经比之前的人有了长足进步。我想,今天这个时代对经济学研究者的要求之一就是掌握一定的编程技术吧,虽然不用达到写应用程序那个等级,但也得有较高的搜集数据和处理数据的能力。

所以,如果你只是打算学完经济学就去公司当白领,那么写代码技术可能不是必需的,反而用好word, excel, powerpoint 可能更有用(IT、金融等对写代码有一定要求的行业或岗位除外)。但假如想在学术圈待下去并且有所建树,那么从长远考虑,现在就赶紧去学点编程技术,提高自己的数据处理能力吧。

现在网上这类资源很多,比如coursera上John Hopkins大学很有名的数据科学的课程
coursera.org/specializa
大部分都带中文字幕

我自己也在听这个公开课。另外我也会在YouTube找一些数据处理的课程,YouTube 在这方面的优点是资源很丰富(中国的视频网站在这方面的资源太匮乏),基本上只要你能想到的软件教程都会有。缺点是质量参差不齐,而且有些视频不完整,有的视频发布者更新一段时间就停止了。相比而言,coursera 的质量和完整度都要更胜一筹。所以 coursare 和 YouTube 结合起来还是不错的。


其他参考资料:
计量经济学、时间序列分析和机器学习三者有什么区别与联系? - 经济学


著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:扣小米
链接:http://zhuanlan.zhihu.com/koukou/20412144
来源:知乎



Copyright © 网络机器人吧社区@2017