今天这篇正好借花献佛,来和大家从解释和预测两个角度来和大家简单讲讲机器学习和传统计量方法之间的取舍利弊问题。
说实话要完整比较机器学习方法和计量经济学传统方法其实是比较困难的事情,以下的答案主要是基于哈佛大学的Mullainathan和Spiess的17年的发表论文,抛砖引玉来看看以下几个问题:
PS:如果想要直接看关于问题本身的答案也可以直接看第三段。另外nova avon也在其答案中提到这这篇文章。
据说机器学习长于预测,计量经济学长于解释。有什么具体例子是机器学习完成了很好的预测却在解释上表现不好? - nova avon的回答 - 知乎 https://www.zhihu.com/question/295518759/answer/499199165
传统的计量方法着重于用简单的结构式子通过对于参数 的估计,来刻画 和 之间的关系。比如:
而机器学习的方法则是侧重于把 看成是一个关于 的复杂函数 ,这个函数的具体样子我们人类不可能直接得知,所以需要通过计算机的算法进行学习并且猜测。
正因为机器学习并不对数据形成的结构直接进行假设,所以机器学习中并没有一个像传统计量方法中 这样的参数。例如我们如果在上面的式子里面有:
是产出, 是资本投入, 是人力投入的话,那么实际上 和 分别具有其经济学意义,对应的是资本和人力投入的弹性值。
机器学习则不然,虽然我们也会估计一些和学习以及算法相关的参数(后面会提到),但是因为脱离了模型的假设这些参数几乎不会具备“经济学意义”,机器学习的目的本身更侧重于给出一个 的最好的表达形式。在机器学习中 的形式不再由经济模型/统计模型本身给出,是一个“黑盒子”。
这样就注定了机器学习和传统计量的本质差别,传统计量方法注重的是结果对于经济学现象的解释力,而机器学习方法注重的是用 给出 的最好的预测。
所以如果我们把数据分成2个样本,通过一个样本的回归估计(以及机器学习)结果来预测另一个样本的值的话,通常机器学习会给出更好的预测结果。
机器学习的原理是我想要用 来预测 。例如我们看到一张图片所有的像素信息 ,我们需要预测这张图片是不是一张包含人脸的图片 ,或者说到底是谁的脸。再比我们看到所有人的基因序列 ,希望从基因序列中检测出某人患癌症的可能性 。
往往在机器学习的例子中 的维度可以非常大,我们观测到的数据量也会非常大,这就是我们常说的大数据。
当我们 的维度非常大的时候,假定数据生成结构的线性模型往往会变得爱莫能助。因为如下原因:
机器学习的原理我们以随机森林为例,原理是把 的预测看成是一棵树的末梢,我们从树的底端开始,每次加入一个条件( 中的某一个变量),就好像多了一次分叉,而树的末梢就是我们对于 的预测值。很显然,在这种情况下 的预测,包含了 中各种变量的交互作用,同时也带来了以下的问题:过度拟合。
想象一个情景如果我们要让模型预测达到100%精确,一个很直观的办法是把所有的数据都看成唯一的从树底通向树梢的路径,这样的话100个数据就对应了100条路,每条路都有一个末端。
我们的预测达到100%,然而我们也称这种现象是过度拟合,因为它只对你用于拟合的样本有效,一旦样本变化这样的模型可能预测力就为0。
过度拟合的本质是因为我们对模型分类分得太细,把每一个个体都看成是独一无二的。分类过细代表着你放弃了对数据进行经验规律的总结,所以如果这时候看到一个新的数据,你将无法使用任何过去的经验来对新的数据进行判断,因为它也是“独一无二”的。
所以为了避免过度拟合的问题,我们在机器学习的时候,提出了两个关键的概念:
事实上计量经济学对于机器学习的作用可以说是显而易见,比如说从我们上一段讲到的两个例子来说,优秀的大数据分析师,比如在机器学习的时候考虑到以下两类问题:样本分类和规制强度的问题。
从样本分类角度来看,如何合理地分配学习样本和测试样本,使得两个样本之间不存在选择偏差,需要计量经济学的基础。同时如何构建输入变量,也是一个很重要的问题。
因为与线性回归模型不同的是线性模型对变量进行线性回归不会影响到模型的预测,但是机器学习中因为是非线性的拟合,采用变量本身还是变换过的变量(比如说对数变换),都会影响到模型最后拟合的好坏和预测的准确度。而对于变量的构建,需要对数据背后的经济学现象的深刻理解。
从规制强度的角度来看,如何选择树的分叉树木,也是很重要的问题,我们是比较 还是做交叉验证?利用测试样本来协调规制的强度,这在机器学习当中也叫实证调整empirical tuning。然而我们在得到模型结果的时候也会有许多其他的疑问,例如模型的意义究竟是什么?
因为相比线性回归,在大多数情况下机器学习虽然估计拟合参数,却并不能给出预测结果的置信区间。在有些机器学习算法(例如LASSO算法)中,我们也可以知道某一个变量对于结果的权重,但是这个权重我们也没有办法去做假设检验。
这样的问题当我们综合几种学习方法一起来考虑的时候尤为明显。比如说方法A和方法B都可以给出相似的预测力,但是在方法A中我们舍弃的变量,可能在方法B当中被使用。相反在方法B中舍弃的变量,在方法A中可能也会被使用。另一些时候样本的选择和分类,也会影响到究竟哪些变量被使用,哪些变量没有被使用。
在预测能力相仿的情况下究竟哪个学习模型更好,就需要用到经济学的知识去加以阐述和分析,例如我们通常知道,如果观测到的数据里面拥有和性别有关的信息的时候,往往这样的变量反应的是“性别歧视”是否会对输出变量产生作用。所有的分析结果一旦脱离了人的主观判断,机器学习只是机械地告诉你拟合结果罢了。
所以一旦明白了这些,实际上机器学习和传统的计量方法事实上并不是一个竞争的关系,而是互补的关系。一旦明白了这种关系的本质,事实上我们可以把机器学习看成是一个强大的新型计量工具,来帮助我们理解和解决实证中存在的许许多多问题。
惟天地,万物父母,惟人,万物之灵。事实上解决问题的方法的使用取决于我们关心的问题本身。我们是关心一个问题的解释的经济学含义,还是关心的是一个预测的问题,我们有什么样的数据,有多少变量,对于数据和变量背后原理的理解。都会左右到最后我们对于问题的回答的好坏。
例如机器学习的一个很强大的好处是在机器学习中,输出和输入变量几乎可以是任意类别的数据。可以是传统的经济学的输出变量,类似于工资,就业选择,财富数量,也可以是传统线性回归模型无法真正涵盖的语言,声音,图片都数据化的变量。面对许多新型的可获取的数据类型,机器学习无疑拓宽了我们对于数据处理和分析的可能性。
而传统的计量方法的优势也不言而喻,立足于假设的模型建立起的数据分析,完完全全符合“Less is more”的简约主义核心价值。不仅如此,传统计量方法在因果推断上的优势以及发展也是机器学习无法企及的。例如通过严谨的回归研究,我们可以回答文凭是否导致了工资的变化。而通过机器学习,可能在某一个特殊的学习样本中,文凭根本不会起到任何作用,而在另一个模式下,文凭又起到了决定性的作用。同时两个模型对于工资的预测可能完全相同。