Regression

線性回歸最小化sklearn中的MAD

  • January 21, 2019

標準 sklearn 線性回歸類在變量和協變量之間找到近似線性關係,以最小化均方誤差 (MSE)。具體來說,讓 N 是觀察的數量,為簡單起見讓我們忽略截距。讓 yj 是變量的值 j -th 觀察和 x1,j,,xn,j 是的值 n 的協變量 j -第一次觀察。線性關係的形式為 y=β1x1+βnxn;

其中係數 β1,,βnβ1,,βn=argmin˜β1,,˜βn(Nj=1(yj˜β1x1,j˜βnxn,j)2).

我現在希望找到最小化平均絕對偏差 (MAD) 而不是均方誤差的係數。即,我想要給出的係數 β1,,βn=argmin˜β1,,˜βn(Nj=1|yj˜β1x1,j˜βnxn,j|).

我知道,與 MSE 案例形成鮮明對比的是,絕對值函數在 0 意味著對於 MAD 案例沒有解析解。但是後者仍然是一個凸優化問題,根據這個答案,可以很容易地通過線性規劃來解決。

是否可以在 sklearn 中實現這種線性回歸?使用其他統計工具包怎麼樣?

預期 MAD 通過分佈的中位數最小化(Hanley, 2001, The American Statistician;另請參閱為什麼最小化 MAE 會導致預測中位數而不是均值?)。因此,您正在尋找將產生條件中位數而不是條件均值的模型。

這是一個特殊情況分位數回歸,特別是對於 50% 的分位數。Roger Koenker 是分位數回歸的主要大師;特別參見他的書Quantile Regression

有多種方法可以在 Python 中進行分位數回歸。本教程可能會有所幫助。如果您願意使用 R,則可以使用該quantreg軟件包。

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