Vous devez penser à ce que vous entendez par «limite». Il y a des limites, par exemple lorsque vous avez plus de prédicteurs que de cas, vous rencontrez des problèmes dans l'estimation des paramètres (voir la petite simulation R au bas de cette réponse).
Cependant, j'imagine que vous parlez davantage de limites souples liées à la puissance statistique et aux bonnes pratiques statistiques. Dans ce cas, le langage des «limites» n'est pas vraiment approprié. Au contraire, des tailles d'échantillon plus grandes tendent à rendre plus raisonnable d'avoir plus de prédicteurs et le seuil de combien de prédicteurs est raisonnable tombe sans doute sur un continuum de caractère raisonnable. Vous pouvez trouver la discussion des règles empiriques pour la taille de l'échantillon dans la régression multiple pertinente, car de nombreuses règles empiriques font référence au nombre de prédicteurs.
Quelques points
- Si vous vous préoccupez davantage de la prévision globale que de la signification statistique des prédicteurs individuels, il est probablement raisonnable d'inclure davantage de prédicteurs que si vous vous préoccupez de la signification statistique des prédicteurs individuels.
- Si vous souhaitez davantage tester un modèle statistique spécifique lié à votre question de recherche (par exemple, comme cela est courant dans de nombreuses applications des sciences sociales), vous avez probablement des raisons d'inclure des prédicteurs particuliers. Cependant, vous pouvez également avoir la possibilité d'être sélectif dans les prédicteurs que vous incluez (par exemple, si vous avez plusieurs variables qui mesurent une construction similaire, vous ne pouvez inclure qu'une seule d'entre elles). Lorsque vous effectuez des tests de modèle basés sur la théorie, il y a beaucoup de choix, et la décision concernant les prédicteurs à inclure implique un lien étroit entre votre théorie et votre question de recherche.
- Je ne vois pas souvent des chercheurs utiliser des corrections de bonferroni appliquées aux tests de signification des coefficients de régression. Une raison raisonnable à cela pourrait être que les chercheurs sont plus intéressés à évaluer les propriétés globales du modèle.
- Si vous souhaitez évaluer l'importance relative des prédicteurs, je trouve utile d'examiner à la fois la relation bivariée entre le prédicteur et le résultat, ainsi que la relation entre le prédicteur et le contrôle des résultats pour d'autres prédicteurs. Si vous incluez de nombreux prédicteurs, il est souvent plus probable que vous incluiez des prédicteurs fortement intercorrélés. Dans de tels cas, l'interprétation des indices d'importance bivariée et basée sur le modèle peut être utile, car une variable importante au sens bivarié peut être masquée dans un modèle par d'autres prédicteurs corrélés ( j'élabore plus à ce sujet ici avec des liens ).
Une petite simulation R
J'ai écrit cette petite simulation pour mettre en évidence la relation entre la taille de l'échantillon et l'estimation des paramètres dans la régression multiple.
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)
}
La fitmodel
fonction prend deux arguments n
pour la taille de l'échantillon et k
pour le nombre de prédicteurs. Je ne compte pas la constante comme prédicteur, mais elle est estimée. Je génère ensuite des données aléatoires et ajuste un modèle de régression prédisant une variable ay à partir de k
variables prédictives et renvoie l'ajustement.
Étant donné que vous avez mentionné dans votre question que vous vouliez savoir si 10 prédicteurs étaient trop, les appels de fonction suivants montrent ce qui se passe lorsque la taille de l'échantillon est de 9, 10, 11 et 12 respectivement. C'est-à-dire que la taille de l'échantillon est inférieure de un au nombre de prédicteurs à deux de plus que le nombre de prédicteurs
summary(fitmodel(n=9, k=10))
summary(fitmodel(n=10, k=10))
summary(fitmodel(n=11, k=10))
summary(fitmodel(n=12, k=10))
> résumé (fitmodel (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
La taille de l'échantillon est inférieure de un au nombre de prédicteurs. Il n'est possible d'estimer que 9 paramètres, dont l'un est la constante.
> résumé (fitmodel (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
La taille de l'échantillon est la même que le nombre de prédicteurs. Il n'est possible d'estimer que 10 paramètres, dont l'un est la constante.
> résumé (fitmodel (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
La taille de l'échantillon est un de plus que le nombre de prédicteurs. Tous les paramètres sont estimés, y compris la constante.
> résumé (fitmodel (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
La taille de l'échantillon est deux de plus que le nombre de prédicteurs, et il est enfin possible d'estimer l'ajustement du modèle global.