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.
Je regarde souvent cela du point de vue de savoir si un modèle équipé d'un certain nombre de paramètres est susceptible de produire des prédictions hors échantillon qui sont aussi précises que les prédictions faites sur l'échantillon de développement de modèle original. Les courbes d'étalonnage, les erreurs quadratiques moyennes de X * Beta et les indices de discrimination prédictive sont quelques-unes des mesures généralement utilisées. C'est de là que viennent certaines règles de base, comme la règle 15: 1 (une taille d'échantillon effective de 15 par paramètre examiné ou estimé).
En ce qui concerne la multiplicité, un ajustement parfait pour la multiplicité, en supposant que le modèle se vérifie et que les hypothèses de distribution sont satisfaites, est le test global que tous les bêtas (autres que l'ordonnée à l'origine) sont nuls. Ceci est généralement testé en utilisant un rapport de vraisemblance ou un test F.
Il existe deux approches globales de développement de modèles qui ont tendance à bien fonctionner. (1) Avoir une taille d'échantillon adéquate et s'adapter à l'ensemble du modèle prédéfini, et (2) utiliser une estimation du maximum de vraisemblance pénalisée pour n'autoriser que autant de degrés de liberté effectifs dans la régression que la taille actuelle de l'échantillon le permet. [La sélection de variables par étapes sans pénalisation ne devrait jouer aucun rôle, car cela est connu pour ne pas fonctionner.]
la source
la source
En principe, il n'y a pas de limite en soi au nombre de prédicteurs que vous pouvez avoir. On peut en principe estimer 2 milliards de "betas". Mais ce qui se passe dans la pratique, c'est que sans données suffisantes ou informations préalables suffisantes, cela ne s'avérera pas un exercice très fructueux. Aucun paramètre particulier ne sera très bien déterminé et vous n'apprendrez pas grand-chose de l'analyse.
Maintenant, si vous n'avez pas beaucoup d'informations préalables sur votre modèle (structure du modèle, valeurs des paramètres, bruit, etc.), vous aurez besoin des données pour fournir ces informations. C'est généralement la situation la plus courante, ce qui est logique, car vous avez généralement besoin d'une assez bonne raison pour collecter des données (et dépenser des $$$) sur quelque chose que vous connaissez déjà assez bien. Si tel est votre cas, alors une limite raisonnable est d'avoir un grand nombre d'observations par paramètre. Vous avez 12 paramètres (10 bêtas de pente, 1 interception et un paramètre de bruit), donc plus de 100 observations devraient être en mesure de déterminer vos paramètres suffisamment bien pour pouvoir tirer des conclusions.
Mais il n'y a pas de règles "dures et rapides". Avec seulement 10 prédicteurs, vous ne devriez pas avoir de problème avec le temps de calcul (obtenez un meilleur ordinateur si vous le faites). Cela signifie principalement simplement faire plus de travail, car vous avez 11 dimensions de données à absorber, ce qui rend difficile la visualisation des données. Les principes de base de la régression avec une seule variable dépendante ne sont pas vraiment différents.
Le problème avec la correction bonferroni est que pour qu'il soit un moyen raisonnable d'ajuster votre niveau de signification sans sacrifier trop de puissance, vous devez que l'hypothèse que vous corrigez soit indépendante (c'est-à-dire que l'apprentissage d'une hypothèse est vraie ne vous dit pas si une autre hypothèse est vraie). Ce n'est pas le cas pour le "test t" standard en régression multiple pour un coefficient efficace nul, par exemple. La statistique de test dépend de quoi d'autre dans le modèle - qui est une façon détournée de dire que les hypothèses sont dépendantes. Ou, une façon plus fréquente de dire cela est que la distribution d'échantillonnage de la valeur t conditionnelle au zéro du prédicteur dépend de quels autres paramètres sont nuls. Donc, utiliser la correction bonferroni ici peut être en fait vous donner un "global" inférieur
la source