admin 管理员组

文章数量: 1087139


2024年4月15日发(作者:flexible用法及搭配)

修正的LARS算法和lasso

2011/04/25 郝智恒

在小弟的上一篇文章中,简单的介绍了LARS算法是怎么回事。主要参考的是Efron

等人的经典文章least angle regression。在这篇文章中,还提到了一些有趣的看法,比如

如何用LARS算法来求解lasso estimate和forward stagewise estimate。这种看法将我

对于模型选择的认识提升了一个层次。在这个更高的层次下看回归的变量选择过程,似乎

能有一些更加创新的想法。

lasso estimate的提出是Tibshirani在1996年RSSB上的一篇文章Regression

shrinkage and selection via lasso。所谓lasso,其全称是least absolute shrinkage and

selection operator。其想法可以用如下的最优化问题来表述:

在限制了的情况下,求使得残差平方和

达到最小的回归系数的估值。

我们熟悉如何求解限制条件为等号时,回归方程的求解。也就是用lagrange乘子法

求解。但是对于这种,限制条件是不等号的情况,该如何求解,则有两种想法。第一种,

也是我比较倾向于的方法,是利用计算机程序,对从开始,不断慢慢增加它的值,然后

对每个,求限制条件为等号时候的回归系数的估计,从而可以以的值为横轴,作出一系列

的回归系数向量的估计值,这一系列的回归系数的估计值就是lasso estimation。另外一

种想法,是借助与最优化问题中的KKT条件,用某个黑箱式的算法,求解。(本人对于最

优化方面的东西实在是不很熟悉,故不在此弄斧,只求抛砖引玉,能有高手给出这种想法

的具体介绍。)

lasso estimate具有shrinkage和selection两种功能,shrinkage这个不用多讲,

本科期间学过回归分析的同学应该都知道岭估计会有shrinkage的功效,lasso也同样。

关于selection功能,Tibshirani提出,当值小到一定程度的时候,lasso estimate会使

得某些回归系数的估值是,这确实是起到了变量选择的作用。当不断增大时,选入回归

模型的变量会逐渐增多,当增大到某个值时,所有变量都入选了回归模型,这个时候得到

的回归模型的系数是通常意义下的最小二乘估计。从这个角度上来看,lasso也可以看做是

一种逐步回归的过程。

在我的上一篇文章中,提到了Efron对于逐步回归的一种看法,就是在某个标准之下

(比如LARS的标准就是要保证当前残差和已入选变量之间的相关系数相等,也就是当前

残差在已入选变量的构成空间中的投影,是那些变量的角平分线)选择一条solution path,

在这个solution path上proceed,不断吸收新的变量进入,然后调整solution path 继

续proceed。那么对于求解lasso的算法,也有一个相应的对应。Efron提出了一种修正

的LARS算法,可以用修正的LARS算法来求解所有的lasso estimates。下面我介绍一下

这种修正的LARS算法。

首先假设我们已经完成了几步LARS steps。这时候,我们已经有了一个回归变量集,

我们记这个回归变量集为。这个集合就对应着一个对于的估计,我们记为。这个估

值对应着一个lasso方法对于响应的估值(这里我认为LARS估值和lasso估值应该是一

样的),lasso的估值,对应着回归系数的lasso估值,回归系数向量的lasso估值我们记

为。

为了继续进行下一步,我们先给出一个向量的表达式,然后再解释一下它


本文标签: 变量 估值 回归 回归系数 选择