原文連結:http://tecdat.cn/?p=25158
原文出處:拓端數據部落公眾號
本文擬合具有分組懲罰的線性回歸、GLM和Cox回歸模型的正則化路徑。這包括組選擇方法,如組lasso套索、組MCP和組SCAD,以及雙級選擇方法,如組指數lasso、組MCP。還提供了進行交叉驗證以及擬合後可視化、總結和預測的實用程序。
本文提供了一些數據集的例子;涉及識別與低出生體重有關的風險因素。結果是連續測量(bwt,以公斤為單位的出生體重),也可以是二分法(低),即新生兒出生體重低(低於2.5公斤)。
head(X)
原始設計矩陣由 8 個變量組成,此處已將其擴展為 16 個特徵。例如,有多個種族指標函數(「其他」是參考組),並且已經使用多項式對比擴展了幾個連續因素(例如年齡)(樣條曲線會給出類似的結構)。因此,設計矩陣的列被 分組;這就是組的設計目的。分組信息編碼如下:
group
在這裡,組是作為一個因子給出的;唯一的整數代碼(本質上是無標籤的因子)和字符向量也是允許的(然而,字符向量確實有一些限制,因為組的順序沒有被指定)。要對這個數據擬合一個組套索lasso模型。
gLas(X, y,grup)
然後我們可以用以下方法繪製係數路徑
plot
請注意,當一個組進入模型時(例如,綠色組),它的所有係數都變成非零;這就是組套索模型的情況。要想知道這些係數是什麼,我們可以使用coef。
請注意,在λ=0.05時,醫生的就診次數不包括在模型中。
為了推斷模型在各種 λ值下的預測準確性,進行交叉驗證。
cv(X, y, grp)
可以通過coef以下方式獲得與最小化交叉驗證誤差的 λ 值對應的係數 :
coef(cvfit)
預測值可以通過 獲得 predict,它有許多選項:
predict # 對新觀察結果的預測
predicttype="ngroups" # 非零組的數量
# 非零組的身份
nvars # 非零係數的數量
predict(fit # 非零係數的身份
原始擬合(對完整數據集)返回為fit; 其他幾種懲罰是可用的,邏輯回歸和 Cox 比例風險回歸的方法也是如此。
最受歡迎的見解
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用線性回歸預測股票價格