通过丢弃最小二乘系数来实现稀疏性

机器算法验证 回归 回归系数
2022-03-17 19:51:41

假设我想倒退Y反对归一化X,但我想要一个稀疏的解决方案。回归后,为什么不允许丢弃幅度最小的系数?

作为记录,我听说过并经常使用 LARS 和 LASSO 方法。我只是好奇为什么上述方法不适用。

2个回答

如果没有问题X是正交的。然而,解释变量之间存在强相关性的可能性应该让我们停下来。

当您考虑最小二乘回归的几何解释时,反例很容易找到。X1有,比如说,几乎正态分布的系数和X2几乎与它平行。X3与生成的平面正交X1X2. 我们可以设想一个Y这主要是在X3方向,但从原点偏移了相对较小的量X1,X2飞机。因为X1X2几乎平行,它在那个平面上的分量可能都有很大的系数,导致我们下降X3,这将是一个巨大的错误。

可以通过模拟重新创建几何图形,例如通过以下R计算执行:

set.seed(17)
x1 <- rnorm(100)               # Some nice values, close to standardized
x2 <- rnorm(100) * 0.01 + x1   # Almost parallel to x1
x3 <- rnorm(100)               # Likely almost orthogonal to x1 and x2
e <- rnorm(100) * 0.005        # Some tiny errors, just for fun (and realism)
y <- x1 - x2 + x3 * 0.1 + e  
summary(lm(y ~ x1 + x2 + x3))  # The full model
summary(lm(y ~ x1 + x2))       # The reduced ("sparse") model

的方差Xi足够接近1我们可以检查拟合系数作为标准化系数的代理。在完整模型中,系数为 0.99、-0.99 和 0.1(均非常显着),其中最小的(到目前为止)与X3,按设计。残差标准误差为 0.00498。在简化(“稀疏”)模型中,残差标准误差为 0.09803,为20倍数:巨大的增加,反映了几乎所有关于信息的丢失Y从删除具有最小标准化系数的变量。R2已经从0.9975几乎为零。两个系数都不显着优于0.38等级。

散点图矩阵揭示了所有内容:

x1、x2、x3 和 y 的散点图矩阵

之间的强相关性x3y从右下角点的线性对齐中可以清楚地看出。之间的相关性较差x1yx2y从其他面板的圆形散射中同样清晰。然而,最小的标准化系数属于x3而不是x1或者x2.

在我看来,如果估计系数接近 0 并且数据被归一化,那么丢弃变量不会损害预测。当然,如果该系数在统计上不显着,则似乎没有问题。但这必须小心进行。IV 可能是相关的,删除一个可能会改变其他的系数。如果您以这种方式开始修改多个变量,这将变得更加危险。子集选择程序旨在避免此类问题,并使用合理的标准来包含和排除变量。如果你问 Frank Harrell,他会反对逐步程序。您提到了 LARS 和 LASSO,这是两种非常现代的方法。但是还有很多其他的,包括惩罚引入太多变量的信息标准。

如果您尝试使用已经仔细研究过大量相关文献的子集选择程序,您可能会发现它会导致解决具有小系数的变量的解决方案,特别是如果它们因在统计上与 0 显着不同而未能通过测试。