使用套索进行回归的变量选择有哪些缺点?


60

据我所知,使用套索进行变量选择可以解决相关输入的问题。而且,由于它等效于最小角度回归,因此在计算上并不慢。但是,许多人(例如,我认识的从事生物统计学的人)似乎仍然倾向于逐步或阶段性变量选择。使用套索有任何实际的不利之处吗?


9
我不知道您在哪里听说过Lasso处理共线性问题,这绝对不是事实。
2012年

3
至少在稀疏模型情况下(其中模型选择最有用),马蹄先验比LASSO更好。您可以在此链接中找到有关这些要点的讨论。本文的两位作者在瓦伦西亚会议上也发表了一篇类似的文章,即贝叶斯统计9“全球局部收缩:稀疏贝叶斯正则化和预测”。瓦伦西亚的文章对惩罚框架进行了更详细的介绍。
概率

9
如果您只对预测感兴趣,那么模型选择将无济于事,而且通常会很痛苦(与二次惩罚= L2范数=岭回归且无变量选择相反)。LASSO为尝试进行变量选择付出了预测歧视的代价。
Frank Harrell 2013年

3
抛硬币做出任意决定通常会表明您确实在乎结果。任何为您提供有关选择预测变量的决策的方法通常都会使您清楚地知道,您确实知道哪些预测变量在模型中更自然地存在,而您不想忽略这些想法。LASSO可以那样工作。
Nick Cox 2013年

5
我第二个@Nick:“没有理论可指导模型选择”几乎是不现实的。常识是理论。
Scortchi-恢复莫妮卡

Answers:


29

没有理由进行逐步选择。只是错了

LASSO / LAR是最好的自动方法。但是它们是自动方法。他们让分析师不要思考。

在许多分析中,无论任何有意义的量度,模型中都应包含一些变量。有时它们是必要的控制变量。在其他时候,发现很小的影响可能非常重要。


43
“没有理由进行逐步选择。这是错误的。” -几乎没有从来没有像这样令人难以置信的全面陈述,没有上下文,没有良好的统计实践。如果这里有什么“不对”,那就是上面的粗体字。如果您的分析没有强调或参数估计值(例如,预测模型),那么逐步选择变量可能是明智的选择,并且:: gasp ::在某些情况下可能会胜过LASSO。(彼得,我知道我们之前有过这个话题-此评论更多是针对将来的读者,他们可能只会看到这篇文章,而不会看到其他文章)。p
2012年

4
-1由于逐步的全面批评。它不是“完全错误”的,而是可以作为确定性模型搜索的。关于自动方法,您的确确实有缺点。
概率

8
Yi=j=1100Xij+εi
εN(0,1)cor(Xij,Xik)=1/2(j,k)

10
在进行任何回归之前,您当然应该研究共线性。我想说的是,如果您有大量共线变量,则不应使用LASSO或Stepwise;您应该解决共线性问题(删除变量,获取更多数据等),或使用针对此类问题设计的方法(例如岭回归)
Peter Flom

5
好的,您是对的,但我认为这并不重要。向后NOR套索(也不使用任何变量选择方法)都不能解决所有问题。开始建模之前,您需要做一些事情-其中之一是检查共线性。我也不会在意哪种变量选择方法适用于其他数据集,这些数据集违反了两种方法都应适用的回归规则。
彼得·弗洛姆

22

如果您只关心预测误差,而不关心可解释性,偶然推断,模型简单性,系数检验等,那么为什么仍要使用线性回归模型?

您可以使用诸如增强决策树或支持向量回归之类的方法,以获得更好的预测质量,并且仍然避免在上述两种情况下均过拟合。也就是说,套索可能不是获得最佳预测质量的最佳选择。

如果我的理解是正确的,那么Lasso适用于您仍然对模型本身感兴趣的情况,而不仅仅是预测。也就是说-请参阅选定变量及其系数,以某种方式进行解释等。为此-Lasso在某些情况下可能不是最佳选择,如此处其他问题所述。


20

LASSO鼓励将系数缩小到0,即从模型中删除那些变量。相比之下,其他正则化技术(如脊)往往会保留所有变量。

