なぜ変数の選択が必要なのですか?


31

一般的なデータベースの変数選択手順(たとえば、順方向、逆方向、ステップワイズ、すべてのサブセット)では、次のような望ましくないプロパティを持つモデルが生成される傾向があります。

  1. ゼロから偏る係数。
  2. 標準誤差が小さすぎ、信頼区間が狭すぎます。
  3. 公示された意味を持たない統計とp値をテストします。
  4. 過度に楽観的なモデル適合の推定値。
  5. 意味のない用語が含まれる(例えば、下位の用語の除外)。

それでも、変数選択手順は持続します。変数選択の問題を考えると、なぜこれらの手順が必要なのですか?それらの使用の動機は何ですか?

議論を始めるためのいくつかの提案....

  • 解釈可能な回帰係数が必要ですか?(多くのIVを持つモデルで誤解されていますか?)
  • 無関係な変数によって導入された分散を排除しますか?
  • 独立変数間の不要な共分散/冗長性を排除しますか?
  • パラメーター推定の数を減らす(検出力、サンプルサイズの問題)

他にありますか?変数選択手法によって対処される問題は、変数選択手順が導入する問題よりも多かれ少なかれ重要ですか?いつ使用する必要がありますか?いつ使用すべきではありませんか?


私の意見では、問題を明確に議論するには、まず問題を明確に特定し、次に適切な数学的形式で定式化して、問題を明確に議論する枠組みを作る必要があります。たとえば、線形回帰モデルの変数選択問題。最初にモデルを修正し、(i)変数選択の利点/欠点(たとえば、推定または予測の改善/悪化)を研究することは妥当と思われますか?(ii)LS推定と比較した変数選択手順の利点は?

回答:


17

変数の選択(ペナルティなし)は事態を悪化させるだけです。変数の選択では、「正しい」変数を見つける機会はほとんどないため、残りの変数の影響が大幅に誇張され、標準誤差が大幅に控えめになります。通常の方法で行われる変数選択は、「大p小n」問題を回避するのに役立つと考えるのは誤りです。一番下の行は、最終モデルがあらゆる点で誤解を招くことです。これは、疫学論文で私が読んだ驚くべき声明に関連しています。「多変数モデルを開発するのに十分なサンプルサイズがなかったため、2x2テーブルのすべての可能なテストを実行しました。」

手元のデータセットを使用して変数を削除し、Yを使用して決定を下すと、すべての統計量が歪んでしまいます。典型的な変数選択は気楼です。

編集:(折り目に隠れて下からコメントをコピー)

L2L1L1L2Y


6
この答えは、処理方法に関するヒントを提供することで改善されると思います。答えは、主張を補強するリソースに言及することなく、非常に広範かつ決定的な声明を出します(その多くは一般的に同意します)。確かに、罰則も万能薬ではありません。その道を進んだ場合、多くの選択肢があります。
枢機

3
詳細については、上記をご覧ください。問題を述べる最も簡単な方法は、変数が「選択」される主な理由は、その効果が過大評価されたためであるということです。
フランクハレル

2
L2L1L2

2
L2L2L1pn

2
L2

14

まず、あなたが言及した不利な点は、機能選択が間違っていることの影響です。つまり、オーバーフィット、未完成、またはオーバーシュートです。

eYYYeY

関連するすべてのレベルは、特定のプロセスを実際に駆動するものに関する洞察を提供するため、説明的な価値があります。最小限の最適レベル(設計上)により、オーバーフィットされていないモデルができる限り整理されたデータで処理されます。

現実のFSは、それらの目標の1つ(通常は後者)を達成したいだけです。


4
手元のデータを使用せずに変数を削除することを指していると思います。これを行うために手元のデータセットを使用することはできません。これは信頼できず、統計的推論をゆがめます。
フランクハレル

私が書いたように、これは問題の理論的基礎にすぎません(ベイジアンネットから来ています)。これを実現する正確な方法は明らかに不可能であり、統計モデリングはRFEや同様のものを無意識に使用することで多くの苦しみを受けたことに確かに同意します-しかし、機械学習には確実に希望がない(つまり、安定した選択とモデルを作成する)発見的アルゴリズムがあります公正なテストでは過剰に適合しないことが証明されています)。

RFEとは???????
kjetil bハルヴォルセン

@kjetilbhalvorsen再帰的機能の削除

@mbq Thxがあなたの興味深い答えをくれました!参考文献(書籍、論文など)を提供できますか?返信に感謝します!
カレ

10

ほとんどのモデルは多数の無関係な変数をうまく処理できないため、変数の選択は必然的です。これらの変数は、モデルにノイズを導入するだけであり、さらに悪いことに、過剰適合を引き起こします。これらの変数を分析から除外することをお勧めします。

さらに、無限の数の変数が存在するため、すべての分析に存在するすべての変数を含めることはできません。ある時点で線を引く必要がありますが、厳密に行うのは良いことです。したがって、変数選択に関するすべての議論。

変数の選択に関する問題のほとんどは、相互検証によって、または組み込みのペナルティと機能選択を備えたモデル(線形モデルのエラスティックネットなど)を使用して対処できます。

過剰適合の原因となる複数の変数に関連するいくつかの経験的な結果に興味がある場合は、Kaggleでの過剰適合競争の結果を確認してください


1
最初の段落には、問題に対する重大な誤解が含まれていると思います。変数を選択しても、これらの問題は何の助けにもならず、非表示にするだけです。変数の選択は非常に多くの過剰適合の問題をもたらしますが、後述するように、変数の選択によって引き起こされる損害に対して正直に自分自身を罰する方法がいくつかあります。
フランクハレル

3
@Frank Harrell:どの変数をモデルから除外するかをどのように決定しますか?
ザック

11
(1)データセットを見る前に主題の知識を使用します。(2)Yにブラインドされた冗長性分析/データ削減を使用します。(3)機能選択を行うことによって引き起こされる巨大な多重比較問題に対して適切にペナルティを与える方法を使用します(このページの他の場所を参照)。
フランクハレル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.