相互作用用語を含むLASSO-主効果がゼロに縮小されても大丈夫ですか?


25

LASSO回帰は係数をゼロに向けて縮小するため、効果的にモデルを選択できます。私のデータには、名義共変量と連続共変量の間に意味のある相互作用があると思います。ただし、必ずしも真のモデルの「主効果」が意味がある(ゼロ以外)わけではありません。もちろん、本当のモデルは不明なので、私はこれを知りません。私の目的は、真のモデルを見つけ、可能な限り密接に結果を予測することです。

モデル構築の古典的なアプローチには、相互作用が含まれる前に主効果が常に含まれることがわかった。したがって、同じモデル内に共変量相互作用がある場合、2つの共変量と主効果のないモデルは存在できません。結果として、この関数は 、この規則に従うモデル用語(例えば、後方または前方AICに基づいて)を慎重に選択します。バツZバツZstepR

LASSOの動作は異なるようです。すべてのパラメーターにペナルティが課されるため、主効果がゼロに縮小されるのに対し、最良の(たとえば、相互検証された)モデルの相互作用はゼロではないことは間違いありません。これは、特にRglmnetパッケージを使用しているときにデータに見られます。

上記の最初のルールに基づいて批判を受けました。つまり、最終的な交差検証されたLassoモデルには、非ゼロ相互作用の対応する主効果項が含まれていません。しかし、この文脈ではこの規則はやや奇妙に思えます。結局のところ、真のモデルのパラメーターがゼロかどうかという問題です。そうだと仮定しますが、相互作用はゼロではないので、LASSOはおそらくこれを識別し、正しいモデルを見つけます。実際、このモデルには実際にはノイズ変数である真のゼロの主効果が含まれていないため、このモデルからの予測はより正確になるようです。

この根拠に基づいて批判に反論することはできますか、それともLASSOには相互作用期間の前に主な効果が含まれることに何らかの注意を払う必要がありますか?


2
誰かがこれを断った。興味がある
理由

1
あなたの目標の予測、推論、または何か他のものはすべて一緒ですか?
アンドリューM

@AndrewM可能な限り真のモデルを推定し、従属変数の原因となっている変数を解釈し、予測値も使用します。
トムカ

2
最初の目標では、モデルの選択において相互検証が一貫していないことに注意してください。実際、「真の」モデルは予測パフォーマンスの推定値を最大化するモデルのサブセットになる傾向があることが示されています。2番目の目標については、投げ縄が強く偏った推定値を提供することに注意してください。だから私はあなたがあなたの主な目標は何かを決定し、有用なアドバイスを提供する前に明確にするために質問を編集する必要があると思う
アンドリューM

@AndrewM私の質問は次のとおりです。LASSOを使用する場合、主効果をモデルに含めるべきですか?この質問は、私の目的の両方について個別に回答される場合があります。私は質問にさらなる修正が必要だとは思いませんが、これらの目的を指摘することが重要です。最初の段落の編集を参照してください。
トムカ

回答:


10

この質問に答えることの難しさの1つは、ほとんどの実世界のアプリケーションでLASSOを「真の」モデルのアイデアと調和させるのが難しいことです。その場合、変数選択手法と同様に、LASSOによって非ゼロ係数で返される特定の予測子は、基礎となる母集団からのサンプリングの気まぐれに依存します。これを確認するには、同じデータセットの複数のブートストラップサンプルでLASSOを実行し、返された予測変数のセットを比較します。

さらに、@ AndrewMがコメントで指摘したように、LASSOが提供する推定値のバイアスは、結果を「可能な限り厳密に」予測しないことを意味します。むしろ、避けられないバイアス分散トレードオフの特定の選択に基づいた結果を予測しています。

これらの困難を考えると、相互作用に寄与する変数の主な効果の大きさだけでなく、批評家を満足させるためだけでなく、自分自身で知りたいと思います。Rにはglinternetというパッケージがありますが、これはあなたが必要とすることを正確に行うようです(私は経験がありません)

Group-Lasso INTERaction-NET。強い階層を満たす線形ペアワイズ相互作用モデルに適合します。相互作用係数が非ゼロであると推定される場合、その2つの関連する主効果も非ゼロの推定係数を持ちます。任意の数のレベル、連続変数、およびそれらの組み合わせでカテゴリ変数(因子)に対応します。

あるいは、あまり多くの予測変数がない場合は、代わりにリッジ回帰を検討することもできます。これは、特定のデータサンプルの変動にあまり依存しないすべての変数の係数を返します。


9

