为什么与套索相比,最好的子集选择不受欢迎?


13

我正在阅读《统计学习的元素》一书中有关最佳子集选择的内容。如果我有3个预测变量,则创建个子集:2 3 = 8x1,x2,x323=8

  1. 无预测子集
  2. 具有预测变量子集x1
  3. 具有预测变量子集x2
  4. 具有预测值子集x3
  5. 具有预测变量子集x1,x2
  6. 具有预测变量子集x1,x3
  7. 具有预测变量子集x2,x3
  8. 具有预测变量子集x1,x2,x3

然后,我在测试数据上测试所有这些模型,以选择最佳模型。

现在我的问题是为什么与套索相比,最好的子集选择不受欢迎?

如果我比较最佳子集和套索的阈值函数,我会看到最佳子集将某些系数设置为零,例如套索。但是,其他系数(非零)仍将具有ols值,它们将是无偏的。而在套索中,一些系数将为零,而其他系数(非零)将具有一些偏差。下图更好地显示了它: 在此处输入图片说明

从图片中,最佳子集情况下的红线部分位于灰色部分。另一部分位于x轴上,其中某些系数为零。灰线定义了无偏解。在套索中,引入了一些偏差。从该图可以看出,最好的子集比套索更好!使用最佳子集的缺点是什么?λ


1
..当数据中的随机性导致您选择许多错误子集之一并且相关系数的估计值相对于其标准误差而言远离零时,曲线是什么样的?
jbowman

2
@jbowman我不太清楚,为什么数据中的随机性会导致我选择错误的数据?如果我要使用交叉验证来选择最佳子集,那么选择错误子集的机会就会更少。
Ville

1
您似乎将“较少偏见”与“更好”等同起来。是什么使您对无偏见如此重视?
马修·德鲁里

Answers:


16

在子集选择中,仅当您选择了正确模型的超集时,即删除真实系数值为零的预测变量时,非零参数才会是无偏的。如果您的选择过程导致您排除了系数为非零真实值的预测变量,则所有系数估计值都会产生偏差。如果您同意选择通常并不完美,那么这将打败您的论点。

因此,为了“确保”无偏模型估计,您应该犯错包括更多甚至所有可能相关的预测变量的方面。也就是说,您根本不应选择。

为什么这是个坏主意?由于偏差方差的折衷。是的,您的大型模型将是无偏的,但是它将具有较大的方差,并且方差将支配预测(或其他)误差。

因此,最好接受参数估计有偏差但具有较低的方差(正则化),而不希望我们的子集选择仅删除了真实的零参数,因此我们希望拥有一个具有较大方差的无偏模型。

由于您写道您使用交叉验证来评估这两种方法,因此可以缓解上述问题。最佳子集还剩下一个问题:它将某些参数约束为零,而让其他参数自由浮动。因此,估计中存在不连续性,如果我们将套索调整到包含或排除了预测变量的点之外,则不会出现不连续性。假设交叉验证输出的“最优”接近,那么我们基本上不确定是否应包含p。在这种情况下,我认为约束参数估计更有意义λ 0 p λ λ 0 β p β p = 0 β p = β OLS pλλ0pλλ0β^p通过套索设置为较小的值(绝对值),而不是完全排除,或者使其自由浮动,,与最佳子集一样。β^p=0β^p=β^pOLS

这可能会有所帮助:收缩为什么起作用?


嗯 我不认为这可以回答为什么最好的子集比套索更糟(这是这里的主要问题)。
变形虫说恢复莫妮卡

@amoeba:您想详细说明吗?
Stephan Kolassa,

好吧,我理解这个问题是在问为什么套索比最佳子集更受青睐。想象一下,我们将两者都置于交叉验证循环中,然后调整套索参数或找到最佳子集。通常建议使用套索。我理解这个问题是在问为什么?(例如,请参阅“ Q”的标题),但我不确定您的答案是否真的可以回答。还是我误会了你的答案?
变形虫说恢复莫妮卡

