Lasso迴歸及其R語言操作

Dababao發表於2024-04-08

Lasso迴歸形式:

確定lamda使得RSS-lamda*sum(Bi)最小,RSS為普通最小二乘估計的迴歸平方和。

作用:

確定哪些變數更重要,lamda從0到1過程中,哪些變數的係數最慢趨於0,則這些變數相對更重要。

R語言程式碼:

library(glmnet)
set.seed(1)
x=matrix(rnorm(100*20),100,20)
y=rnorm(100)
fit1=glmnet(x,y)
plot(fit1,xvar="lamda",label=T)

從結果可以看出,負相關變數中8和13更為重要;正相關變數中2和3更為重要。

取lambda為0.01時,對應的係數為

b=coef(fit1,s=0.01)

未顯示的變數係數即可考慮為0,可以考慮保留變數係數較大的變數進行分析。

取lambda為0.01和0.005時做預測

predict(fit1,newx=x[1:10,],s=c(0.01,0.005))

相關文章