变量选择--岭回归

来源:互联网 发布:软件招聘信息 编辑:程序博客网 时间:2024/04/24 16:44

假设数据是 (Yi;Xi1,,Xip),i=1,2,,n.
高维数据(大 p)分析方法:
1. 降维:岭回归(Ridge regression);Lasso; Dantzig selector
2. 特征提取: 主成分分析(PCA)


岭回归:

β̂ ridge=(YXβ)T(YXβ)+λβ22

对设计矩阵X进行奇异值分解(SVD)

X=UDVT

其中,D=diag(d1,,dp). U,V均为正交矩阵. 带入β̂ ridge可得
β̂ ridge=V[diag(d1d21+λ,,dpd2p+λ)]UTY

性质:
1. 有偏 E(β̂ ridge)β
2. var(Xβ̂ ridge)var(Xβ̂ ols)
3. λ 增大,β̂ ridge0 (但很少=0)
4. 需要人为选择一个阈值δ,当β̂ ridgej<δ 时,认为β̂ ridgej=0
5. 适用于X非奇异但是高度线性相关(接近奇异)的情况下


例如:Data 为longley,X=( GNP, Unemployed, Armed.Forces, Population, Year, Employed),6个输入变量。
R code:

library(MASS)
longley # not the same as the S-PLUS dataset
names(longley)[1] <- "y"
cor(longley)
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.0001)))

最终β̂ ridge=(2946.86,0.26,0.04,0.01,1.74,1.42,0.23).

变量间的线性相关性:

变量间的线性相关性:

6个自变量之间高度线性相关,随着λ的增大,回归系数的变化:

回归系数

0 0
原创粉丝点击