财新传媒
《比较》 > 前沿 > 正文

经济学家应该了解的机器学习方法

来源于 《比较》 2022年第2期 出版日期 2022年04月01日
文|苏珊·阿西 吉多·因本斯

3.针对回归问题的监督学习方法

  机器学习与计量经济学文献都涉及的一个典型问题是,在给定一组协变量或特征之后,估算一个标量结果的条件均值。若以Yi代表单元i的结果,Xi代表协变量或特征变量有K个成分的矢量。则条件预期值为:

  与传统的计量经济学教科书相比(如Greene,2000,Angrist and Pischke,2008;Wooldridge,2010),机器学习文献有某些概念区别(可参阅Mullainathan and Spiess,2017)。在机器学习研究考虑的情形下,往往有大量的协变量,有时甚至超出样本中的单元数量。机器学习文献并不假设给定协变量的结果的条件分布遵从特定的参数模型。每个协变量的条件期望(在线性回归模型中对应着参数)的导数未必是重点所在,重点其实在于样本外预测及其准确性。此外,相比经济学研究的许多应用场景,机器学习文献中每个协变量的条件期望呈单调变化也不那么重要。机器学习文献通常更关注的是,条件期望或许是极端的非单调函数,存在某些有重要意义的高阶的相互作用。

  关于条件期望估计的计量经济学研究文献非常多。估计g(·)的参数模型经常采用最小二乘法。自比伦斯(Bierens,1987)以来,在需要更多灵活性的时候,核回归方法已成为流行的替代方法,序列方法或筛法也被广泛采用(有关综述可参见Chen,2007)。这些方法有充分的大样本特性,允许构建置信区间。但在高维协变量的情形下,简单的非负值核回归方法被认为表现很差,有阶数达到Op(N-1/K)的差异g^(x)-g(x)。这一比率的改进可以利用更高阶的核回归,并假设存在g(·)的许多导数。然而对高维协变量的实际操作结果表明这些方法并不理想,核回归在计量经济学的应用通常也限于处理低维场景。

  核回归等传统方法与随机森林等现代方法的表现差异,在有着大量关系不大的协变量的稀疏场景下尤其突出。随机森林方法能够有效应对稀疏性,忽略大量的无关特征,而采用传统核回归方法会因为这些协变量而浪费大量自由度。虽然核回归方法在处理无关协变量时有可能调整适合协变量的特定带宽,但在实践中这方面的尝试很少见。第二个问题是,现代方法尤其擅长发现严重的非线性和高阶的相互作用。但此类方法在高阶相互作用场景中的成功应用案例,不能让我们忽略在许多经济数据中高阶相互作用的重要性。例如在预测个人收入时,我们会预期回归函数对教育和早期收入等重要预测变量来说是单调变化的,即使对同质性子群体也是如此。由此意味着,基于线性化的模型在此类情形下会比其他模型表现更好,这不同于单调变化不太可能出现的其他情形,如图像识别问题。局部线性随机森林方法的表现优于标准随机森林方法,也出于类似的原因(Friedberg et al.,2018)。

  我们将讨论四类具体方法,当然机器学习的其他方法还有很多,包括基本方法的变体。我们首先介绍把协变量作为线性来考虑的模型,要解决的问题完全关于正则化。其次是利用回归树和随机森林来分割协变量空间的方法。第三是探讨神经网络方法,它曾是20世纪90年代少数计量经济学文献的关注点(Hornik et al.,1989;White,1992),近期则成为机器学习文献中以不同形式表现出来的重要课题。第四是介绍提升算法的一般原则。

  3.1正则化的线性回归:LASSO方法、岭回归和弹性网络

  设想我们要对有如下线性表达式的条件期望做近似模拟:

  这三种特殊情形,即子集选择、LASSO方法和岭回归方法之间有两个重要的概念区别(近期的讨论参见Hastie et al.,2017)。首先,最优子集和LASSO方法都会带来若干回归系数完全等于0的稀疏解。相反,对于岭回归估计量,所有回归系数的估计值通常都不为0。得到稀疏解并不总是重要的,而且这些解中隐含的变量选择经常被过度解释。其次,最优子集回归有计算难度(NP难题),因此不适合N和K很大的情形,虽然最近在这方面的研究有所突破(Bertsimas et al.,2016)。LASSO方法和岭回归方法有贝叶斯解释。在正态模型下,岭回归提供了Xi给定时Yi的条件分布的后验均值和后验众数,以及参数的正态先验分布。而LASSO方法对给定的Laplace先验分布提供了后验众数。不过相比规范的贝叶斯分析方法,现代研究文献中的惩罚项的系数λ是通过样本外交叉验证进行选择,而非来自对先验分布的主观选择。

  3.2回归树与随机森林方法

  回归树方法(Breiman et al.,1984)及其拓展随机森林方法(Breiman,2001a)已成为看重样本外预测能力的情形下,灵活估计回归函数的极为流行的高效方法。人们认为它们有着很好的即时可用表现,无须做精细调适。例如,给定样本(Xi1 ,…,XiK,Yi),其中i= 1,…,N,这里的想法是把样本分割成子样本,在各个子样本中估计回归函数,得出平均结果。样本分割是顺序性质的,基于某个协变量XiK超出门槛值c的标准。我们先看整个训练样本,设想根据某个特征或协变量k和门槛值c分割样本。在分割之前,样本内的误差平方和为:

  分别是两个子样本的平均结果。我们下面这样分割样本(即选择k和c):使得对于所有协变量k= 1,…,K,以及所有门槛值c ∈ (-∞,∞),均方误差Q(k,c)为最小。然后我们重复这一操作,对子样本(或称叶,leaves)也都进行最优化。在每次分割后,得到的均方误差被进一步缩小,或者保持不变。接着我们还需要某些正则化,以避免次数过多的样本分割导致过度拟合。一种方法是在平方残差之和中加入一个惩罚项,与子样本(叶)的数量呈线性关系。这一惩罚项的系数将通过交叉验证来选择。在实际操作中,我们会估计一个很深的树模型,然后利用交叉验证来选择最优深度,将其剪枝到较浅的状态。先种植再剪枝的工作顺序,可以避免错过那些需要细微相互作用才能显出优势的样本分割。

  采用单一树模型的一个好处是,便于解释和阐述结果。树模型的结构一旦定义,每片树叶的预测就是样本平均值,样本平均值的标准差很容易计算。但一般而言,一片树叶的样本平均数未必是新测试集中同一片树叶的均值的无偏估计。由于树叶的选择过程利用了数据,训练数据中树叶的样本均值往往会比独立测试数据显得更趋于极端(就偏离总体样本均值的程度而言)。有研究认为,可以通过样本分割来避免这种问题(Athey and Imbens, 2016)。如果预测需要置信区间,则研究者可以简单地把数据对半分开,一半数据用于构建回归树,然后把这个树模型隐含的分割方法用于另一半数据,那里的给定树叶的样本均值应该是真实均值的无偏估计。

  树模型比较容易阐述,但应该注意不要过度阐述树的结构,包括用于样本分割的变量的选择。对此,计量经济学关于遗漏变量偏差的标准直觉可以提供帮助。与结果有强烈联系的特定协变量在样本分割中可能没有出现,因为树在分割中采用的协变量与它们存在高度相关。

  对树模型的一种阐述是将它作为核回归的替代办法。在每个树模型内部,对一片树叶的预测只是树叶内部得出的样本平均结果。因此,我们可以把树叶理解为其中给定目标观测值的最邻近值集,从单一回归树中得出的估计量是选择目标点的最邻近值的非标准方法得出的匹配估计量。具体来说,邻近区域在决定哪些观测值符合邻近的定义时,会优先考虑部分协变量。图1展示了核回归与树模型匹配算法在两个协变量下的差异。核回归将产生一个围绕目标观测值的邻近区域,基于它到每个点的欧式几何距离;树模型得出的邻近区域则是矩形状态。此外,目标观测值或许并不位于矩形的中心。因此,对于任何给定测试点x,单一树模型通常不是预测结果的最佳方法。在需要对特定目标观测值做专门预测的时候,可以采用一般化的基于树模型的方法。

  为更好地估计μ(x),可采用基于回归树算法的随机森林模型(Breiman,2001a)。随机森林模型解决的一个关键问题是,树对应的被估计回归函数是不连续的,比我们设想的有更多的显著跳跃。随机森林模型通过对很大数量的树模型做平均处理来引入平滑性。这些树彼此有两方面的差异。首先,每个树模型都不是基于原始样本,而是引导样本(bootstrap sample,也称为装袋样本)或者是数据的子样本(Breiman,1996)。其次,每个阶段的分割不是对所有可能的协变量做最优化,而是对协变量的一个随机子集做最优化,因此会改变每次分割。这两个修订导致了树之间具有足够差异,使得平均值相对平滑(虽然依旧不连续),更重要的是比单一树模型有更强的预测能力。

  随机森林已经成为非常普遍的方法。它的一个重要优势在于,相比深度学习神经网络等更复杂的方法,它们要求较少的调适,并有很好的即时可用表现。在有着与结果无关的大量特征,即存在稀疏性的情形下,随机森林与回归树方法特别有效。样本分割通常忽略这些协变量,由此使得即便在有大量特征的情形下,模型表现依然良好。事实上如果与核回归方法做比较,对随机森林方法的表现做改进的一条可靠途径就是加入没有预测力的无关协变量。这样做将迅速降低核回归方法的表现,但不会严重影响随机森林方法,因为随机森林方法原本就不太重视这些协变量(Wager and Athey 2017)。

  虽然自布雷曼的初始研究以来,对随机森林的统计分析显得不容易把握,但近期研究表明(Wager and Athey,2017),随机森林方法的特定变体可以得到以μ(x)真实值为中心呈渐进正态分布的μ^(x)的估计值;此外,该研究还提供了对估计量方差的估计,由此可以构建中心置信区间。该研究讨论的变体方法采用子样本抽样方法,而非装袋抽样,而且每个树模型的构建利用了两个不相交的子样本,第一个用来定义树模型,第二个用来估计每片树叶的样本均值。这一诚实的估计对渐进式分析非常关键。

  随机森林可以在几方面同传统计量经济学方法联系起来。我们再回到与核回归的比较上,由于每个树模型是一种形式的匹配估计量,森林则是匹配估计量的平均。正如图2所示,通过树模型的平均,对每个点的预测将围绕测试点(除靠近协变量空间边界的以外)。然而,森林方法是通过数据驱动的方式选择匹配,因而优先采用更重要的协变量。对随机森林的另一种阐述方式是,它们会产生类似于核回归使用的权重函数(如Athey et al.,2016b)。例如,核回归对点x做的预测是把邻近点做平均,但对越邻近的点赋予的权重越大。随机森林方法则是对许多树的平均,与较远的点相比,会更多包含邻近的点。我们可以通过测算特定观测值与测试点同处一片树叶的树的比例,针对给定测试点形式化地推导出权重函数。于是随机森林预测可以表述如下:

  其中权重αi(x)代表森林方法在预测x时给第i个训练样本赋予的权重。典型的核回归权重函数与随机森林权重函数的区别在于,森林的权重是适应性的,如果某个协变量的影响很小,就不会用于叶的分割,权重函数在该协变量的距离变化上也就不会非常敏感。

  近期的随机森林研究已扩展至因果效应的情形,包括平均或单元层面(Wager and Athey,2017),以及对可以利用最大似然方法或者广义矩方法(GMM)的一般经济学模型的参数估计(Athey et al.,2016b)。对后者而言,其实是在操作中把森林方法阐述为创造一个权重函数。新出现的一般化随机森林算法包含两个步骤:第一步是构建森林;第二步是对每个测试点做广义矩模型估计,与测试点经常出现在相同叶的邻近点在估计中被赋予更大权重。若采用恰当的诚实估计模板,森林方法可以得出具有渐进正态分布的参数估计结果。通用的随机森林方法可以理解为局部最大似然方法的一般化[由Tibshirani and Hastie (1987)的研究引入],而在核回归的权重函数中,对于更靠近特定测试点的观察值,会赋予比更远离的点更大的权重。

  随机森林方法的一个缺点在于,它们既不能很有效地反映线性或二次效应,也无法利用基本数据生成过程的平滑性。此外,在靠近协变量空间的边界位置,它们可能产生偏差,因为随机森林的组成叶不能集中在靠近边界的点。传统计量经济学在不连续回归设计的分析中也遇到过这一边界偏差问题,例如,以学区的地理边界或者考试成绩录取线来决定参与某个学校或学习项目的资格等(Imbens and Lemieux,2008)。计量经济学研究(如匹配问题研究)提出的解决方案是采用局部线性回归,给邻近点赋予更大权重(Abadie and Imbens,2011)。设想在接近边界时,条件均值函数呈递增,于是局部线性回归可以帮助矫正如下事实:在靠近边界的测试点上,大多数样本点会位于这样一个区域,该区域的条件均值低于边界上的条件均值。另有研究把一般随机森林分析扩展到局部线性森林分析(Friedberg et al.,2018),在回归中采用了随机森林推导出的权重函数。如果用最简单的形式来介绍,局部线性森林方法直接采用森林权重函数αi(x),并将它用于如下局部回归:

 

  修订树模型的结构使之包含回归校正可以改进模型的表现,这从本质上看是通过预测局部回归的残差来对样本分割做最优化。如果回归可以反映条件均值函数的大致形态,例如单调性或二次结构,那么这一算法的表现可能优于传统随机森林方法,并且可确立渐进式正态分布。图3展示了局部线性森林为何可以改进普通随机森林方法。通过以随机森林估计的核来拟合局部线性回归,得出的预测即使在较小数据库中也能匹配简单多项式函数。与之相比,随机森林方法往往会产生偏差,特别是在靠近边界处,而且在小数据库中更多表现出阶梯函数的形状。图3展示的是一维场景的效果,而随机森林方法相比核回归的一个优势在于,这些校正可以在多维场景中发生,并依然保留自己的传统优势:揭示协变量之间更多复杂的相互作用。

  3.3深度学习与神经网络

  神经网络及相关的深度学习方法,是估计回归函数的另一个普遍而灵活的途径,在有极大量特征的复杂情形下表现得尤其成功。但在实践中,相比随机森林等方法,这些方法要求很大量的调适,才能对特定应用场景产生良好效果。神经网络在20世纪90年代的计量经济学文献中有过探索,但当时并没有流行起来(参见Hornik et al.,1989;White,1992)。

  我们可以考虑一个简单的案例,给定K个协变量(特征)的Xik,我们为K1个隐藏变量或未观测变量Zik(隐藏节点)建模,它们与原始协变量呈线性关系:

  虽然仅靠单层的许多节点,我们已经能模拟丰富的函数类型,但神经网络的深度还是会大大提高实践操作中的灵活度。多层网络的渐进性质近期得到了理论研究的确认(Farrell et al.,2018)。在应用中,学者们采用了包含很多层次(10层乃至更多层)以及数百万个参数的模型:

  我们看到,在这种情形下层次较少的浅模型在大约2 000万个参数时会导致过度模拟,而深模型在超过6 000万个参数时仍能提供帮助。这说明利用深模型在模型能够学习的函数空间上具有实用优势。(LeCun et al.,2015,第289页)

  在多个隐藏层次和大量隐藏节点的情形下,需要对参数估计做细致的正则化,或许是利用一个惩罚项,该项与模型的线性部分的系数平方之和成比例。网络的架构同样很重要。与之前的设定一样,可以让特定层次的隐藏节点成为之前层次的所有隐藏节点的线性函数,或者根据实质性考虑(substantive considerations,如协变量在某个尺度上的接近,例如像素在图片中的位置)将其限定在某个子集里。此类卷积网络方法的使用非常成功,但要求更加细致的调适(Krizhevsky et al., 2012)。

  对网络中参数的估计是基于残差平方和的近似最小化,加上模型复杂度决定的一个惩罚项。这一最小化问题很有难度,特别是在多个隐藏层次的情形下。学者们选择了反向传播算法(back-propagation algorithm)及其变形,以此计算目标函数中单元层次项的参数的确切导数(Rumelhart et al.,1986)。这些算法巧妙地利用了各个层次之间存在上下结构,且每个参数都只进入一个层次的事实。然后这些算法再利用本文第2.6节介绍的随机梯度下降方法(Bottou,1998,2012; Friedman,2002)作为寻找近似最优解的有效计算方法。

  3.4提升算法

  提升(Boosting)是对简单的监督学习方法的表现做改进的一种通用技巧(详细介绍见Schapire and Freund,2012)。如果我们关心有大量特征时对结果的预测,并假设我们有一个很简单的预测算法,即基础学习器(learner)。例如我们有一个包含3片树叶的回归树模型,即基于两次分割的回归树模型,通过相应树叶的平均结果来估计回归函数。这种算法本身不会在预测效果上得出非常有吸引力的预测变量,因为它最多只会用到许多可能特征中的2个。提升算法会采用如下方式对基础学习器做改进。针对上述简单的3叶树模型,得出训练样本中所有单元的预测残差Yi-Y^(1)i。然后我们把同一个基础学习器(即2次分割的回归树模型)用于对残差的结果分析(并采用相同的原始特征集)。令Y^(2)i代表综合第一步与第二步得出的预测结果。在给定这个新的树模型后,我们可以计算出新的残差Yi-Y^(2)i。然后,我们重复该步骤,利用新的残差作为结果,再构建一个2次分割的回归树模型。我们可以这样重复操作许多遍,利用不断更新的残差对基本模型做多次反复估计,从而得出预测结果。

  如果我们在有着L次分割的回归树模型里采用上述提升算法,则得到的预测量能够模拟可表述为同时有L个原始特征的函数之和的任何回归函数。因此如果L=1,我们就能模拟在特征上具有可加性的任何函数,如果L=2,我们就能模拟在(允许一般二阶效应的)原始特征的函数上具有可加性的任何函数。

  提升算法还能适用于回归树模型之外的基础学习器。这里的关键是选出恰当的基础学习器,容易多次反复适用,而不会遭遇计算问题的困扰。

  [《比较》印刷版,点此订阅,随时起刊,免费快递。]

版面编辑:吴秋晗
财新网主编精选版电邮 样例
财新网新闻版电邮全新升级!财新网主编精心编写,每个工作日定时投递,篇篇重磅,可信可引。
订阅