大きな、小さな問題を扱うときのモデルの安定性


22

イントロ:

古典的な「大きなp、小さなnの問題」のデータセットがあります。利用可能なサンプル数n = 150で、可能な予測子の数p = 400。結果は連続変数です。

最も「重要な」記述子、つまり、結果を説明し、理論の構築を支援するのに最適な記述子を見つけたいと思います。

このトピックに関する調査の後、大きなp、小さなnの場合にLASSOとElastic Netが一般的に使用されることがわかりました。私の予測子のいくつかは非常に相関しており、重要度評価でそれらのグループを保持したいので、Elastic Netを選択しました。重要度の尺度として回帰係数の絶対値を使用できると思います(間違っている場合は修正してください。データセットは標準化されています)。

問題:

サンプル数が少ないので、どのようにして安定したモデルを実現できますか?

私の現在のアプローチは、MSEスコアを平均する10倍の交差検証を使用して、データセットの90%でグリッド検索で最適なチューニングパラメーター(ラムダとアルファ)を​​見つけることです。次に、データセットの90%全体で最適なチューニングパラメーターを使用してモデルをトレーニングします。データセットの10%のホールドアウトでRの2乗を使用してモデルを評価できます(これは15サンプルのみです)。

この手順を繰り返し実行すると、Rの2乗評価に大きなばらつきが見つかりました。同様に、非ゼロの予測子の数はその係数と同様に異なります。

予測変数の重要性のより安定した評価と、最終モデルのパフォーマンスのより安定した評価を取得するにはどうすればよいですか?

手順を繰り返し実行して多くのモデルを作成してから、回帰係数を平均できますか?または、モデルの予測子の出現回数を重要度スコアとして使用する必要がありますか?

現在、40から50個の非ゼロの予測子を取得しています。安定性を高めるために、予測子の数をより厳しくペナルティにすべきですか?


1
たぶん、正規化された回帰だけでは不十分ですか?機械学習のアプローチを試しましたか?

連続または順序従属変数に適したMLアプローチはどれですか?
ディミ

2
ランダムフォレスト、SVR ...機能の選択には、ACEやBorutaなど、すべての関連する方法(より安定している必要があります)を試すことができます。

回答:


11

スパースアルゴリズムは安定していません:ノーランチフリーの定理

あなたが指摘したように、タイトルはたくさん語っていると思います。

[...]スパースアルゴリズムは、一意でない最適なソリューションを持つ可能性があるため、不適切です

チェックアウト投げ縄のランダム化、およびピーターBuhlmannによって話

更新:

この論文は、「安定性の選択」と呼ばれるMeinshausenとBuhlmannの論文よりも理解しやすいことがわかりました。

ランダムな投げ縄」では、著者は大きな、小さな問題に対する投げ縄の2つの重要な欠点、つまり、n個pn

  1. いくつかの相関変数が存在する場合、投げ縄は1つまたはいくつかを選択するだけであるため、不安定性の原因になります
  2. なげなわは、多くのモデルで問題となるサンプルサイズより多くの変数を選択できません。n

なげなわの両方の欠点に対処できるランダムななげなわの主なアイデアは次のとおりです。

同じ分布から複数の独立したデータセットが生成された場合、投げ縄は異なるデータセットからこれらの高度に相関する重要な変数の同一でないサブセットを選択し、最終的なコレクションはそれらの高度に相関する重要なもののほとんどまたはおそらくすべてであると予想されます異なるデータセットから選択された変数の和集合を取ることにより変数。そのようなプロセスは、より多くもたらすことができる投げ縄の他の制限を克服し、変数。n

ブートストラップサンプルは、複数のデータセットをシミュレートするために描画されます。最終的な係数は、各ブートストラップサンプルの結果を平均することによって取得されます。

誰かがこのアルゴリズムをさらに詳しく説明し、答えで説明できたら素晴らしいと思います。


1
素敵なリンク(+1)。
jbowman

発言ありがとうございます。ランダムな投げ縄も考えましたが、共線性の場合に適していますか?
ディミ

2
説明変数間の近似共線性の下で何が起こりますか?回帰分析の従来の前方検索アルゴリズムでは、2つの変数x1とx2が同様の説明力を持つ状況にしばしば直面します。x1がモデル内にある場合、x2を含める必要はありません。逆に、x2がモデル内にある場合、x1を含める必要はありません。手順を正しく理解すれば、半分の時間でx1、半分の時間でx2を含める傾向があり、それぞれ約50%の安定性の確率につながります。その場合、どちらの変数も必要ないと誤って結論付ける可能性があります。
ディミ

この場合、ランダム化されたエラスティックネットを同様に使用できると思います。
ディミ

私はあなたの質問によりよく答えると思う別のリンクを追加しました。
パルディス

6

私の現在のアプローチは、MSEスコアを平均する10倍の交差検証を使用して、データセットの90%でグリッド検索で最適なチューニングパラメーター(ラムダとアルファ)を​​見つけることです。次に、データセットの90%全体で最適なチューニングパラメーターを使用してモデルをトレーニングします。データセットの10%のホールドアウトでRの2乗を使用してモデルを評価できます(これは15サンプルのみです)。

チューニングパラメーターはどれくらい安定していますか?

適合度(たとえば、最適なパラメーターの相互検証のMSE)と10%の独立したテストパフォーマンスとの間に大きな違いがありますか?

それは過剰適合の症状です:

グリッド検索(および他の多くのパラメーター最適化戦略)の問題は、基本的にかなり滑らかな動作を想定していることです。ただし、小さなテストセットの場合、小さなテストセットサイズ(= 10 cvフォールドで合計135サンプル)による分散は、の実際の差よりも大きくなる可能性があり。その場合、パラメータはすでにかなり不安定です。M S E = f g r i d p a r a m e t e r s MSE=f(gridparameters)MSE=f(gridparameters)

手順を繰り返し実行して多くのモデルを作成してから、回帰係数を平均できますか?または、モデルの予測子の出現回数を重要度スコアとして使用する必要がありますか?

このような集約されたモデルを作成する方法はいくつかあります。

  • 線形モデルは、係数を平均化することにより平均化できます
  • より一般的には、異なるモデルのそれぞれによってサンプルを予測し、予測を平均化できます(予測の分布を見て不確実性の概念を導き出すこともできます)。メートルmm

検索用語は、「集約モデル」、「ブートストラップ集約」、「バグ」です。

副次的考察:いくつかのタイプのデータは、変数selectioが多かれ少なかれ同等のソリューション間で「ジャンプ」する可能性のある、予測可能な解釈可能な共線性を持っています。


3

それから抜け出す方法はありません。一部の人が言ったように、モデルは本質的に不安定です(そうでなければ統計は必要ありません)。

しかし、不安定自体が情報をもたらします。だから私はそれを取り除くことを試みる代わりに、私はそれを分析しようとしました。

クロス検証シミュレーションを何度も実行してから、各実行で最適に​​選択されたパラメーターの係数を取得し、それらをまとめます。

λα

次に、各パラメーターペアの回帰係数を抽出すると、各パラメーターの値の分布がわかります。このように、平均値/中央値を使用して予測値の強度を説明し、その標準偏差/ IQRを使用してその変動性、つまり安定性を説明できます。

非常に安定した予測子は、新しいデータでも同様の効果が期待できることを意味します。データ内でも不安定な予測変数は、おそらく新しいデータでも非常に不安定になります。

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