Sie müssen darüber nachdenken, was Sie unter einem "Limit" verstehen. Es gibt Grenzen, z. B. wenn Sie mehr Prädiktoren als Fälle haben, treten bei der Parameterschätzung Probleme auf (siehe die kleine R-Simulation am Ende dieser Antwort).
Ich stelle mir jedoch vor, Sie sprechen mehr über weiche Grenzen im Zusammenhang mit statistischer Aussagekraft und guter statistischer Praxis. In diesem Fall ist die Sprache der "Grenzen" nicht wirklich angemessen. Größere Stichprobengrößen machen es eher vernünftiger, mehr Prädiktoren zu haben, und die Schwelle, wie viele Prädiktoren vernünftig sind, liegt wohl in einem Kontinuum der Vernünftigkeit. Möglicherweise ist die Diskussion der Faustregeln für die Stichprobengröße in mehreren Regressionen relevant, da sich viele solcher Faustregeln auf die Anzahl der Prädiktoren beziehen.
Ein paar Punkte
- Wenn Sie sich mehr mit der Gesamtvorhersage als mit der statistischen Signifikanz einzelner Prädiktoren befassen, ist es wahrscheinlich sinnvoll, mehr Prädiktoren einzubeziehen, als wenn Sie sich mit der statistischen Signifikanz einzelner Prädiktoren befassen.
- Wenn Sie sich mehr mit dem Testen eines bestimmten statistischen Modells befassen, das sich auf Ihre Forschungsfrage bezieht (z. B. wie es in vielen sozialwissenschaftlichen Anwendungen üblich ist), haben Sie vermutlich Gründe, bestimmte Prädiktoren einzubeziehen. Möglicherweise haben Sie jedoch auch die Möglichkeit, selektiv zu bestimmen, welche Prädiktoren Sie einbeziehen (wenn Sie z. B. mehrere Variablen haben, die ein ähnliches Konstrukt messen, können Sie nur eine davon einbeziehen). Wenn Sie theoretische Modelltests durchführen, gibt es viele Möglichkeiten. Die Entscheidung, welche Prädiktoren einbezogen werden sollen, hängt eng mit Ihrer Theorie und Ihrer Forschungsfrage zusammen.
- Ich sehe nicht oft Forscher, die Bonferroni-Korrekturen für Signifikanztests von Regressionskoeffizienten verwenden. Ein vernünftiger Grund dafür könnte sein, dass Forscher mehr daran interessiert sind, die Gesamteigenschaften des Modells zu bewerten.
- Wenn Sie daran interessiert sind, die relative Bedeutung von Prädiktoren zu bewerten, finde ich es nützlich, sowohl die bivariate Beziehung zwischen Prädiktor und Ergebnis als auch die Beziehung zwischen Prädiktor und Ergebniskontrolle für andere Prädiktoren zu untersuchen. Wenn Sie viele Prädiktoren einbeziehen, ist es häufig wahrscheinlicher, dass Sie stark interkorrelierte Prädiktoren einbeziehen. In solchen Fällen kann die Interpretation sowohl des bivariaten als auch des modellbasierten Wichtigkeitsindex nützlich sein, da eine im bivariaten Sinne wichtige Variable in einem Modell möglicherweise von anderen korrelierten Prädiktoren verborgen wird ( ich werde hier mit Links darauf näher eingehen ).
Eine kleine R-Simulation
Ich habe diese kleine Simulation geschrieben, um die Beziehung zwischen Stichprobengröße und Parameterschätzung bei multipler Regression hervorzuheben.
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)
}
Die fitmodel
Funktion akzeptiert zwei Argumente n
für die Stichprobengröße und k
für die Anzahl der Prädiktoren. Ich zähle die Konstante nicht als Prädiktor, aber sie wird geschätzt. Ich generiere dann Zufallsdaten und passe ein Regressionsmodell an, das eine Variable aus k
Prädiktorvariablen vorhersagt , und gebe die Anpassung zurück.
Angenommen, Sie haben in Ihrer Frage erwähnt, dass Sie daran interessiert sind, ob 10 Prädiktoren zu viel sind, zeigen die folgenden Funktionsaufrufe, was passiert, wenn die Stichprobengröße 9, 10, 11 bzw. 12 beträgt. Das heißt, die Stichprobengröße ist eins weniger als die Anzahl der Prädiktoren bis zwei mehr als die Anzahl der Prädiktoren
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
> Zusammenfassung (Fitmodell (n = 9, 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
Die Stichprobengröße liegt um eins unter der Anzahl der Prädiktoren. Es können nur 9 Parameter geschätzt werden, von denen einer die Konstante ist.
> Zusammenfassung (Fitmodell (n = 10, k = 10))
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
Die Stichprobengröße entspricht der Anzahl der Prädiktoren. Es können nur 10 Parameter geschätzt werden, von denen einer die Konstante ist.
> Zusammenfassung (Fitmodell (n = 11, k = 10))
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
Die Stichprobengröße ist um eins höher als die Anzahl der Prädiktoren. Alle Parameter werden einschließlich der Konstanten geschätzt.
> Zusammenfassung (Fitmodell (n = 12, k = 10))
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
Die Stichprobengröße ist zwei mehr als die Anzahl der Prädiktoren, und es ist schließlich möglich, die Anpassung des Gesamtmodells abzuschätzen.
Ich betrachte dies oft vom Standpunkt, ob ein Modell, das mit einer bestimmten Anzahl von Parametern ausgestattet ist, wahrscheinlich Vorhersagen außerhalb der Stichprobe liefert, die so genau sind wie Vorhersagen, die auf der ursprünglichen Modellentwicklungsstichprobe gemacht wurden. Kalibrierungskurven, mittlere quadratische Fehler von X * Beta und Indizes für die prädiktive Diskriminierung sind einige der üblicherweise verwendeten Messgrößen. Hierher stammen einige der Faustregeln, z. B. die 15: 1-Regel (eine effektive Stichprobengröße von 15 pro untersuchtem oder geschätztem Parameter).
In Bezug auf die Multiplizität ist eine perfekte Anpassung für die Multiplizität unter der Annahme, dass das Modell gilt und die Verteilungsannahmen erfüllt sind, der globale Test, dass alle Betas (mit Ausnahme des Abschnitts) Null sind. Dies wird typischerweise unter Verwendung eines Wahrscheinlichkeitsverhältnisses oder eines F-Tests getestet.
Es gibt zwei allgemeine Ansätze für die Modellentwicklung, die in der Regel gut funktionieren. (1) Haben Sie eine angemessene Stichprobengröße und passen Sie sie dem gesamten vorgegebenen Modell an. (2) Verwenden Sie die bestrafte Maximalwahrscheinlichkeitsschätzung, um nur so viele effektive Freiheitsgrade in der Regression zuzulassen, wie die aktuelle Stichprobengröße unterstützt. [Eine schrittweise Variablenauswahl ohne Bestrafung sollte keine Rolle spielen, da dies bekanntermaßen nicht funktioniert.]
quelle
quelle
Grundsätzlich ist die Anzahl der möglichen Prädiktoren per se unbegrenzt. Sie können im Prinzip 2 Milliarden "Betas" schätzen. In der Praxis ist es jedoch so, dass es sich ohne ausreichende Daten oder ohne ausreichende vorherige Informationen nicht als sehr fruchtbar erweisen wird. Es werden keine bestimmten Parameter sehr gut bestimmt, und Sie werden aus der Analyse nicht viel lernen.
Wenn Sie nicht über viele vorherige Informationen zu Ihrem Modell verfügen (Modellstruktur, Parameterwerte, Rauschen usw.), benötigen Sie die Daten, um diese Informationen bereitzustellen. Dies ist normalerweise die häufigste Situation, was Sinn macht, da Sie normalerweise einen guten Grund benötigen, um Daten über etwas zu sammeln (und Geld auszugeben), das Sie bereits gut kennen. Wenn dies Ihre Situation ist, besteht eine angemessene Grenze darin, eine große Anzahl von Beobachtungen pro Parameter durchzuführen. Sie haben 12 Parameter (10 Steigungs-Betas, 1 Achsenabschnitt und einen Rauschparameter), sodass bei mehr als 100 Beobachtungen Ihre Parameter gut genug bestimmt werden sollten, um einige Schlussfolgerungen ziehen zu können.
Aber es gibt keine "harten und schnellen" Regeln. Mit nur 10 Prädiktoren sollten Sie keine Probleme mit der Rechenzeit haben (wenn Sie dies tun, sollten Sie sich einen besseren Computer zulegen). Dies bedeutet in erster Linie, dass Sie nur mehr Arbeit erledigen müssen, da Sie elf Datendimensionen aufnehmen müssen, was die Visualisierung der Daten erschwert. Die Grundprinzipien der Regression mit nur einer abhängigen Variablen sind nicht wirklich so unterschiedlich.
Das Problem bei der Bonferroni-Korrektur besteht darin, dass Sie für eine sinnvolle Anpassung Ihres Signifikanzniveaus ohne Einbußen bei der Leistung die Hypothese, die Sie korrigieren, für die Unabhängigkeit benötigen (dh zu lernen, dass eine Hypothese wahr ist, sagt nichts darüber aus, ob eine andere Hypothese ist wahr). Dies gilt beispielsweise nicht für den Standard "t-Test" in der multiplen Regression für einen Koeffizienten von Null. Die Teststatistik hängt davon ab, was im Modell noch enthalten ist. Dies ist eine Umkehrung der Abhängigkeit der Hypothese. Oder häufiger gesagt: Die Stichprobenverteilung des t-Wertes unter der Bedingung, dass der i-te Prädiktor Null ist, hängt davon ab, welche anderen Parameter Null sind. Wenn Sie also die Bonferroni-Korrektur hier verwenden, erhalten Sie möglicherweise eine niedrigere "Gesamtsumme".
quelle