段階的アプローチは最高の


8

フォワードステップワイズアプローチを使用して変数を選択する場合、最終モデルは可能な限り最高のを持つことが保証されますか?別の言い方をすれば、段階的アプローチは大域的最適または局所的最適のみを保証しますか?R2

例として、10個の変数から選択して5変数モデルを作成する場合、ステップワイズアプローチで作成された最終的な5変数モデルは、可能なすべての5変数モデルの中で最も高いになります。建てられましたか?R2

この質問は純粋に理論的であることに注意してください。つまり、高い値が最適かどうか、それがオーバーフィットにつながるかどうかなどについては議論していません。R2


2
ステップワイズ選択は、真のモデルよりもはるかに高くなるようにバイアスされるという意味で、可能な限り最高のを提供すると思います(つまり、最適なモデルにはなりません)。あなたはこれを読みたいかもしれません。R2
ガン-モニカの復活

10
すべての変数が含まれる場合、最大が達成されます。新しい変数を含めると減らすことができないため、これは明らかに事実です。実際、「ローカル」と「グローバル」とはどのような意味ですか?変数の選択は離散的な問題です変数のサブセットから1つを選択します。つまり、サブセットのローカル近傍はどうなるでしょうか。R 2 2 k kR2R22kk
whuber

編集について:考えている「段階的アプローチ」について説明していただけますか?(私が精通している変数は、指定された数の変数に到達ません。それらの目的の一部は、使用する変数の数を決定するのを助けることです。)
whuber

高い(生の)は良いことだと思いますか?これが、、AICなどを調整した理由ですR 2R2R2
Wayne

1
最大R2の場合、すべての2方向および3方向の相互作用、さまざまな変換(対数、逆数、平方など)、月の位相などを含めます
Zach

回答:


5

可能なモデルのサブセットのみを比較し、すべての変数を含む最高のR 2を持つモデルを見逃す可能性があるため、必ずしも最高のR 2を取得するわけではありません。そのモデルを取得するには、すべてのサブセットを調べる必要があります。ただし、すべての変数が含まれているため、オーバーフィットする可能性があるため、R 2が最も高いモデルが最適ではない場合があります。222


1
私もこれを信じていますが、あなたが説得力のある議論を提供していないため、説得力があるためには、実際の例を見るのはとても良いでしょう。段階的に収束する手順理由を理解するためにも、よりよいだろう変数(たとえば)はhighest-に収束に失敗する可能性がありますR 2の組み合わせのk(検索必要としない変数のすべてのサブセットを)。kR2k
whuber

段階的な手順は、開始する場所によって異なります。2つの異なる変数の初期セットから始めると、異なる解決策につながる可能性があります。ポイントは、各ステップで変数が入るF統計量と変数が去るalsの基準があるということです。F統計量は、現在モデル内にある変数に依存します。入るFも出るFも指定されたしきい値で統計的に有意でない場合、手順は停止します。そのため、すべての変数をモデルに追加する前に簡単に起こります。
Michael R. Chernick

これは、出力を回答に貼り付けたSASの例で簡単に説明できます。
Michael R. Chernick

1
私は同意する-しかし、反例を見つけることは、ソフトウェアを使用しない、@ Michaelの難しい部分です!
whuber

どちらにしても、大変な作業です。
Michael R. Chernick

13

これは、ランダムに生成されたデータとRを使用した反対の例です。

library(MASS)
library(leaps)

v <- matrix(0.9,11,11)
diag(v) <- 1

set.seed(15)
mydat <- mvrnorm(100, rep(0,11), v)
mydf <- as.data.frame( mydat )

fit1 <- lm( V1 ~ 1, data=mydf )
fit2 <- lm( V1 ~ ., data=mydf )

fit <- step( fit1, formula(fit2), direction='forward' )
summary(fit)$r.squared

all <- leaps(mydat[,-1], mydat[,1], method='r2')
max(all$r2[ all$size==length(coef(fit)) ])

plot( all$size, all$r2 )
points( length(coef(fit)), summary(fit)$r.squared, col='red' )

R2

whuberは思考プロセスを望んでいました。それは主に好奇心と怠惰の対比です。元の投稿では、10個の予測子変数を使用することを説明していたため、これを使用しました。0.9の相関はかなり高い相関を備えた適切なラウンド数でしたが、高すぎません(高すぎる場合、ステップワイズは1つまたは2つの予測子のみを取得する可能性が高いです)。かなりの量の共線性。より現実的な例では、さまざまな異なる相関(ただし、かなりの量の共線性)と、予測子(またはそれらのサブセット)と応答変数との間に定義された関係がありました。100のサンプルサイズは、私が最初に試した最初の数でもありました(そして、経験則では、予測子ごとに少なくとも10個の観測値があるはずだと言っています)。上記のコードをシード1と2で試してから、全体をループでラップし、さまざまなシードを順番に試してもらいました。実際にはシード3で停止しましたが、R2


2
+1よくできました!例は、架空の可能性を呼び出すよりもはるかに説得力があります。しかし、機会があれば、この反例を構築する際に経験した思考プロセスを共有することを検討してください。
whuber

手順についてのあなたの説明は非常に貴重です。これは、明らかに、明快な論文にのみ現れ、実際には他の人から直接学んだり、再考案したりする必要がある種類の明らかに実用的なものです。(もう1つの
賛成票を

4

R2

ただし、これは非常に偏った結果になります。p値が低すぎ、係数が0から偏っており、標準誤差が小さすぎます。そして、すべて適切に推定することは不可能である量によって。

段階的な選択にもこの問題があります。

変数の自動選択方法を使用ないことを強くお勧めます。これらの方法の最悪の点は、ユーザーが考えるのを妨げることです。または、言い換えると、自動化された方法を使用するデータアナリストは、上司に低額で支払うように指示しています。

あなたがいる場合しなければならない自動化された方法を使用して、あなたはおそらく、トレーニング、検証、および最終セットをトレーニングとテストセットにデータを分ける、または必要があります。


1
段階的な選択は、目的が予測のためであるか、または生成された一連のモデルを使用するためであるかを理解するほど悪くはありません。実際、モデルの選択のための多くのrj mcmcアルゴリズムは基本的に「ランダムな段階的」であり、提案は通常、1つの変数の追加または削除で構成されています。
確率論的

1
ステップワイズは恐ろしいことが示されています。詳細については、Frank Harrellの本「Regression Modeling Strategies」を参照してください。RJとは?モデルのシーケンスが何か有用なことを言っているのは本当ですが、それから何ですか?また、p値には多くの問題がありますが、それは別の問題です(または有意性検定のカルトを参照)
Peter Flom

1
@PeterFlom-RJはリバーシブルジャンプです。stepwiseは、モデル空間を検索するための簡単な方法であり、問​​題が組み合わせ爆発を起こしにくくします。ただし、ローカルモードでスタックしないようにするには、「複数の再起動」が必要です。私はこの本を手に入れなければならないでしょう。
確率論的

2
p|β^|βi=0p

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