就模型的交叉验证预测误差而言,LASSO优于正向选择/反向消除


10

我使用以下方法从原始完整模型中获得了三个简化模型

  • 前向选择
  • 向后淘汰
  • L1惩罚技术(LASSO)

对于使用前向选择/后向消除得到的模型,我使用获得的预测误差的横验证估计CVlm在包DAAG提供R。对于通过LASSO选择的模型,我使用cv.glm

LASSO的预测误差小于其他方法的预测误差。因此,通过LASSO获得的模型在预测能力和可变性方面似乎更好。这是一种经常发生的普遍现象,还是特定于问题的?如果这是普遍现象,那么理论上的依据是什么?


3
确保您没有使用不正确的准确性评分规则,例如正确分类的比例,因为这会奖励不合适的预测/模型。并与L2规范进行比较。我敢打赌,这将比您尝试的3种方法更好。
Frank Harrell 2014年

Answers:


16

LASSO和前进/后退模型选择均具有优势和局限性。无法提出详尽建议。始终可以探索仿真来解决这个问题。

可以从维度的角度理解这两者:将模型参数的数量称为将观测值的数量称为。如果您能够使用向后模型选择来拟合模型,则可能没有。在这种情况下,“最佳拟合”模型是使用所有参数的模型……经过内部验证!这完全是过度拟合的问题。pnpn

使用拆分样本交叉验证(CV)进行模型评估,以解决过度拟合问题。既然您没有描述,我假设您没有这样做。与逐步模型选择不同,LASSO使用调整参数来惩罚模型中的参数数量。您可以固定调整参数,或使用复杂的迭代过程来选择此值。默认情况下,LASSO执行后者。这是用CV完成的,以便最小化预测的MSE。我不知道使用这种复杂技术的逐步模型选择的任何实现方式,即使将BIC作为标准也会遭受内部验证偏差的困扰。以我的说法,这自动为LASSO提供了“现成”逐步选择模型的能力。

最后,逐步模型选择可以具有不同的准则来包括/排除不同的回归变量。如果将p值用于特定模型参数的Wald检验或所得模型R ^ 2,则效果不佳,主要是因为内部验证偏差(同样可以使用CV进行补救)。我感到惊讶的是,这仍然是这种模型倾向于实现的方式。AIC或BIC是更好的模型选择标准。

每种方法都有很多问题。逐步模型选择的问题要好得多,而且远比LASSO的问题差。我对您的问题的主要疑问是,您正在使用特征选择工具来评估预测。它们是不同的任务。LASSO更适合特征选择或稀疏模型选择。岭回归可以使用所有变量,因此可以提供更好的预测。

LASSO的强大优势在于,它可以估计模型,正向(但不能向后)逐步回归就是这种情况。在这两种情况下,只有在少数几个非常强大的预测变量时,这些模型才对预测有效。如果结果是更好的许多薄弱预测,然后岭回归或装袋/提升的表现将优于预测由一个长镜头向前逐步回归和套索。LASSO比前进逐步回归快得多。pn

在特征选择和预测之间显然存在很多重叠,但我从未告诉过您扳手如何充当锤子。通常,对于稀疏模型系数和预测,与前向逐步模型选择相比,我更喜欢LASSO。pn


4

您想根据一些标准选择预测变量的子集。可能是样本AIC或调整后的R ^ 2或交叉验证,都没有关系。

您可以测试每个预测变量子集组合并选择最佳子集。然而

  • 由于参数的组合爆炸,非常耗时。
  • 如果您要测试的所有预测变量组合都可以提供解决方案,那么您的参数要多于观察值,则可以使用

您可以使用逐步选择

  • 耗时更少,但可能无法获得绝对最佳的结合,尤其是。当预测变量相关时(可能会选择一个预测变量,而添加另外两个预测变量会显示改善时,则无法获得进一步的改善)
  • 即使您的参数多于观察值,也可以使用

您可以使用向后消除

  • 如果您的参数多于观察值,没有单一的良好起点,则无效(理论上,您可以从所有有效起点开始,向后工作,选择最佳起点,但这通常不是反向淘汰的意思)
  • 像逐步前进一样,比所有子集耗时少,但可能无法获得绝对最佳的组合,尤其是。当预测变量相关时

您可以使用LASSO

  • 即使您的参数多于观察值,也可以使用
  • 当您有许多参数并且子集组合爆炸时,CPU效率很高
  • 添加正则化

关于您的问题,为什么LASSO在CV中的数据表现更好

  • 一种可能性是上述路径依赖-LASSO可能会找到更好的子集。也许它很幸运,也许LASSO通常/有时会得到更好的子集,但我不确定。也许有关于这个主题的文献。
  • 另一个(可能性更大)的可能性是LASSO正则化可防止过度拟合,因此LASSO在CV /样本输出方面表现更好。

最重要的是,LASSO为您提供正则化和有效的子集选择,尤其是当您有很多预测变量时。

顺便说一句,您可以进行LASSO并使用CV(最常用)以及AIC或其他标准来选择模型。使用没有约束的L1正则化运行模型,然后逐渐收紧约束,直到AIC达到最小值或CV误差或您选择的标准。参见http://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_model_selection.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.