1
最佳子集的另一个问题是,它将某些参数约束为零,并使其他参数自由浮动,因此估计中存在不连续性,如果我们将套索调整到超过点位置,则不存在该不包含或排除预测变量。我认为,如果我们基本上不确定是否应包含,因为,那么通过套索约束参数估计更有意义,而不是让它自由漂浮。λ 0 p p λ 听,说:λ 0 β pλλ0ppλλ0β^p
Stephan Kolassa,

1
同意这个答案并不能真正回答问题-我在下面补充了我的看法...
Tom Wenseleers

11

原则上,如果可以找到最佳子集,那么它的确比LASSO更好,就以下方面而言:(1)选择对拟合有实际影响的变量,(2)不选择对拟合无贡献的变量, (3)预测准确性,以及(4)对所选变量产生基本无偏的估计。最近一篇论证最佳子集质量优于LASSO的论文是Bertsimas等人(2016)的“通过现代优化镜头选择最佳子集”de Rooi&Eilers(2011)给出了一个具体的例子(关于尖峰火车的反卷积),其中最好的子集比LASSO或ridge好

在实践中仍然首选LASSO的原因主要是因为它在计算上更容易计算。最佳子集选择(即使用伪惩罚)本质上是组合问题,并且是NP困难的,而LASSO解决方案易于使用路径坐标下降法在正则化路径上进行计算。另外,LASSO(范数惩罚回归)是伪范数惩罚回归/最佳子集选择的最紧密凸松弛(桥回归,即q接近0的范数惩罚回归在原则上比LASSO更接近最佳子集选择,但是这不再是凸优化问题,因此要拟合起来非常棘手L 1 L 0 L qL0L1L0Lq)。

为了减少LASSO的偏差,可以使用派生的多步方法,例如自适应LASSO(其中基于最小二乘或脊回归拟合的先前估计对系数进行微分惩罚)或宽松的LASSO(一种简单的解决方案是LASSO选择的变量的最小二乘拟合。与最佳子集相比,LASSO倾向于选择太多变量。最佳子集选择更好,但更难适应。

话虽如此,现在也存在有效的计算方法来进行最佳子集选择/惩罚回归,例如使用Frommlet&Nuel(2016)论文“ L0正则化的自适应岭程序”中描述的自适应岭方法。请注意,在最佳子集选择下,您仍然必须使用交叉验证或某些信息条件(调整后的R2,AIC,BIC,mBIC ...)来确定多少个预测变量可以为您提供最佳预测性能/解释力模型中变量的数量,这对于避免过度拟合至关重要。Hastie等人的论文“最佳子集选择,正向逐步选择和套索的扩展比较”(2017年)L0提供了最佳子集,LASSO和某些LASSO变量(如宽松LASSO)的广泛比较,他们声称,宽松LASSO是在最广泛的环境下产生最高模型预测精度的模型,即得出的结论与Bertsimas。但是关于哪个最佳的结论在很大程度上取决于您认为最佳的东西(例如,最高的预测准确性,或者最擅长选择相关变量,并且不包括无关变量;岭回归,例如,通常选择太多变量,但是对于但是,高度共线的变量确实可以很好地实现)。

对于像您描述的3个变量的非常小的问题,很明显,尽管最佳子集选择是首选。


1
“比套索更好”这句话中的“更好”是什么意思?
马修·德鲁里

1
为什么最佳子集与使用L0惩罚相同?最佳子集在任意大小的子集中选择最佳子集(具有最小的验证误差);至少那是OP在他们的问题中所建议的。L0惩罚要求子集的大小为(由正则化参数定义);一个可以搜索的最佳使用验证组,然后它的尺寸的最佳子集在所有可能的 ......好吧,现在我看到它是相同的:-)λ ķ ķ ķkλkkk
阿米巴恢复莫妮卡说,

编辑了我的回答以提供更多细节...
Tom Wenseleers

我认为没有任何答案可以解决稳定性问题。像逐步和所有可能的子集回归一样,lasso众所周知地也是不稳定的。换句话说,如果您要引导整个过程,则会在所选功能列表中发现太多随意性。
Frank Harrell

是的,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.