このアプローチは間違っていると思いますが、おそらくその理由を説明すればもっと役立つでしょう。多数の変数に関するいくつかの情報が与えられた場合、最良のモデルを知りたいのは非常に理解できます。さらに、それは人々が定期的に自分自身を見つけるように見える状況です。さらに、回帰に関する多くの教科書(およびコース)は、段階的な選択方法をカバーしています。これは、それらが合法でなければならないことを意味します。ただし、残念ながらそうではなく、この状況と目標の組み合わせをうまくナビゲートすることは非常に困難です。以下は、自動化された段階的なモデル選択手順に関する問題のリストです(Frank Harrellに起因し、ここからコピーされています)。
- 大きくバイアスがかけられているRの2乗値が生成されます。
- プリントアウトの各変数の隣に引用されているFおよびカイ2乗検定には、主張された分布がありません。
- この方法では、誤って狭い効果と予測値の信頼区間が得られます。Altman and Andersen(1989)を参照してください。
- 適切な意味を持たないp値が生成され、それらの適切な修正は難しい問題です。
- 収縮を必要とする偏りのある回帰係数を提供します(残りの変数の係数が大きすぎます。Tibshirani[1996]を参照)。
- 共線性が存在すると、深刻な問題が発生します。
- これは、事前に指定された仮説をテストするために使用されることを目的としたメソッド(ネストされたモデルのFテストなど)に基づいています。
- サンプルサイズを大きくしても、あまり役に立ちません。Derksen and Keselman(1992)を参照してください。
- 問題について考えないようにすることができます。
- 多くの紙を使用します。
問題は、これらの手順の何がそれほど悪いのか、なぜこれらの問題が発生するのか?基本的な回帰コースを受講したほとんどの人は、平均への回帰の概念に精通しているため、これらの問題を説明するためにこれを使用します。(これは最初はトピックから外れているように思えるかもしれませんが、私は耐えてください。関連があると約束します。)
トライアウトの初日に高校のトラックコーチを想像してください。30人の子供が現れます。これらの子供には、コーチも他の誰も直接アクセスできない本質的なレベルの基本的な能力があります。その結果、コーチは彼ができる唯一のことをします。それは彼ら全員が100mのダッシュを走らせることです。時間はおそらくその本質的な能力の尺度であり、そのように解釈されます。ただし、それらは確率的です。誰かがどれだけうまくやっているかのある割合は実際の能力に基づいており、ある割合はランダムです。本当の状況は次のとおりだと想像してください。
set.seed(59)
intrinsic_ability = runif(30, min=9, max=10)
time = 31 - 2*intrinsic_ability + rnorm(30, mean=0, sd=.5)
最初のレースの結果は、子供たちへのコーチのコメントとともに次の図に表示されます。
子供をレース時間で分割すると、本来の能力が重複することに注意してください。この事実は非常に重要です。一部を賞賛し、他の一部をコーチした後(コーチがそうする傾向があるため)、彼は彼らを再び走らせます。以下は、コーチの反応を伴う第2レースの結果です(上記の同じモデルからシミュレートされています)。
それらの本質的な能力は同じですが、最初のレースに比べて時間が跳ね返ります。コーチの観点から、彼が叫んだ人は改善する傾向があり、彼が賞賛した人は悪化する傾向がありました(ウィキページにリストされているカーネマンの引用からこの具体例を適合させました)が、実際には平均への回帰は単純な数学的コーチが部分的にランダムな測定に基づいてチームの選手を選択しているという事実の結果。
さて、これは自動化された(例えば、段階的な)モデル選択技術と何の関係があるのでしょうか?同じデータセットに基づいたモデルの開発と確認は、データdrと呼ばれることもあります。変数間には何らかの基礎的な関係があり、より強い関係はより強いスコア(たとえば、より高いt統計量)をもたらすと予想されますが、これらはランダム変数であり、実現値にはエラーが含まれます。したがって、より高い(またはより低い)実現値を持つことに基づいて変数を選択する場合、それらの基になる真の値、エラー、またはその両方が原因である可能性があります。この方法で進むと、コーチが第2レースを終えたときと同じように驚くでしょう。これは、t統計量が高いか、相互相関が低いかに基づいて変数を選択する場合にも当てはまります。確かに、AICを使用するとp値を使用するよりも複雑になるため、モデルにペナルティが課せられますが、AIC自体はランダム変数です(スタディを複数回実行して同じモデルに適合させると、AICは次のように跳ね返ります)ほかのすべて)。残念ながら、
これがお役に立てば幸いです。