投げ縄とリッジを使用する必要があるのはいつですか?


167

多数のパラメーターを推定したいのですが、他のパラメーターと比較してほとんど効果がないはずだと思うので、いくつかのパラメーターにペナルティを科したいとします。使用するペナルティスキームを決定するにはどうすればよいですか?リッジ回帰はいつ適切ですか?投げ縄を使用する必要があるのはいつですか?


「多数のパラメータを推定したい」と、これをより正確に行うことができます。フレームワークとは何ですか?線形回帰ですか?
ロビンジラール

2
同様の問題は、単に(心の中でそのL1 = LASSOおよびL2 =尾根を維持する)metaoptimizeに頼まれました:metaoptimize.com/qa/questions/5205/...
ガエルVaroquaux

「なげなわと尾根」は、それらが唯一の2つの選択肢であるかのように言います。一般化された二重パレート、馬蹄、bma、橋などはどうでしょうか。
確率論的

回答:


106

リッジ回帰では係数をゼロにできないことに注意してください。したがって、最終的にモデルのすべての係数を含めるか、まったく含めないかのいずれかです。対照的に、LASSOはパラメーターの縮小と変数の選択の両方を自動的に行います。共変量の一部が高度に相関している場合、LASSOではなくElastic Net [3]を確認することをお勧めします。

個人的には、非負のガロット(NNG)[1]を使用することをお勧めします。これは、推定と変数選択[2]の点で一貫しているためです。LASSOやリッジ回帰とは異なり、NNGは初期推定値を必要としますが、これはその後原点に向かって縮小されます。元の論文では、Breimanは初期推定に最小二乗解を推奨しています(ただし、リッジ回帰解から検索を開始し、GCVなどを使用してペナルティパラメータを選択することもできます)。

利用可能なソフトウェアの観点から、元のNNGをMATLABに実装しました(Breimanの元のFORTRANコードに基づいて)。以下からダウンロードできます。

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

ところで、ベイジアンソリューションを好む場合は、[4,5]を参照してください。

参照:

[1] Breiman、L。非負のGarrote Technometricsを使用したサブセットのより良い回帰、1995、37、373-384

[2] Yuan、M.&Lin、Y.非負のガロット推定量について王立統計学会誌(シリーズB)、2007、69、143-161

[3] Zou、H.&Hastie、T.エラスティックネットによる正則化と変数選択王立統計学会誌(シリーズB)、2005年、67、301-320

[4] Park、T.&Casella、G. The Bayesian Lasso Journal of the American Statistical Association、2008、103、681-686

[5] Kyung、M .; ギル、J。Ghosh、M.&Casella、G.罰則付き回帰、標準誤差、およびベイジアンラッソスベイジアン分析、2010年、5、369-412


2
尾根となげなわをもっと具体的に教えてください。自動な変数選択が投げ縄を好む唯一の理由ですか?
チョグ

42

RidgeまたはLassoは、正規化された線形回帰の形式です。正則化は、最大事後推定法において事前と解釈することもできます。この解釈の下で、リッジと投げ縄は、入力データと出力データを関連付けるために推論する線形変換のクラスについて異なる仮定を行います。リッジでは、線形変換の係数は正規分布であり、投げ縄ではラプラス分布です。投げ縄では、これにより係数がゼロになりやすくなり、したがって、出力に寄与しない入力変数の一部を簡単に削除できます。

いくつかの実用的な考慮事項もあります。リッジは、実装が少し簡単で、計算も高速です。これは、所有するデータのタイプによっては問題になる場合があります。

両方を実装している場合は、データのサブセットを使用して尾根となげなわを見つけ、それらが左側のデータでどの程度うまく機能しているかを比較します。エラーから、どちらを使用するかがわかります。


8
わかりません-係数がラプラスであるか正規分布であるかをどのように知りますか?
ihadanny

1
リッジ回帰はなぜ計算が速いのですか?
アーチー

4
@Hbar:「正則化は、事後推定法の最大値で事前に解釈することもできます。」:数学記号を使用してこの部分をさらに詳しく説明してもらえますか、少なくとも参考にしてください。ありがとう!
Mathmath

2
@ihadannyあなたはおそらくおそらく知らないでしょう、そしてそれがポイントです。あなたはどちらを事後的に保持するかを決めることができます。
Firebug

30

一般的に、多くの中小サイズのエフェクトがある場合、リッジを使用する必要があります。効果が中/大の変数が数個しかない場合は、なげなわを使用します。 ヘイスティ、ティブシラーニ、フリードマン


4
ただし、いくつかの変数がある場合、中規模または大規模な効果がある場合はすべてをモデルに保持することができます。これらの変数の1つが削除される可能性があるため、投げ縄ではそうではありません。これについて詳しく説明していただけますか?多くの変数がある場合は、Lassoを使用して、リッジではなく不要な変数を削除します。
アーディティヤバンダリ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.