ARTICLE

LASSO

LASSO (Least Absolute Shrinkage and Selection Operator) LASSO(最小绝对收缩与选择算子)由Robert Tibshirani于1996年在论文《Regression Shrinkage and Selection via the Lasso》中正式提出,是一种同时执行正则化与变量选择的线性回归方法。

浏览 6 更新 2025-07-14

LASSO (Least Absolute Shrinkage and Selection Operator)

LASSO(最小绝对收缩与选择算子)由Robert Tibshirani于1996年在论文《Regression Shrinkage and Selection via the Lasso》中正式提出,是一种同时执行正则化变量选择的线性回归方法。其核心思想是在普通最小二乘法的残差平方和损失之上施加L1范数惩罚项λj=1pβj\lambda\sum_{j=1}^p|\beta_j|,利用L1惩罚的几何特性使部分回归系数被精确压缩至零,从而在参数估计的同时自动完成模型简化。LASSO的出现标志着统计学习从"先选变量再估计"的两阶段范式向"估计即选择"的一体化范式转变,在高维统计pnp\gg n情形)中与岭回归弹性网并列为现代稀疏建模的三大基石方法。

数学形式

给定标准线性模型y=Xβ+ϵy=X\beta+\epsilon,其中yRny\in\mathbb{R}^n为响应向量,XRn×pX\in\mathbb{R}^{n\times p}为设计矩阵(通常先将每列中心化并标准化至单位L2范数),βRp\beta\in\mathbb{R}^p为待估系数向量,ϵ\epsilon为误差项。LASSO估计量是以下凸优化问题的解:

β^LASSO=argminβ{12nyXβ22+λβ1}\hat{\beta}_{\text{LASSO}}=\arg\min_{\beta}\left\{\frac{1}{2n}\|y-X\beta\|_2^2+\lambda\|\beta\|_1\right\}

其中β1=j=1pβj\|\beta\|_1=\sum_{j=1}^p|\beta_j|L1范数λ0\lambda\ge0正则化参数,控制惩罚强度。目标函数由两部分构成:第一项为经验风险(衡量对训练数据的拟合优度),第二项为结构风险(惩罚模型的复杂度)。这一形式源自Tikhonov正则化框架,但将L2换为L1后产生了根本不同的数学行为。

次梯度条件与软阈值

由于绝对值函数βj|\beta_j|在零点不可微,传统的梯度条件不再适用,必须借助次梯度(subgradient)刻画最优解。对于每个系数βj\beta_j,LASSO的最优性条件为:

1nXj(yXβ^)=λsgn(β^j),当 β^j0\frac{1}{n}X_j'(y-X\hat{\beta})=\lambda\cdot\text{sgn}(\hat{\beta}_j),\quad \text{当 }\hat{\beta}_j\neq0
1nXj(yXβ^)λ,当 β^j=0\frac{1}{n}|X_j'(y-X\hat{\beta})|\le\lambda,\quad \text{当 }\hat{\beta}_j=0

其中sgn()\text{sgn}(\cdot)在零点可取[1,1][-1,1]中的任意次梯度值。这两个条件的直观含义是:当某一变量与当前残差的相关性(即左边表达式)低于惩罚参数λ\lambda时,该变量的系数被直接设为零;当相关性恰好等于λ\lambda时,系数按等量收缩;只有相关性超过λ\lambda的变量才有非零系数。

基于此条件可导出坐标下降法的核心迭代公式。定义偏残差rj=ykjXkβ^kr_{-j}=y-\sum_{k\neq j}X_k\hat{\beta}_k(即除去第jj个变量贡献后的残差),则第jj个系数的更新由软阈值算子给出:

