重回帰式に入力できる独立変数の数の制限は何ですか?結果変数への相対的な貢献の観点から検討したい10の予測変数があります。ボンフェローニ補正を使用して、複数の分析を調整する必要がありますか?
重回帰式に入力できる独立変数の数の制限は何ですか?結果変数への相対的な貢献の観点から検討したい10の予測変数があります。ボンフェローニ補正を使用して、複数の分析を調整する必要がありますか?
回答:
「制限」の意味を考える必要があります。ケースよりも多くの予測変数がある場合、パラメーター推定で問題が発生するなど、制限があります(この回答の下部にある小さなRシミュレーションを参照)。
ただし、統計的検出力と優れた統計的実践に関連するソフト制限についてもっとお話ししていると思います。この場合、「制限」の言語は実際には適切ではありません。むしろ、サンプルサイズが大きいほど、予測子を増やすことがより合理的になる傾向があり、合理的に予測子がいくつあるかのしきい値は、おそらく妥当性の連続性に依存します。このような経験則の多くは予測変数の数を参照しているため、重回帰のサンプルサイズの経験則の議論に関連する場合があります。
いくつかのポイント
この小さなシミュレーションを作成して、サンプルサイズと多重回帰のパラメーター推定の関係を強調しました。
set.seed(1)
fitmodel <- function(n, k) {
# n: sample size
# k: number of predictors
# return linear model fit for given sample size and k predictors
x <- data.frame(matrix( rnorm(n*k), nrow=n))
names(x) <- paste("x", seq(k), sep="")
x$y <- rnorm(n)
lm(y~., data=x)
}
このfitmodel
関数はn
、サンプルサイズとk
予測子の数に対して2つの引数を取ります。定数を予測変数としてカウントしていませんが、推定値です。次に、ランダムデータを生成し、k
予測変数からy変数を予測する回帰モデルを近似し、近似を返します。
質問で10個の予測変数が多すぎるかどうかに関心があると述べたため、次の関数呼び出しは、サンプルサイズがそれぞれ9、10、11、および12の場合に何が起こるかを示しています。つまり、標本サイズは予測子の数よりも1つ少なく、予測子の数よりも2つ多い
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 9 residuals are 0: no residual degrees of freedom!
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.31455 NA NA NA
x1 0.34139 NA NA NA
x2 -0.45924 NA NA NA
x3 0.42474 NA NA NA
x4 -0.87727 NA NA NA
x5 -0.07884 NA NA NA
x6 -0.03900 NA NA NA
x7 1.08482 NA NA NA
x8 0.62890 NA NA NA
x9 NA NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 8 and 0 DF, p-value: NA
サンプルサイズは、予測子の数よりも1つ小さくなります。推定できるパラメーターは9つだけで、そのうちの1つは定数です。
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1724 NA NA NA
x1 -0.3615 NA NA NA
x2 -0.4670 NA NA NA
x3 -0.6883 NA NA NA
x4 -0.1744 NA NA NA
x5 -1.0331 NA NA NA
x6 0.3886 NA NA NA
x7 -0.9886 NA NA NA
x8 0.2778 NA NA NA
x9 0.4616 NA NA NA
x10 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
サンプルサイズは予測子の数と同じです。推定できるパラメーターは10個のみで、そのうちの1つは定数です。
Call:
lm(formula = y ~ ., data = x)
Residuals:
ALL 11 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.9638 NA NA NA
x1 -0.8393 NA NA NA
x2 -1.5061 NA NA NA
x3 -0.4917 NA NA NA
x4 0.3251 NA NA NA
x5 4.4212 NA NA NA
x6 0.7614 NA NA NA
x7 -0.4195 NA NA NA
x8 0.2142 NA NA NA
x9 -0.9264 NA NA NA
x10 -1.2286 NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 10 and 0 DF, p-value: NA
サンプルサイズは、予測子の数よりも1つ多くなっています。定数を含むすべてのパラメーターが推定されます。
Call:
lm(formula = y ~ ., data = x)
Residuals:
1 2 3 4 5 6 7 8 9 10 11
0.036530 -0.042154 -0.009044 -0.117590 0.171923 -0.007976 0.050542 -0.011462 0.010270 0.000914 -0.083533
12
0.001581
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.14680 0.11180 1.313 0.4144
x1 0.02498 0.09832 0.254 0.8416
x2 1.01950 0.13602 7.495 0.0844 .
x3 -1.76290 0.26094 -6.756 0.0936 .
x4 0.44832 0.16283 2.753 0.2218
x5 -0.76818 0.15651 -4.908 0.1280
x6 -0.33209 0.18554 -1.790 0.3244
x7 1.62276 0.21562 7.526 0.0841 .
x8 -0.47561 0.18468 -2.575 0.2358
x9 1.70578 0.31547 5.407 0.1164
x10 3.25415 0.46447 7.006 0.0903 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.2375 on 1 degrees of freedom
Multiple R-squared: 0.995, Adjusted R-squared: 0.9452
F-statistic: 19.96 on 10 and 1 DF, p-value: 0.1726
サンプルサイズは予測子の数よりも2倍多く、最終的にモデル全体の適合を推定することができます。
特定の数のパラメーターを備えたモデルが、元のモデル開発サンプルで行われた予測と同じくらい正確なサンプル外の予測を生成する可能性が高いかどうかという観点から、私はこれをよく見ます。検量線、X * Betaの平均二乗誤差、および予測差別の指標は、一般的に使用される指標の一部です。これは、15:1ルール(検討または推定されるパラメーターごとの15の有効なサンプルサイズ)など、いくつかの経験則が由来する場所です。
多重度に関して、モデルが保持され、分布の仮定が満たされると仮定した場合の多重度の完全な調整は、すべてのベータ(切片を除く)がゼロであるというグローバルテストです。これは、通常、尤度比またはF検定を使用してテストされます。
モデル開発には、うまく機能する傾向がある2つの全体的なアプローチがあります。(1)適切なサンプルサイズを持ち、事前に指定されたモデル全体に適合します。(2)ペナルティ付き最尤推定を使用して、現在のサンプルサイズがサポートするのと同じくらい多くの有効な自由度の回帰を許可します。[ペナルティなしの段階的変数選択は、機能しないことが知られているため、何の役割も果たさないはずです。]
原則として、予測子の数に制限はありません。原則として20億個の「ベータ」を見積もることができます。しかし、実際に起こることは、十分なデータや十分な事前情報がなければ、非常に有益なエクササイズを証明できないということです。特定のパラメータはあまり適切に決定されず、分析から多くを学ぶことはありません。
モデルに関する以前の情報(モデル構造、パラメーター値、ノイズなど)があまりない場合は、この情報を提供するためのデータが必要になります。通常、これは最も一般的な状況です。これは理にかなっています。なぜなら、あなたは通常、あなたが既によく知っているものについてデータを収集する(そして$$$を使う)かなりの理由が必要だからです。これがあなたの状況である場合、合理的な制限はパラメーターごとに多数の観測値を持つことです。12個のパラメーター(10個のスロープベータ、1個のインターセプト、およびノイズパラメーター)があるため、100個を超える観測値でパラメーターを決定でき、結論を出すことができます。
しかし、「ハードで速い」ルールはありません。予測子が10個しかないので、計算時間に問題はありません(もしあれば、より良いコンピューターを入手してください)。11次元のデータを吸収する必要があるため、主に多くの作業を行うことを意味します。データを視覚化することは困難です。1つの従属変数のみを使用した回帰の基本原則は、実際にはそれほど違いはありません。
ボンフェローニ補正の問題は、あまりにも多くの力を犠牲にすることなく有意水準を調整する合理的な方法であるために、独立しているために補正しているという仮説を必要とすることです別の仮説が正しい)。これは、たとえば係数がゼロの場合の重回帰の標準的な「t検定」には当てはまりません。検定統計量は、モデル内の他の要素に依存します。これは、仮説が依存していると言う回り道です。または、これをより頻繁に言う方法は、i番目の予測子がゼロであることを条件とするt値のサンプリング分布は、他のパラメーターがゼロであることに依存するということです。したがって、ここでボンフェローニ補正を使用すると、実際にはより低い「全体」