Regression

為什麼當特徵相關時 Lasso 或 ElasticNet 比 Ridge 表現更好

  • February 25, 2017

我有一組 150 個特徵,其中許多特徵彼此高度相關。我的目標是預測一個離散變量的值,其範圍是1-8。我的樣本量是550,我正在使用10 折交叉驗證。

AFAIK,在正則化方法(Lasso、ElasticNet 和 Ridge)中,Ridge 對特徵之間的相關性更加嚴格。這就是為什麼我期望通過 Ridge,我應該獲得更準確的預測。然而,我的結果顯示 Lasso 或 Elastic 的平均絕對誤差約為0.61,而嶺回歸的該分數為0.97。我想知道對此有何解釋。這是因為我有很多特徵,而 Lasso 表現更好是因為它進行了一種特徵選擇,擺脫了冗餘特徵?

假設您有兩個高度相關的預測變量 $ x,z $ ,並假設兩者都是居中和縮放的(意味著零,方差一)。那麼參數向量上的嶺懲罰為 $ \beta_1^2 + \beta_2^2 $ 而套索懲罰項是 $ \mid \beta_1 \mid + \mid \beta_2 \mid $ . 現在,由於模型被認為是高度共線的,所以 $ x $ 和 $ z $ 在預測中或多或少可以相互替代 $ Y $ , 這麼多的線性組合 $ x, z $ 我們只是部分替代 $ x $ 為了 $ z $ , 將與預測變量非常相似,例如 $ 0.2 x + 0.8 z, 0.3 x + 0.7 z $ 或者 $ 0.5 x + 0.5 z $ 將與預測器一樣好。現在看這三個例子,三種情況下的lasso懲罰都是相等的,都是1,而嶺懲罰不同,分別是0.68、0.58、0.5,所以嶺懲罰會偏好共線變量的等權重而lasso懲罰將無法選擇。這是 ridge(或更一般地說,彈性網絡,它是 lasso 和 ridge 懲罰的線性組合)與共線性預測變量一起工作的原因之一:當數據幾乎沒有理由在共線性預測變量的不同線性組合之間進行選擇時,lasso 只會“漫遊”,而 ridge 傾向於選擇相等的權重。最後一個可能是與未來數據一起使用的更好猜測!而且,如果目前的數據是這樣,那麼在交叉驗證中可能會顯示出使用嶺的更好結果。

我們可以用貝葉斯的方式來看待這一點:Ridge 和 lasso 暗示了不同的先驗信息,而 ridge 所暗示的先驗信息在這種情況下往往更合理。(這裡的解釋,或多或少是從 Trevor Hastie、Robert Tibshirani 和 Martin Wainwright 所著的“稀疏的統計學習套索和概括”一書中學到的,但此時我無法找到直接引用)。


但是OP似乎有一個不同的問題:

然而,我的結果顯示 Lasso 或 Elastic 的平均絕對誤差約為0.61 ,而嶺回歸的該分數為0.97

現在,lasso 也在有效地進行變量選擇,它可以將一些係數設置為零。Ridge 無法做到這一點(除非概率為零。)因此,對於 OP 數據,在共線性變量中,一些是有效的,而另一些則根本不起作用(並且共線性程度足夠低以至於可以檢測到) .) 請參閱我應該何時使用套索與山脊? 這是討論的地方。詳細分析需要比問題中提供的更多信息。

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

comments powered by Disqus