β^jSλ(1nXjrj),Sλ(z)=sgn(z)max(zλ,0)\hat{\beta}_j\leftarrow S_{\lambda}\left(\frac{1}{n}X_j'r_{-j}\right),\qquad S_{\lambda}(z)=\text{sgn}(z)\cdot\max(|z|-\lambda,0)

软阈值算子有三个关键性质:当zλ|z|\le\lambda时输出零(硬截断);当z>λ|z|>\lambda时向零方向收缩λ\lambda的量(而不像硬阈值那样直接取原值);该算子是连续的,确保了算法的数值稳定性。

L1与L2的几何直觉

考虑只有两个预测变量的简化情形(p=2p=2),这一几何对比最为直观。OLS估计量β^OLS\hat{\beta}^{\text{OLS}}使残差平方和达到全局最小,其等高线是一系列以β^OLS\hat{\beta}^{\text{OLS}}为中心的同心椭圆。正则化方法可等价表述为约束优化问题:在βqt\|\beta\|_q\le t的约束下最小化残差平方和。

岭回归使用L2约束β12+β22t\beta_1^2+\beta_2^2\le t,约束域为圆盘。椭圆等高线首次接触圆盘的位置几乎总在圆周的非坐标轴点上——两个系数均不为零,只是被成比例缩小。LASSO使用L1约束β1+β2t|\beta_1|+|\beta_2|\le t,约束域为旋转45度的菱形。椭圆首次触碰菱形时,由于菱形的顶点位于坐标轴上,有很高的概率恰好碰在顶点——此时其中一个系数为零。推广至任意维度,LASSO的约束域是高维1\ell_1球(交叉多面体),其面位于坐标子空间上,解的稀疏性源自最优解倾向于落在这些低维面上。

计算:坐标下降与正则化路径

坐标下降法是求解LASSO最实用且最广泛部署的算法(如R包glmnet)。每次迭代固定除一个系数外的所有参数,对该系数求单变量LASSO的解析解(即上述软阈值公式)。由于软阈值操作将大量系数归零,算法天然利用稀疏性,在pp很大但活跃变量很少时极为高效。实践中通常结合热启动(warm start)策略:从最大λ\lambda(对应全零模型)开始,逐步减小λ\lambda,每次用上一λ\lambda值下的解作为下一λ\lambda值优化问题的初始值,可大幅减少迭代次数。

与坐标下降互补的是LARS(最小角回归)算法,由Efron、Hastie、Johnstone和Tibshirani于2004年提出。LARS沿与当前活跃变量"等角度"的方向前进,逐步将变量引入活跃集,用与OLS相当的计算代价生成完整的正则化路径(即所有λ\lambda取值下的解轨迹)。LASSO的正则化路径是分段线性的,转折点对应某个变量进入或退出活跃集的时刻。

正则化参数λ的选择

λ\lambda是LASSO中最重要的调优参数。极端情况:λ=0\lambda=0退化为OLS;λmaxjXjy/n\lambda\ge\max_j|X_j'y|/n(即λmax\lambda_{\max})时所有系数为零。在两者之间,随着λ\lambda增大,非零系数个数单调非增。

实践中通过K折交叉验证选取λ\lambda。将数据随机划分为K个等大小的折,依次以一折为验证集、其余K-1折为训练集,计算预测误差(通常为均方误差)。常用的选择准则有:一、取使交叉验证误差最小的λmin\lambda_{\min};二、取"1se规则"——在λmin\lambda_{\min}的一倍标准误范围内取最大的λ\lambda(即惩罚最强但仍与最优模型统计上不可区分的模型),得到更稀疏的解;三、使用BIC等信息准则,其倾向于选择比交叉验证更简约的模型。在高维设定中,扩展BIC(EBIC)对候选模型数量施加额外惩罚,更适合pnp\gg n场景。

理论性质

稀疏性假设(真实系数向量仅有s0s_0个非零元,且s0ps_0\ll p)下,LASSO的理论性质已得到深入刻画。

预测误差:假设设计矩阵X满足受限特征值条件(restricted eigenvalue condition)——这是比1\ell_1可恢复性更弱的条件,允许变量间存在适度的相关性——则LASSO估计的预测误差为β^β22=Op(s0logp/n)\|\hat{\beta}-\beta^*\|_2^2=O_p(s_0\log p/n)。该速率仅比oracle(已知真实活跃集)的速率多出一个对数因子logp\log p,是高维稀疏回归在理论上能达到的最优速率。

变量选择一致性:要求更强的不可表示条件(irrepresentable condition):不相关变量(jS0j\notin S_0)对相关变量(jS0j\in S_0)的回归系数的L1范数必须严格小于1。此条件在实践中常被违背,尤其当设计矩阵存在强相关性时。因此,LASSO的变量选择并非总是可靠的——这是其与oracle方法的关键差距。

有限样本偏差:LASSO对大系数和小系数施加同等的λ\lambda收缩,导致非零系数(尤其大系数)被系统性低估。这一偏差使得标准置信区间和假设检验失效,催生了后续的去偏和校正方案。

重要扩展

自适应LASSO(Zou, 2006):使用加权L1惩罚λwjβj\lambda\sum w_j|\beta_j|,权重取一致初估系数绝对值的倒数wj=1/β^jinitγw_j=1/|\hat{\beta}_j^{\text{init}}|^\gammaγ>0\gamma>0)。大系数的惩罚权重小→收缩轻;小系数的惩罚权重大→压缩强。自适应LASSO具备oracle性质:变量选择一致且非零系数的估计渐近正态,从而可构造有效的置信区间。