私はパーティーに遅れましたが、ここにあなたの問題についての私の考えのいくつかがあります。

  1. lassoは、有益な情報を選択します。なげなわを、最小数の機能で最高の予測パフォーマンスを得る方法として考えてみましょう。場合によっては、なげなわが主効果ではなく相互作用を選択することはまったく問題ありません。これは、主な効果が情報提供ではなく、相互作用が有益であることを意味します。

  2. あなたが報告したのは、あなたが見つけたものです。何らかの方法を使用すると、いくつかの結果が得られました。再現性のある透過的な方法で報告します。私の意見では、あなたの仕事は完了です。結果は客観的であり、見つけたものを見つけたので、正当化するのはあなたの仕事ではありません。他の何かを見つけられなかった理由です。

  3. すべてのユニットは任意です。相互作用は単なる単位です。 色を勉強するとしましょう。色は、波長、対数波長、3つのRGB変数、または色相と色合いの相互作用などとしてモデルに含めることができます。本質的に正しいまたは間違った色の表現はありません。問題に最も適したものを選択します。インタラクションは、任意に使用できる単なる単位でもあります。ウィンドウの領域は、単にその高さと幅の相互作用です。モデルにウィンドウの高さと幅を含める必要がありますか?速度は、質量と速度の相互作用です。そして、スピードは時間と距離の相互作用です。工数とは、時間と働く人数の単なる相互作用です。数学的に治療線量*年齢は高さ*幅と同じです。「主効果を常に含める必要がある」という言葉は過大評価されています。

  4. lassoは実際のモデルを近似せず、推論を目的としておらず、選択した変数は不安定です。有益な予測変数を相関付けている場合、投げ縄は1つを選択して他の予測変数を0にプッシュする傾向があるため、モデルは有意な割合の有益な変数を省略します。また、コメントで指摘したように、交差検証で最適なラムダが見つかった場合、投げ縄は実際のモデルよりも多くの変数を選択します。別の問題は、投げ縄からの選択が不安定であることです。そのため、母集団の別のサンプルで再度投げ縄を実行すると、選択した変数の別のセットで終了します。したがって、どの変数が選択されるかをあまり重視しないでください。また、ベータにはバイアスがかかっているため、従来のパラメトリック仮説検定には使用できません。ただし、それを回避する方法があります(次のポイント)

  5. 投げ縄による推論。なげなわを使用して、予測子の推論を行うことができます。最も簡単な方法は、それをブートストラップし、各変数が選択された回数をカウントし、リサンプルの数で除算し、p値を取得することです。その場合のPは、なげなわによって変数が選択される確率です。それでも、重要な相互作用効果と取るに足らない主要な効果が発生する可能性がありますが、それは問題ではなく、通常の仮説検定でも発生する可能性があります。このトピックの素晴らしい扱いは、Hastie et。al。無料の本:Statistics Learning with Sparsity、第6章http://web.stanford.edu/~hastie/StatLearnSparsity/ブートストラップは、ラムダ値の全範囲に対して実行できます。これにより、すべての変数の安定パスが得られます。これを安定性選択アプローチで拡張して、家族ごとの誤差を修正した重要な変数のセットを見つけることができます。http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2010.00740.x/abstract投げ縄で推論する他の方法もあります。すなわち、適応なげなわまたは脱パース化されたなげなわ。R実装のレビューはこちらDOI:10.1214 / 15-STS527またはIMOのBuhlmanm、van de Geer Book:High-Dimensional Dataの統計http://www.springer.com/la/book/9783642201912

  6. 他の投げ縄に関連する注意事項。私の知る限り、隆線または弾性ネットは投げ縄よりも優れている傾向があります。変数に関するドメイン知識がある場合、グループ投げ縄または疎グループ投げ縄を使用して、予測子のグループ全体を個別に処理するのではなく、グループ全体を保持または破棄するように強制することができます(たとえば、遺伝子パス、ダミーコード化因子変数)。空間データまたは順序付けされたデータには、融合されたなげなわを使用できます。上記の安定性選択ペーパーで紹介されたランダム化されたなげなわは、標準的ななげなわと同じパフォーマンスのスパースモデルを生成する傾向があります。


1
本当に好き#3
user4581

0

少数の主効果がペナルティを受けないようにしたいアプリケーションがあります。Y = X.main beta + X.inter beta.inter + epsとする

a)fit.Y = OLS(X.main、Y)tilde.Y = Y-predict(fit.Y、X.main)b)fit [、j] = OLS(X.main、X.inter [、j])for j = 1 ... kとします。tilde.X.inter [、j] = X.inter [、j]-predict(fit.j、X.main)c)fit = Lasso(tilde.X.inter、tilde.y)とします。主効果の係数はfit.Y-coef(fit)* fit [、1:dim(X.inter)[2]]に等しくなります。相互作用効果の係数はcoef(fit)に等しい

ステップaおよびbでは、サンプル分割を行う必要はありません。それは私のために働く!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.