因此,我建议考虑这种删除是否对您的数据有意义。例如,考虑对基因芯片数据或振动光谱数据进行临床诊断测试。

  • 您可能希望某些基因携带相关信息,但其他许多基因只是杂音。你的申请。删除这些变量是一个非常明智的想法。

  • 相比之下,振动光谱数据集(虽然通常具有与微阵列数据相比相似的尺寸)往往会在光谱的大部分区域(相关性)上“涂抹”相关信息。在这种情况下,要求正则化删除变量不是特别明智的方法。更是如此,因为像PLS这样的其他正则化技术更适合这种类型的数据。

统计学习的要素对 LASSO进行了很好的讨论,并将其与其他正则化技术进行了对比。


14

如果两个预测变量高度相关,则LASSO最终可能会任意放弃一个。当您要为这两个预测变量之间没有高度相关性的人群做出预测时,这并不是很好,这也许是在这种情况下更倾向于使用岭回归的原因。

您可能还认为预测变量的标准化(比如说系数是“大”还是“小”)相当武断,并且(像我一样)对标准化分类预测变量的明智方法感到困惑。


1
感谢您的回答。您是否知道与相关预测因子/分类预测因子讨论问题的任何论文?
Berk U.

2
值得补充的是,还有其他惩罚性回归方法试图缓解这些问题(例如弹性网)。
bdeonovic '16

对于使用高共线性变量进行变量选择,迭代自适应脊线(近似于L0惩罚回归和在l0ara包中实现的s)往往表现最佳,或者说在L0Learn包中实现的L0L2惩罚也表现良好...
Tom Wenseleers

9

仅当您限制自己考虑要估计的参数呈线性的模型时,套索才有用。换句话说,套索不会评估您是否选择了自变量和因变量之间关系的正确形式。

在任意数据集中可能存在非线性,交互作用或多项式的影响是非常合理的。但是,仅当用户进行分析时,才会评估这些替代模型规格;套索不能代替它。

对于如何解决这个问题的简单示例,请考虑一个数据集,其中独立变量的不相交间隔将预测因变量的高值和低值交替出现。使用常规的线性模型来进行分类将是一个挑战,因为要进行分析的清单变量没有线性影响(但是清单变量的某些转换可能会有所帮助)。套索保留其清单形式时,会错误地得出结论:此功能是无关的,并且由于没有线性关系,因此将其系数归零。另一方面,由于数据中存在轴对齐的拆分,因此基于树的模型(例如随机森林)可能会做得很好。

在此处输入图片说明


5

套索和其他正则化技术的实际缺点之一是找到最佳正则化系数λ。使用交叉验证来找到此值可能与逐步选择技术一样昂贵。


“昂贵”是什么意思?
mark999 2012年

4
这个说法不是真的。如果像glmnet方法那样采用“热启动”网格搜索,则可以非常快速地计算整个网格。
概率

1
@probabilityislogic是的,我只有在做出上述评论后才了解热启动。您如何看待这篇论文,这表明热启动比简单的交叉验证慢,有时效果不佳?users.cis.fiu.edu/~lzhen001/activities/KDD2011Program/docs/...
rm999

5
λ

5

我不是LASSO专家,但我是时间序列专家。如果您有时间序列数据或空间数据,那么我会避免使用基于独立观测值的解决方案。此外,如果存在未知的确定性影响,破坏了您的数据(电平变化/时间趋势等),那么LASSO甚至不会成为一个好锤子。在关闭时,如果您有时间序列数据,当面对随时间变化的参数或误差方差时,通常需要对数据进行细分。


1
将LASSO应用于基于回归的时间序列模型(例如ar自回归(AR),矢量自回归(VAR)和矢量误差校正模型(VECM))时,可以提供良好的预测性能。例如,针对套索向量自回归的搜索,您将在学术文献中找到许多示例。以我自己的经验,与所有子集选择或山脊正则化相比,将LASSO用于固定VAR模型可提供出色的预测性能,而山脊正则化在集成VAR模型方面胜过LASSO(由于多重共线性,根据Scortchi的回答)。
理查德·哈迪

因此,LASSO的故障不是时间序列数据所固有的。
理查德·哈迪

2

