与弹性网有关的困惑

机器算法验证 回归 套索 弹性网
2022-03-22 02:59:27

我正在阅读与弹性网相关的文章。他们说他们使用弹性网络是因为如果我们只使用 Lasso,它往往会在高度相关的预测变量中只选择一个预测变量。但这不是我们想要的。我的意思是它使我们免于多重共线性的麻烦,不是吗。

有什么建议/澄清吗?

3个回答

假设两个预测变量对响应有很强的影响,但在您构建模型的样本中高度相关。如果您从模型中删除一个,它将无法很好地预测来自预测变量不高度相关的相似群体的样本。

如果您想在存在多重共线性的情况下提高系数估计的精度,您必须引入一点偏差,通过更大的方差减少来抵消它。一种方法是完全删除预测变量——使用 LASSO,或者在过去,逐步方法——将它们的系数估计设置为零。另一种方法是对所有估计值进行一些偏差——使用岭回归,或者在过去,对前几个主成分进行回归。前者的一个缺点是,如果模型将用于预测与原始样本中发生的预测模式不同的预测模式的响应,这是非常不安全的,因为预测模式往往被排除在外,因为它们与其他模式一起使用不多,几乎共线的预测因子. (并不是说外推是完全安全的。)正如@user12436 解释的那样,弹性网络是两者的混合体,并且倾向于在模型中保留相关预测变量组。

但这不是我们想要的。我的意思是它使我们免于多重共线性的麻烦,不是吗。

是的!和不。弹性网络是两种正则化技术的组合,L2 正则化(用于岭回归)和 L1 正则化(用于 LASSO)。

Lasso 产生自然稀疏的模型,即大部分变量系数将被收缩到 0 并有效地排除在模型之外。因此,在收缩其他变量之前,最不重要的变量会被收缩掉,这与 ridge 不同,其中所有变量都被收缩,而没有一个真正收缩到 0。

弹性网络使用这两种方法的线性组合。Hastie在讨论该方法时提到的具体情况是大p,小n的情况。这意味着:高维数据,相对较少的观察。在这种情况下,LASSO 将(据报道)最多只选择 n 个变量,同时消除所有其他变量,请参阅 Hastie 的论文

它总是取决于实际的数据集,但您可以很好地想象,您并不总是希望模型中变量数量的上限等于或低于观察值的数量。

Lasso 和 Elastic Net 都是在高维数据设置中执行变量或特征选择的有效方法(比患者或样本多得多的变量;例如,20,000 个基因和 500 个肿瘤样本)。

Hastie 和其他人已经证明,当数据高度相关时,Elastic Net 可以胜过 Lasso。Lasso 可能只选择一个相关变量,而不关心选择了哪一个。当人们想要验证独立数据集中的选定变量时,这可能是一个问题。Lasso 选择的变量可能不是所有相关变量中最好的预测变量。Elastic Net 通过平均高度相关的变量来解决这个问题。