弹性网(Zou \& Hastie, 2005):在L1惩罚上叠加L2惩罚,目标函数为12nyXβ22+λ(αβ1+1α2β22)\frac{1}{2n}\|y-X\beta\|_2^2+\lambda(\alpha\|\beta\|_1+\frac{1-\alpha}{2}\|\beta\|_2^2)。L2项的严格凸性使目标函数变为严格凸(即使p>np>n),解唯一;同时L2惩罚鼓励高度相关的变量被成组选入,克服了LASSO在相关变量组中随机择一的不稳定性。弹性网在基因组学(基因表达数据)和文本分类(词频矩阵)等特征高度相关的场景中表现优越。

组LASSO(Yuan \& Lin, 2006):对预定义的变量分组{G1,,GK}\{G_1,\ldots,G_K\}施加λkGkβGk2\lambda\sum_k\sqrt{|G_k|}\|\beta_{G_k}\|_2惩罚,使整组变量被同时选入或剔除。适用于分类变量的虚拟编码组(一组虚拟变量整体进出)和非参数回归中的样条基函数组。

融合LASSO:对相邻系数的一阶差分施加额外的L1惩罚λ2βjβj1\lambda_2\sum|\beta_j-\beta_{j-1}|,鼓励相邻系数取值相等,产生分段常数的系数剖面。适用于时间序列变点检测和基因拷贝数变异的定位。

经济学与金融应用

LASSO在经济学中的应用以Belloni-Chernozhukov-Hansen(BCH)方法为里程碑。BCH框架解决的核心问题是:当研究者面临大量潜在控制变量但其中仅少数真正相关时,如何在不引入预测试偏差的前提下进行可信推断。方案分两步:首先用LASSO从大量控制变量中筛选出最重要的子集;然后在仅包含所选变量的简化模型上运行OLS并报告标准推断结果。该方法在适度条件下保证所选模型以高概率包含所有真正重要的控制变量。

更一般的双机器学习框架(Chernozhukov et al., 2018)将LASSO作为nuisance函数(如倾向得分、条件期望)的高维估计器,使用样本分割和交叉拟合消除正则化偏差,从而在主参数的估计中获得n\sqrt{n}一致性和渐近正态性。该方法使得在超高维控制变量和复杂函数形式下的因果推断成为可能。

资产定价中,LASSO被用于从数百个候选因子(包括基于公司特征、宏观经济变量和技术指标构建的因子)中识别对横截面预期收益率具有显著预测能力的稀疏因子集,替代传统的Fama-MacBeth两步法中的全因子回归。在宏观预测中,LASSO配合动态因子模型对大型面板数据进行降维和预测变量筛选,尤其适用于现在预测(nowcasting)——利用高频发布的"碎片化"指标实时追踪GDP等低频指标——已成为各国央行和IMF研究部门的标准工具。