这已经是一个很老的问题,但是我觉得与此同时,这里的大多数答案都已经过时了(而被检查为正确答案的答案显然是错误的恕我直言)。

首先,就获得良好的预测性能而言,LASSO总是比逐步改进更好,这并不普遍。Hastie等人(2017)的论文“最佳子集选择,正向逐步选择和套索的扩展比较”提供了正向逐步,LASSO和一些LASSO变体(如宽松LASSO和最佳子集)的广泛比较,它们表明分步有时比LASSO更好。不过,LASSO的一种变体-松弛LASSO-是在最广泛的环境下产生最高模型预测精度的模型。关于哪个最佳的结论很大程度上取决于您的最佳考虑,例如,这将是最高的预测准确性还是选择最少的误报变量。

尽管整个学习方法都很稀疏,但大多数方法都比LASSO好。例如,在软件包中实施了Meinhausen的宽松LASSO自适应LASSOSCAD以及MCP惩罚性回归ncvreg,它们的偏差都小于标准LASSO,因此是可取的。此外,如果您对具有最佳预测性能的绝对最稀疏解决方案感兴趣,那么可以对L0进行惩罚回归(也称为最佳子集,即基于对非零系数nr的惩罚,而不是LASSO中系数绝对值的和)比LASSO更好,请参见例如使用迭代自适应脊线程序近似L0惩罚GLM 的l0ara软件包,并且与LASSO不同,它在高度共线性的变量上也能很好地工作,并且该L0Learn软件包可以使用坐标下降法拟合L0罚回归模型,并可能与L2罚则结合使用以规范共线性。

现在回到您的原始问题:为什么不使用LASSO进行变量选择?:

(1)因为系数将高度偏向,这在宽松的LASSO,MCP和SCAD惩罚回归中得到了改善,而在L0惩罚回归中得到了完全解决(具有完全的oracle属性,即它既可以选择因果变量,也可以重新调整)无偏系数,也适用于p> n情况)

(2),因为与L0惩罚回归相比,它倾向于产生更多的假阳性(在我的测试中,l0ara执行效果最好,即迭代自适应脊,其次是L0Learn

(3)因为它不能很好地处理共线性变量(实际上只能随机选择一个共线性变量)-迭代适应性ridge / l0ara和L0L2罚分在L0Learn处理上要好得多。

当然,一般而言,您仍然必须使用交叉验证来调整正则化参数以获得最佳的预测性能,但这不是问题。如果您愿意通过非参数自举,甚至可以对参数进行高维推论,并计算系数的95%置信区间(即使对每个自举数据集进行交叉验证,也要考虑最优正则化选择的不确定性) ,尽管那样会变得很慢)。

计算上来说,LASSO的适应性并不比逐步方法慢,如果使用高度优化的代码并使用热启动来优化LASSO正则化的话,肯定不会慢(您可以使用fs命令进行逐步向前和软件包中的lassoLASSO进行比较bestsubset)。逐步方法仍然很流行的事实可能与许多人的错误信念有关,即人们可能只是保留您的最终模型并报告与之相关的p值-实际上这不是正确的做法,因为这并不正确。考虑到模型选择带来的不确定性,导致p值过于乐观。

希望这可以帮助?


0

一个大问题是进行假设检验的难度。使用套索您不容易找出哪些变量在统计上是重要的。通过逐步回归,如果您对多重测试的处理谨慎,则可以在某种程度上进行假设检验。


8
我会说这是一个优势,而不是劣势。它阻止您执行可能不应该执行的操作。
彼得·弗洛姆

@Peter:为什么?我假设您会正确地进行多次测试等,以使获得的P值有效。
dsimcha 2011年

10
确实没有一种方法可以逐步正确地校正多次测试。参见,例如Harrell回归建模策略。没有办法知道正确的修正
Peter Flom

4
确实,进行假设检验的困难是LASSO的潜在缺点。相对于逐步逐步回归,这是不正确的。
gung-恢复莫妮卡

2
嗯,有一个选择推理框架(在selectionInference软件包中实现)可以对LASSO进行(选择后)推理。或者对于任何变量选择方法,都可以使用非参数自举进行推理并获得参数估计值的置信区间。 ..
Tom Wenseleers
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.