LASSO 如何在共线预测变量中进行选择?

机器算法验证 特征选择 套索
2022-03-21 02:12:26

我正在寻找一个直观的答案,为什么 GLM LASSO 模型会从一组高度相关的预测变量中选择一个特定的预测变量,以及为什么它的表现与最佳子集特征选择不同。

从Tibshirani 1996中图 2 中显示的 LASSO 的几何形状,我相信 LASSO 选择了具有更大方差的预测器。

现在假设我使用具有 10 倍 CV 的最佳子集选择,以获得逻辑回归模型的 2 个预测变量,并且我有合理的先验知识认为这 2 个预测变量是最优的(在 0-1 损失意义上)。

LASSO 解决方案有利于预测误差更大的不那么简约(5 个预测变量)的解决方案。直观地说,是什么导致了差异的产生?是因为 LASSO 在相关预测变量中的选择方式吗?

1个回答

LASSO 在惩罚和路径依赖方面不同于最佳子集选择。

在最佳子集选择中,大概是使用 CV 来确定 2 个预测变量提供了最佳性能。在 CV 期间,将使用没有惩罚的全幅回归系数来评估要包含多少变量。一旦决定使用 2 个预测变量,那么 2 个预测变量的所有组合将在整个数据集上并行进行比较,以找到最终模型的 2 个。这 2 个最终预测变量将被赋予它们的全幅回归系数,而不会受到惩罚,就好像它们一直是唯一的选择一样。

您可以将 LASSO 视为从对回归系数大小之和的较大惩罚开始,然后逐渐放宽惩罚。结果是变量一次进入一个,在松弛期间的每个点都做出决定,增加模型中已有变量的系数还是添加另一个变量更有价值。但是当你得到一个 2 变量模型时,LASSO 允许的回归系数的大小将低于用于比较 2 变量和 3 变量模型的标准非惩罚回归中的相同变量。最佳子集选择。

这可以被认为是使新变量在 LASSO 中的输入比在最佳子集选择中更容易。启发式地,LASSO 权衡了可能低于实际的回归系数与应包含多少变量的不确定性。这往往会在 LASSO 模型中包含更多变量,如果您确定只需要包含 2 个变量,LASSO 的性能可能会更差。但是,如果您已经知道正确模型中应该包含多少预测变量,那么您可能不会使用 LASSO。

到目前为止,还没有任何东西依赖于共线性,这导致了最佳子集与 LASSO 中变量选择的不同类型的任意性。在此示例中,最佳子集检查了 2 个预测变量的所有可能组合,并在这些组合中选择了最佳组合。因此,该特定数据样本的最佳 2 获胜。

LASSO 具有一次添加一个变量的路径依赖性,这意味着一个变量的早期选择可能会影响与其相关的其他变量何时进入松弛过程的后期。一个变量也有可能提前进入,然后随着其他相关变量的进入,它的 LASSO 系数下降。

在实践中,使用这两种方法的最终模型中的相关预测变量之间的选择高度依赖于样本,这可以通过在相同数据的引导样本上重复这些模型构建过程来检查。如果预测变量不多,并且您的主要兴趣是预测新数据集,那么倾向于保留所有预测变量的岭回归可能是更好的选择。