岭回归和 Lasso 回归

机器算法验证 多重回归 套索 岭回归
2022-04-05 19:19:52

我目前正在研究这个问题,目标是开发一个线性回归模型,使用 Ridge & Lasso 回归用 8 个预测变量来预测我的Y(血压)。我首先检查每个预测变量的重要性。下面是一个summary()我的多元线性回归age100重新缩放age与其他预测指标的规模相似。

Call:
lm(formula = sys ~ age100 + sex + can + crn + inf + cpr + typ + 
fra)

Residuals:
Min      1Q  Median      3Q     Max 
-80.120 -17.019  -0.648  18.158 117.420 

Coefficients:
        Estimate Std. Error t value Pr(>|t|)    
(Intercept)  145.605      9.460  15.392  < 2e-16 ***
age100        -1.292     12.510  -0.103  0.91788    
sex            5.078      4.756   1.068  0.28701    
can           -1.186      8.181  -0.145  0.88486    
crn           14.545      7.971   1.825  0.06960 .  
inf          -13.660      4.745  -2.879  0.00444 ** 
cpr          -12.218      9.491  -1.287  0.19954    
typ          -11.457      5.880  -1.948  0.05283 .  
fra          -10.958      9.006  -1.217  0.22518    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 31.77 on 191 degrees of freedom
Multiple R-squared:  0.1078,    Adjusted R-squared:  0.07046 
F-statistic: 2.886 on 8 and 191 DF,  p-value: 0.004681

只需查看 P 值summary()表,我选了age100can作为潜在的“不太重要”的预测因素。然后我用glmnet()用我所有的 X 拟合 Y 的岭回归和套索回归,允许函数选择一个λ对我来说价值。然后我绘制了两个回归,100λ岭和 65 的值λ套索的值。最后,添加位于索引 100 和 65 上方的点,其垂直值等于系数的 8 个最小二乘估计值(红色)。

在此处输入图像描述 在此处输入图像描述

导致上述两个情节,我发现的一些差异是

Lasso 消除了两个变量对我来说似乎是合理的(age100can) 这似乎与我之前的假设一致,即将这两个预测因子视为“不太重要”的预测因子。请注意,在岭图中,第一个估计点和大约第三个估计点偏离了线。然而,在 lass 图中,点就在这些线上。这是否表明我的预测因子从山脊减少到套索有所改善?(AKA,6 个预测变量模型在拟合数据方面比 8 个预测变量模型做得更好?)

我还有几个问题:

  1. 最小 λ 值处的岭回归估计值与最小二乘估计值完全相同吗?

  2. 如何解读这两个情节?(在线或上方或下方的红色终点是什么意思)。

1个回答

这是否表明我的预测因子从山脊减少到套索有所改善?

不,这些图没有说明预测性能。如果要估计,可以使用交叉验证。

AKA,6 个预测变量模型在拟合数据方面比 8 个预测变量模型做得更好?

与普通最小二乘法 (OLS) 相比,lasso 和岭回归等正则化方法会在训练数据上产生更大或相等的误差。但是,如果您对预测性能感兴趣,那么您真正关心的是同一基础分布生成的未来数据的错误。这就是交叉验证估计的。方法(和价值λ) 效果最好取决于问题。

如果您对统计推断感兴趣(即考虑参数估计中的不确定性,或正确识别潜在的“真实”模型),那么您需要一种计算 p 值、置信区间等的方法。标准程序设计用于OLS 不适用于套索和岭回归。此外,请记住,在识别“重要变量”时有许多微妙之处和注意事项。

  1. 岭回归估计值是否最小λ值与最小二乘估计值完全相同?

什么时候λ=0岭回归和套索等价于普通最小二乘法 (OLS)。您可以通过为每个方法编写优化问题并设置来看到这一点λ归零:

βOLS=argminβi=1n(yiβxi)2

βlasso=argminβi=1n(yiβxi)2+λβ1

βridge=argminβi=1n(yiβxi)2+λβ22

  1. 如何解读这两个情节?

每个轨迹将单个系数的值显示为λ被改变。看起来您的 x 轴标签错误(λ实际上是从左到右递减)。

您可以在这些图中注意到一些一般的事情(这是关于套索和岭回归的众所周知的事实):这两种方法都将系数更强烈地缩小到零,因为λ增加(在 x 轴上从右向左移动)。Lasso 产生稀疏解——如λ增加,越来越多的系数被精确地驱动为零,而其他系数保持相对较大(这就是套索对变量选择有用的原因)。岭回归的行为不是这样的——因为λ增加,系数的整体幅度减小,但单个系数不会被精确地驱动为零。

在线或上方或下方的红色终点是什么意思

你说红点代表OLS系数。因为 lasso 和岭回归将系数缩小到零,所以当λ>0. 您的地块将与红点相交λ=0,所有方法都是等价的。