岭回归是专门用于共线性数据分析的有偏估计的回归方法,实际上是一种改良的最小二乘法,但它放弃了最小二乘的无偏性,损失部分信息,放弃部分精确度为代价来寻求效果稍差但更符合实际的回归方程。
此处介绍下岭回归的回归系数公式,B(k)=(X’X+kI)-1X’Y作为回归系数的估计值,此值比最小二乘估计稳定。称B(k)为回归系数的岭估计。显然,当k=0时,则B(k)就成为了最小二乘估计;而当k→∞时,B(k)就趋于0。因此,k值不宜太大,我们要让k值小些。
当不存在奇异性时,岭迹应是稳定地逐渐趋向于0
通过岭迹图观察岭估计的情况,可以判断出应该剔除哪些变量
选择k(或lambda)值,使到
(1)各回归系数的岭估计基本稳定;
(2)用最小二乘估计时符号不合理的回归系数,其岭估计的符号变得合理;
(3)回归系数没有不合乎实际意义的绝对值;
(4)残差平方和增大不太多。
代码:
library(MASS)
longley
summary(fm1 <- lm(Employed ~ ., data = longley))
names(longley)[1] <- "y"
lm.ridge(y ~ ., longley)
plot(lm.ridge(y ~ ., longley, lambda = seq(0,0.1,0.001)))
select(lm.ridge(y ~ ., longley, lambda = seq(0,0.1,0.001)))
岭回归存在的问题:
LASSO
Tibshirani(1996)提出了Lasso(The Least Absolute Shrinkage and Selectionatoroperator)算法
通过构造一个一阶惩罚函数获得一个精炼癿模型;通过最终确定一些指标(变量)癿系数为零(岭回归估计系数等于0癿机会微乎其微,造成筛选变量困难),解释力很强
擅长处理具有多重共线性癿数据,不岭回归一样是有偏估计
Zouand Hastie (2005)提出elasticnet