(接上期推文)
针对高维数据,岭回归通过在 OLS 目标函数中引入惩罚项(惩罚过大的回归系数),使得在严格多重共线性的情形下仍能得到唯一解,而且可以降低方差、缓解过拟合(overfit)。然而,岭回归的回归系数一般不为 0,虽然这不影响预测,但使得模型更难解释(如何同时考察 5 万个基因变量的回归系数?)。
我们通常期望从 5 万个基因中,能够找到真正影响疾病为数不多的基因。换言之,我们一般期待真实模型是稀疏的(sparse model),故希望找到一个估计量,能挑选出那些真正有影响的基因,而将其他无影响或影响微弱基因的回归系数估计为 0。
套索估计量(Lasso)
为此,套索估计量(Least Absolute Shrinkage and Selection Operator,简记LASSO)应运而生。自 Tibshirani (1996) 提出 Lasso 之后,很快成为大数据时代炙手可热的新宠。
明白岭回归之后,理解套索估计量就很容易了。事实上,套索估计量只是将岭回归的惩罚项(也称为 “正则项”,regularization)作了 “小小” 的技术调整,即将 2-范数改为 1-范数:
其中,依然为微调参数,控制惩罚的力度;而为参数向量的 1-范数(L1 norm),即
为各回归系数的绝对值之和。不难看出,由于惩罚项的存在,故 Lasso 也是收缩估计量,即相较 OLS 估计量更为向原点收缩。进一步,由于使用了 1-范数(即回归系数绝对值之和)作为惩罚项,故称为 “绝对值收缩”(Absolute Shrinkage)。
类似于岭回归,上述 Lasso 最小化问题也可以等价地写为如下约束极值问题:
其中,为某常数。显然,此约束极值问题的约束集不再是圆球,而是菱形或高维的菱状体。仍以p=2 为例,可将 Lasso 的约束极值问题图示如下。
在上图中,为 OLS 估计量,围绕的椭圆为残差平方和(SSR)的 “等高线”,而灰色的菱形区域则为约束集(可行的参数取值范围)。套索估计量即为椭圆等高线与菱形约束集相切的位置。
从上图可直观看出,由于 Lasso 的约束集为菱形,且菱形的顶点恰好在坐标轴上,故椭圆等高线较容易与此约束集相交于坐标轴的位置,导致 Lasso 估计量的某些回归系数严格等于 0,从而得到一个稀疏模型(sparse model)。Lasso 的这种独特性质,使得它具备了 “变量筛选”(variable selection)的功能,故也称为 “筛选算子”(Selection Operator)。
综合 Lasso 估计量的以上两方面性质,故得名 “最小绝对值收缩与筛选算子” (Least Absolute Shrinkage and Selection Operator,简记 LASSO)。由于 Lasso 的英文原意为 “套索”(想象美国西部牛仔用于套马的套索),而套索本来就有收缩之功能,故中文译为 “套索估计量” 也非常形象。
岭回归、套索估计及其推广
岭回归与套索估计,孰优孰劣?其实,并没有绝对的好坏。从预测的角度看,如果真实模型(或数据生成过程)确实是稀疏的,则 Lasso 一般表现更优。但如果真实模型并非稀疏,则岭回归可能预测效果优于 Lasso。
另一方面,从模型易于解释(interpretability)的角度,则 Lasso 显然是赢家,因为岭回归一般不具有变量筛选的功能。由于经济学通常强调模型易于解释,故 Lasso 在经济学中的应用更加广泛。
当然,Lasso 在计算上比岭回归略为复杂。由于使用了带绝对值的 1-范数,Lasso 的目标函数并不可微,故不存在解析解。但由于 Lasso 的目标函数仍为凸函数(convex function),故存在很有效率的数值迭代算法(比如,Least Angle Regression,Coordinate Descent Algorithm),在计算上也不是问题。
自从 Lasso 出现以后,学者们脑洞大开,相继提出了一系列有关 Lasso 的推广与变形,以适应不同的研究对象与数据特点,比如 grouped lasso,fused lasso,adaptive lasso,square-root lasso 等。特别值得一提的是 “弹性网估计量”(Elastic Net),它同时将 2-范数与 1-范数引入目标函数的惩罚项,在岭回归与套索估计的性质之间作了折衷,在此不再赘述。
Lasso的统计推断
随着高维数据的兴起,Lasso 作为高维线性回归的主力,日益炙手可热。然而,如果你来自计量经济学或实证研究的背景,当你第一次使用软件(比如 R、Python 或 Stata)进行 Lasso 回归时,难免会感到一丝失望。
这些软件所提供的 Lasso 回归结果,仅仅是那些非零的回归系数而已。你所熟悉的那些标准误、p值与表示显著性的星星,全都无影无踪。当然,这并非软件的问题,因为大名鼎鼎的 Lasso 目前尚没有公认的标准误!
虽然 Tibshirani (1996) 提出使用自助法来估计 Lasso 的标准误(bootstrap standard errors),但后来被证明是不一致的……这就仿佛你遇到了一位绝世武林高手,却突然发现他其实是独臂老人,看着他空空如也的袖管,心中不免一阵凄凉。(备注:如果使用贝叶斯估计,可得到 Lasso 的后验标准差,但这并非通常意义上的标准误。)
正如一些统计学家(比如,Bootstrap 的发明者 Bradley Efron)所指出,由于机器学习发展太快,且主要关注以预测为目的的算法(algorithm),而这些算法背后的统计推断(inference)则明显滞后了。这或许是未来统计学家与计量经济学家共同努力的重要方向之一。
如何在经济学中使用Lasso
Lasso 回归已经越来越多地出现于经济学文献中。但由于机器学习主要以预测为目标导向,如果简单照搬机器学习方法进行实证研究,则难免陷入误区。以 Lasso 回归在经济学中的应用为例,至少需要注意以下两方面的问题。
第一、作为收缩估计量,Lasso 是有偏的,而经济学家向来不喜欢有偏估计。解决方法之一为所谓 “Post Lasso” 估计量,即仅使用 Lasso 进行变量筛选,然后扔掉 Lasso 的回归系数,再对筛选出来的变量进行 OLS 回归。
第二、作为变量筛选算子(selection operator),Lasso 并不能保证避免 “遗漏变量偏差”(omitted variable bias)。比如,假设解释变量包含一个我们感兴趣的处理变量(treatment variable)以及诸多控制变量(control variables)。如果直接使用 Lasso 估计此方程,并进行控制变量的选择,则可能忽略对处理变量有影响的变量(由于这些变量可能与处理变量高度相关,故在回归方程包含处理变量的情况下,它们的作用可能被 Lasso 忽略),导致遗漏变量偏差。
为此,Belloni, Chernozhukov and Hansen (2014, REStudy) 提出了更为稳健的 “Post Double Lasso” 估计量,即将被解释变量与处理变量分别对所有控制变量进行 Lasso 回归,然后对这两个 Lasso 回归(即所谓 “Double Lasso”)所得的非零控制变量取并集(union)之后,再代入原方程进行 OLS 回归,以避免遗漏变量偏差。
另外,在存在很多工具变量的情况下,Belloni, Chernozhukov, Chen and Hansen (2012, Econometrica) 将 Lasso 应用于2SLS 的第一阶段回归,以获得最优的工具变量组合,这是 Lasso 在工具变量法方面的重要应用。
高级计量经济学与Stata现场班
(含机器学习与高维回归,北京,五一节)
领取专属 10元无门槛券
私享最新 技术干货