sklearnでMADを最小化する線形回帰


7

回帰クラス線形標準sklearnは、平均二乗誤差(MSE)を最小変量と共変量との間の近似直線関係を見出します。具体的には、を観測値の数とし、簡略化のために切片を無視します。ましょうの変量値で番目の観察との値であるの共変量番目の観測。線形関係は、 ここで、係数は、 Nyjjx1,j,,xn,jnj

y=β1x1+βnxn;
β1,,βn
β1,,βn=argminβ~1,,β~n(j=1N(yjβ~1x1,jβ~nxn,j)2).

ここで、平均二乗誤差ではなく、平均絶対偏差(MAD)を最小化する係数を見つけたいと思います。つまり、

β1,,βn=argminβ~1,,β~n(j=1N|yjβ~1x1,jβ~nxn,j|).

MSEの場合とは対照的に、での絶対値関数の微分可能性の欠如は、MADの場合の解析解がないことを意味します。しかし、後者は依然として凸最適化問題であり、この回答によれば、線形計画法によって簡単に解決できます。0

この線形回帰をsklearnに実装することは可能ですか?他の統計ツールキットの使用についてはどうですか?


5
これを再開するためにノミネートしました。はい、問題はsklearnまたはPythonで一般的にタスクを実行する方法についてです。しかし、それは理解したり答えるために統計的な専門知識を必要としている、上のトピックを明示的
ステファンコラサ

1
@StephanKolassa私はあなたに同意する-質問がリニューアルオープンする必要があります...
ジェームズ・フィリップス

回答:


12

予想されるMADは、分布の中央値によって最小化されます(Hanley、2001、The American Statistician)。したがって、あなたが得られますモデルを探している条件付きの中央値を代わりに、条件付き平均

これは特別なケースです 、特に50%分位の場合。Roger Koenkerは、分位回帰の主要な第一人者です。特に彼の名を冠した本をご覧ください。

Pythonで変位値回帰を行う方法はいくつかあります。このチュートリアルは役に立ちます。Rを使用することにオープンであれば、quantregパッケージを使用できます。


2
pythonでは、statsmodelsstatsmodels.org /dev
Tim

1
ありがとう!これは実際に問題を確認する簡単な方法です...
Giovanni De Gaetano
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.