R

r中帶有套索的多元線性回歸

  • December 20, 2016

我正在嘗試創建一個簡化模型來預測許多高度相關的因變量 (DV) (~450)。

我的自變量(IV)也很多(~2000)並且高度相關。

如果我使用套索為每個輸出單獨選擇一個簡化模型,我不能保證在循環每個因變量時獲得相同的自變量子集。

是否有使用 R 中的套索的多元線性回歸?

這不是組套索。組套索組IV。我想要多元線性回歸(意味著DV是一個矩陣,而不是一個標量向量),它也實現了套索。(注意:正如 NRH 指出的那樣,這不是真的。組套索是一個通用術語,包括對 IV 進行分組的策略,但也包括對其他參數(例如 DV)進行分組的策略)

我發現這篇論文涉及一種叫做稀疏重疊集套索的東西

這是一些執行多元線性回歸的代碼

> dim(target)
[1] 6060  441
> dim(dictionary)
[1] 6060 2030
> fit = lm(target~dictionary)

這是一些在單個 DV 上做套索的代碼

> fit = glmnet(dictionary, target[,1])

這就是我想做的:

> fit = glmnet(dictionary, target)
Error in weighted.mean.default(y, weights) : 
 'x' and 'w' must have the same length

一次選擇適合所有目標的特徵

對於多變量響應(因變量數大於 1),您需要family = "mgaussian"glmnet.

lsgl是一種替代方案,它提供了更靈活的懲罰。

帶一個維響應,glmnet 包實現懲罰

在哪裡是係數的向量預測器。在幫助頁面中,glmnet您可以閱讀:

前者 [ family = "mgaussian"] 允許擬合多響應高斯模型,對每個變量的係數使用“組套索”懲罰。像這樣將響應捆綁在一起在某些領域稱為“多任務”學習。

此懲罰是組套索懲罰的示例,它將與同一預測變量相關聯的不同響應的參數分組。對於給定的調整參數值,它會導致在所有響應中選擇相同的預測變量。

lsgl 包實現形式的稀疏組套索懲罰

在哪裡和是為了平衡不同術語的貢獻而選擇的某些權重。默認是和. 參數是一個調整參數。和(和) 懲罰等同於 with 使用的glmnet懲罰family = "mgaussian"。和(和) 罰則為普通套索。lsgl 實現還允許對預測變量進行額外分組。 **關於組套索的說明。**術語組套索通常與一組預測變量相關聯。然而,從更一般的角度來看,組套索只是懲罰中的一組參數。glmnetwith使用family = "mgaussian"的分組是跨響應的參數分組。這種分組的效果是將響應中的參數估計耦合起來,如果可以從大致相同的一組預測變量中預測所有響應,那麼這將是一個好主意。耦合多個學習問題的一般思想,期望共享一些結構,被稱為多任務學習

引用自:https://stats.stackexchange.com/questions/252548

comments powered by Disqus