在LASSO模型中选择的合理性如何,以便产生一个人们想要的非零预测变量数?


11

当我通过交叉验证确定我的lambda时,所有系数都变为零。但是我从文献中得到一些暗示,一些预测因素肯定会影响结果。随意选择lambda以使稀疏性与人们所希望的一样多是垃圾吗?

我想从135个Cox模型中选择前10个左右的预测变量,不幸的是效果的大小很小。


6
听起来您应该先使用翔实的信息,因为您有非基于数据的信息。
概率

从内心深处,我觉得那是正确的,不幸的是,即使到现在,我仍然完全缺乏统计能力。
miura

1
您似乎会混淆两件事:(1)如果文献告诉您使用特定的预测变量,则将它们包括在所有模型中。(2)相反,您似乎将其重新解释为表明您应该从许多预测变量中选择一定的数目,无论它们是否包括文献中提到的特定预测变量。您能否阐明您实际要完成的工作?
ub

Answers:


4

如果您希望至少有一定数量的预测变量,并且其文献定义的值范围一定,那么为什么要选择纯LASSO方法呢?正如@probabilityislogic所建议的那样,您应该在了解某些变量的情况下使用一些先验信息。如果要为其余的预测变量保留一些LASSO属性,则可以为每个输入使用具有双指数分布的先验,即,使用 其中λ

p(βi)=λ2exp(λ|βi|),
λ是对应于纯LASSO解决方案的拉格朗日乘数。最后一个陈述来自这样的事实,即在缺少具有先验信息的变量的情况下,这是得出LASSO的另一种方法(通过最大化给定残差的正态假设的后验模式)。

3

存在一种执行LASSO的好方法,但是使用固定数量的预测变量。这是Efron论文中描述的最小角度回归(LAR或LARS)。在迭代过程中,它创建了许多线性模型,每个新模型都有一个更多的预测变量,因此您可以选择一个具有所需数量的预测变量的模型。

另一种方法是或正则化。如Nestor所述,使用适当的先验条件可以将先验知识整合到模型中。Tipping所谓的相关向量机可能很有用。2l1l2


3
尽管LARS和套索密切相关,但对于固定数量的预测变量,它们甚至可能不包含相同的变量。可以为套索选择一个惩罚值,该惩罚值可以提供所需的预测变量数量,但是在两种情况下,选择都不是唯一的!因此,OP尚未提供定义明确的程序,这是问题的一部分。对于LARS,有一个很好的好处,即产生一定数量的预测变量的惩罚值形成一个间隔,因此选择一个端点(哪个?)或中点或其他一些标准会更容易。
红衣主教

1
是的,LARS和LASSO确实不相同,但是可以引入原始文章中作者建议的LARS的简单修改,以使用基于LARS的技术获得LASSO解决方案。
Alexey Zaytsev 2012年

是的,阿列克谢,这是真的。我想我的评论围绕着为什么首先要转向LARS。通常可以很容易地为套索选择惩罚参数的值,该值会产生所需数量的预测变量。未解决的主要问题是如何进行唯一选择以及在OP的情况下可能产生的后果。:)
红衣主教

2

不,那是没有根据的。设计模型选择程序要克服的最大障碍是,真正支持的基数未知。(这里有是“真”系数。)因为未知的是,模型选择过程必须详尽搜索所有可能的模型;但是,如果我们知道,我们可以只检查模型,该模型要少得多。β * | S * | 2 p | S * | p|S|=|{j:βj0}|β|S|2p|S|(p|S|)

套索的理论依赖于正则化参数足够大,以使所选模型足够稀疏。可能是您的10个功能太多或太少,因为将的下限变为的上限并不容易。λ | S * |λλ|S|

假设是我们对数据驱动的估算,然后将。然后,也许您正在尝试确保以便至少恢复了相关功能?或者,也许您正在尝试建立以便您知道所找到的功能都是值得的?在这些情况下,如果您事先有关于的相对大小的信息,那么您的过程将更加合理。 β *小号 ={Ĵβ^β小号*小号小号小号*小号*S^={j:β^j0}SS^S^SS

另外,请注意,在执行套索操作时,您可以保留一些系数未变质的值glmnet

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.