假设我想估算大量参数,并且想对其中一些参数进行惩罚,因为我认为它们与其他参数相比影响不大。如何决定使用哪种惩罚方案?什么时候进行岭回归更合适?我什么时候应该使用套索?
假设我想估算大量参数,并且想对其中一些参数进行惩罚,因为我认为它们与其他参数相比影响不大。如何决定使用哪种惩罚方案?什么时候进行岭回归更合适?我什么时候应该使用套索?
Answers:
请记住,岭回归不能将系数归零。因此,最终要么包含模型中的所有系数,要么都不包含它们。相反,LASSO会自动执行参数收缩和变量选择。如果您的某些协变量高度相关,则可能需要查看Elastic Net [3]而不是LASSO。
我个人建议使用非负Garotte(NNG)[1],因为它在估计和变量选择[2]方面是一致的。与LASSO和山脊回归不同,NNG需要初始估计,然后将其缩小到原点。在原始论文中,Breiman建议使用最小二乘解法进行初始估计(但是,您可能希望从岭回归解法开始搜索,并使用类似GCV的方法来选择惩罚参数)。
在可用软件方面,我已经在MATLAB中实现了原始的NNG(基于Breiman的原始FORTRAN代码)。您可以从以下位置下载:
http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip
顺便说一句,如果您喜欢贝叶斯解决方案,请查看[4,5]。
参考文献:
[1] Breiman,L.使用非负Garrote技术进行更好的子集回归,1995,37,373-384
[2] Yuan M.&Lin,Y.论非负garrotte估计量《皇家统计学会杂志》(B系列),2007,69,143-161
[3] Zou,H.&Hastie,T.通过弹性网进行正则化和变量选择《皇家统计学会杂志》(系列B),2005,67,301-320
[4] Park,T.&Casella,G.贝叶斯套索《美国统计协会杂志》,2008年,第103卷,第681-686页
[5] Kyung,M .;吉尔,J。Ghosh,M.&Casella,G.罚分回归,标准误和贝叶斯拉索斯贝叶斯分析,2010,5,369-412
Ridge或套索是正则线性回归的形式。在最大后验估计方法中,也可以将正则化解释为先验。在这种解释下,岭和套索对线性变换的类别做出了不同的假设,它们推断出它们将输入和输出数据相关联。在山脊中,线性变换的系数是正态分布,在套索中,它们是拉普拉斯分布。在套索中,这使系数更容易为零,从而更容易消除一些输入变量,因为它们对输出没有帮助。
还有一些实际考虑。脊线更易于实现和计算,这可能取决于您拥有的数据类型。
如果两者都实现了,请使用数据的子集找到山脊和套索,并比较它们在剩余数据上的工作情况。这些错误应使您对使用哪种方法有所了解。
通常,当您有许多中小型效果时,应使用ridge。如果只有几个变量具有中等/较大的影响,请使用套索。 Hastie,Tibshirani,弗里德曼