Python中的Lasso回歸之最小角算法LARS
原文鏈接:http://tecdat.cn/?p=20379?
?
假設(shè)我們期望因變量由潛在協(xié)變量子集的線性組合確定。然后,LARS算法提供了一種方法,可用于估計要包含的變量及其系數(shù)。
?LARS解決方案沒有給出矢量結(jié)果,而是由一條曲線組成,該曲線表示針對參數(shù)矢量L1范數(shù)的每個值的解決方案。該算法類似于逐步回歸,但不是在每個步驟中都包含變量,而是在與每個變量的相關(guān)性與殘差相關(guān)的方向上增加了估計的參數(shù)。
優(yōu)點:
1.計算速度與逐步回歸一樣快。
2.它會生成完整的分段線性求解路徑,這在交叉驗證或類似的模型調(diào)整嘗試中很有用。
3.如果兩個變量與因變量幾乎同等相關(guān),則它們的系數(shù)應(yīng)以大致相同的速率增加。該算法因此更加穩(wěn)定。
4.可以輕松對其進(jìn)行修改為其他估算模型(例如LASSO)提供解決方案。
5.在p??>>??n的情況下有效??(即,當(dāng)維數(shù)明顯大于樣本數(shù)時)。
缺點:
1.因變量中有任何數(shù)量的噪聲,并且自變量具有?多重共線性?,無法確定選定的變量很有可能成為實際的潛在因果變量。這個問題不是LARS獨有的,因為它是變量選擇方法的普遍問題。但是,由于LARS基于殘差的迭代擬合,因此它似乎對噪聲的影響特別敏感。
2.由于現(xiàn)實世界中幾乎所有高維數(shù)據(jù)都會偶然地在某些變量上表現(xiàn)出一定程度的共線性,因此LARS具有相關(guān)變量的問題可能會限制其在高維數(shù)據(jù)中的應(yīng)用。
Python代碼:
import matplotlib.pyplot as plt # 繪圖
diabetes
查看數(shù)據(jù)?

x /= np.sqrt(np.sum((x)**2, axis=0)) # 歸一化 x
lars.steps() # 執(zhí)行的步驟數(shù)
est = lars.est() # 返回所有LARS估算值
plt.show()
?
?

?

最受歡迎的見解
1.R語言多元Logistic邏輯回歸 應(yīng)用案例
2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實現(xiàn)
3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松Poisson回歸模型分析案例
5.R語言回歸中的Hosmer-Lemeshow擬合優(yōu)度檢驗
6.r語言中對LASSO回歸,Ridge嶺回歸和Elastic Net模型實現(xiàn)
7.在R語言中實現(xiàn)Logistic邏輯回歸
8.python用線性回歸預(yù)測股票價格
9.R語言如何在生存分析與Cox回歸中計算IDI,NRI指標(biāo)
