拓端數據|R語言Lasso回歸模型變量選擇和糖尿病發展預測模型應用(含練習)


原文鏈接:http://tecdat.cn/?p=22721 

原文出處:拓端數據部落公眾號

 

Lease Absolute Shrinkage and Selection Operator(LASSO)在給定的模型上執行正則化和變量選擇。根據懲罰項的大小,LASSO將不太相關的預測因子縮小到(可能)零。因此,它使我們能夠考慮一個更簡明的模型。在這組練習中,我們將在R中實現LASSO回歸。
 

練習1

加載糖尿病數據集。這有關於糖尿病的病人水平的數據。數據為n = 442名糖尿病患者中的每個人獲得了10個基線變量、年齡、性別、體重指數、平均血壓和6個血清測量值,以及感興趣的反應,即一年后疾病進展的定量測量。"
接下來,加載包用來實現LASSO。

head(data)

練習2

數據集有三個矩陣x、x2和y。x是較小的自變量集,而x2包含完整的自變量集以及二次和交互項。
檢查每個預測因素與因變量的關系。生成單獨的散點圖,所有預測因子的最佳擬合線在x中,y在縱軸上。用一個循環來自動完成這個過程。
 

summary(x)

  1.  
    for(i in 1:10){
  2.  
    plot(x[,i], y)
  3.  
    abline(lm(y~x[,i])
  4.  
    }

 

 

練習3

使用OLS將y與x中的預測因子進行回歸。我們將用這個結果作為比較的基准。

lm(y ~ x)

 

 

練習4

繪制x的每個變量系數與β向量的L1准則的路徑。該圖表明每個系數在哪個階段縮減為零。

  1.  
     
  2.  
    plot(model_lasso)

 

 

練習5

得到交叉驗證曲線和最小化平均交叉驗證誤差的lambda的值。

plot(cv_fit)

 

練習6

使用上一個練習中的lambda的最小值,得到估計的β矩陣。注意,有些系數已經縮減為零。這表明哪些預測因子在解釋y的變化方面是重要的。

 

> fit$beta

練習7

為了得到一個更簡明的模型,我們可以使用一個更高的λ值,即在最小值的一個標准誤差之內。用這個lambda值來得到β系數。注意,現在有更多的系數被縮減為零。

lambda.1se

 

beta

 

 

練習8

如前所述,x2包含更多的預測因子。使用OLS,將y回歸到x2,並評估結果。

 

summary(ols2)

 

練習9

對新模型重復練習-4。

  1.  
    lasso(x2, y)
  2.  
    plot(model_lasso1)

 

 

練習10

對新模型重復練習5和6,看看哪些系數被縮減為零。當有很多候選變量時,這是縮小重要預測變量的有效方法。

plot(cv_fit1)

beta

 

 

 


最受歡迎的見解

1.R語言多元Logistic邏輯回歸 應用案例

2.面板平滑轉移回歸(PSTR)分析案例實現

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語言泊松Poisson回歸模型分析案例

5.R語言回歸中的Hosmer-Lemeshow擬合優度檢驗

6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現

7.在R語言中實現Logistic邏輯回歸

8.python用線性回歸預測股票價格

9.R語言如何在生存分析與Cox回歸中計算IDI,NRI指標


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM