Contraste de signification dans la régression linéaire: test t significatif pour un coefficient vs une statistique F globale non significative

35

Je fais correspondre un modèle de régression linéaire multiple entre 4 variables catégoriques (avec 4 niveaux chacune) et une sortie numérique. Mon jeu de données a 43 observations.

La régression me donne les suivantes p -values du t -test pour chaque coefficient de pente: .15,.67,.27,.02 . Ainsi, le coefficient du quatrième prédicteur est significatif au niveau de confiance α=.05 .

D'autre part, la régression me donne une valeur p d'un test global de l'hypothèse nulle selon laquelle tous les coefficients de ma pente sont égaux à zéro. Pour mon ensemble de données, cette est .Fp.11

Ma question: comment dois-je interpréter ces résultats? Quelle dois-je utiliser et pourquoi? Le coefficient de la 4ème variable est-il significativement différent de au niveau de confiance ?p0α=.05

Je l' ai vu une question connexe, et statistiques dans une régression , mais il y avait une situation inverse: haut t -test p -values et faible F -test p -value. Honnêtement, je ne comprends pas très bien pourquoi nous aurions besoin d'un test F en plus d'un test t pour voir si les coefficients de régression linéaire sont significativement différents de zéro.FttpFpFt

Leo
la source
2
Si vous avez 4 variables catégorielles avec 4 niveaux chacune, vous devriez avoir 3 * 4 = 12 coefficients pour vos variables indépendantes (plus l'interception) ...
boscovich
@andrea: J'ai décidé de les traiter comme des variables numériques.
Leo
4
0,02 est à peine significatif (surtout si vous considérez le fait que vous avez cinq tests au total) et 0,11 n'est pas très élevé. Une interprétation généreuse serait que, avec un peu plus de puissance, le test F global serait également significatif (et peut-être aussi le premier coefficient). Une interprétation plus prudente est que vous ne devriez avoir aucune confiance en aucun de ces résultats (y compris le coefficient avec une valeur de 0,02 p). De toute façon, vous ne devriez pas lire trop dans la différence entre 0,02 et 0,11.
Gala
3
Pour une discussion du cas opposé, vous pouvez également voir ici: comment une régression peut-elle être significative alors que tous les prédicteurs sont non significatifs , en plus de la question liée ci-dessus.
gung - Réintégrer Monica

Réponses:

37

Je ne suis pas sûr que ce soit la multicolinéarité qui se passe ici. Cela pourrait être le cas, mais d'après les informations fournies, je ne peux pas en conclure, et je ne veux pas commencer par là. Ma première hypothèse est qu'il pourrait s'agir d'un problème de comparaisons multiples. Autrement dit, si vous exécutez suffisamment de tests, quelque chose apparaîtra, même s'il n'y a rien.

L'un des problèmes auquel je m'attache, c'est que le problème des comparaisons multiples est toujours discuté en termes d'examen de nombreuses comparaisons par paires - par exemple, l'exécution de tests t sur chaque paire unique de niveaux. (Pour un traitement humoristique des comparaisons multiples, regardez ici .) Cela laisse aux gens l'impression que c'est le seul endroit où ce problème se présente. Mais ce n’est tout simplement pas vrai - le problème des comparaisons multiples se manifeste partout. Par exemple, si vous exécutez une régression avec 4 variables explicatives, les mêmes problèmes existent. Dans une expérience bien conçue, les intraveineuses peuvent être orthogonales, mais les gens s'inquiètent systématiquement d'utiliser des corrections de Bonferroni sur des ensembles de contrastes a priori orthogonaux et ne pensent pas à deux fois à une ANOVA factorielle. À mon avis, cela est incompatible.

Le test F global est ce qu'on appelle un test 'simultané'. Cela permet de vérifier si tous vos prédicteurs ne sont pas liés à la variable de réponse. Le test simultané offre une certaine protection contre le problème des comparaisons multiples sans devoir emprunter la voie de Bonferroni, qui perd de la puissance. Malheureusement, mon interprétation de ce que vous rapportez est que votre conclusion est nulle.

Plusieurs choses atténuent cette interprétation. Premièrement, avec seulement 43 données, vous n’avez certainement pas beaucoup de pouvoir. Il est tout à fait possible qu'il y ait un effet réel, mais vous ne pouvez simplement pas le résoudre sans plus de données. Deuxièmement, comme @andrea et @Dimitriy, je m'inquiète de l'opportunité de traiter les variables catégorielles à 4 niveaux comme des valeurs numériques. Cela pourrait ne pas être approprié et avoir plusieurs effets, notamment une diminution de votre capacité à détecter ce qui est réellement là. Enfin, je ne suis pas sûr que le test de signification soit aussi important que l’on croit. Un p de 11 est un peu bas; y a-t-il vraiment quelque chose qui se passe là-bas? peut être! qui sait? Il n'y a pas de «ligne brillante» à 0,05 qui démarque les effets réels de la simple apparence.

gung - Rétablir Monica
la source
24

Je voudrais suggérer que ce phénomène (d'un test global non significatif en dépit d'une variable individuelle significative) peut être compris comme une sorte "d'effet masquant" global et que, bien qu'il puisse vraisemblablement découler de variables explicatives multicolinéaires, il n'est pas nécessaire qu'il en soit ainsi. ça du tout. Il s'avère également que cela n'est pas dû non plus à de nombreux ajustements de comparaison. Ainsi, cette réponse ajoute certaines qualifications aux réponses déjà parues, ce qui suggère au contraire que la multicolinéarité ou les comparaisons multiples doivent être considérées comme les coupables.

Pour établir la plausibilité de ces assertions, générons une collection de variables parfaitement orthogonales - aussi non colinéaires que possible - et une variable dépendante qui est explicitement déterminée par le premier des explandes (plus une bonne quantité d’erreur aléatoire). indépendant de tout le reste). En Rcela peut être fait (de manière reproductible, si vous souhaitez expérimenter) comme

set.seed(17)
p <- 5 # Number of explanatory variables
x <- as.matrix(do.call(expand.grid, lapply(as.list(1:p), function(i) c(-1,1))))
y <- x[,1] + rnorm(2^p, mean=0, sd=2)

Ce n'est pas important que les variables explicatives soient binaires; ce qui compte, c’est leur orthogonalité, que nous pouvons vérifier pour nous assurer que le code fonctionne comme prévu, ce qui peut être fait en inspectant leurs corrélations. En effet, la matrice de corrélation est intéressante : les faibles coefficients suggèrent qu’elle yn’a guère de lien avec les variables sauf la première (qui est inhérente à la conception) et les zéros hors diagonale confirment l’orthogonalité des variables explicatives:

> cor(cbind(x,y))
     Var1  Var2  Var3   Var4  Var5      y
Var1 1.00 0.000 0.000  0.000  0.00  0.486
Var2 0.00 1.000 0.000  0.000  0.00  0.088
Var3 0.00 0.000 1.000  0.000  0.00  0.044
Var4 0.00 0.000 0.000  1.000  0.00 -0.014
Var5 0.00 0.000 0.000  0.000  1.00 -0.167
y    0.49 0.088 0.044 -0.014 -0.17  1.000

Lançons une série de régressions en utilisant uniquement la première variable, puis les deux premières, etc. Par souci de concision et de comparaison aisée, dans chacune d’elles, je ne montre que la ligne correspondant à la première variable et le test F global:

>temp <- sapply(1:p, function(i) print(summary(lm(y ~ x[, 1:i]))))

#              Estimate Std. Error t value Pr(>|t|)   
1  x[, 1:i]       0.898      0.294    3.05   0.0048 **
F-statistic: 9.29 on 1 and 30 DF,  p-value: 0.00478 

2  x[, 1:i]Var1    0.898      0.298    3.01   0.0053 **
F-statistic: 4.68 on 2 and 29 DF,  p-value: 0.0173 

3  x[, 1:i]Var1   0.8975     0.3029    2.96   0.0062 **
F-statistic: 3.05 on 3 and 28 DF,  p-value: 0.0451 

4  x[, 1:i]Var1   0.8975     0.3084    2.91   0.0072 **
F-statistic: 2.21 on 4 and 27 DF,  p-value: 0.095 

5  x[, 1:i]Var1   0.8975     0.3084    2.91   0.0073 **
F-statistic: 1.96 on 5 and 26 DF,  p-value: 0.118

Regardez comment (a) la signification de la première variable change à peine, (a ') la première variable reste significative (p <0,05) même en tenant compte des comparaisons multiples ( par exemple , appliquer Bonferroni en multipliant la valeur nominale p par le nombre de variables explicatives), (b) le coefficient de la première variable change à peine, mais (c) la signification globale croît de façon exponentielle, augmentant rapidement à un niveau non significatif.

J'interprète cela comme démontrant que l' inclusion de variables explicatives largement indépendantes de la variable dépendante peut "masquer" la valeur p globale de la régression. Lorsque les nouvelles variables sont orthogonales aux variables existantes et à la variable dépendante, elles ne modifieront pas les valeurs p individuelles. (Les petits changements observés ici sont dus au fait que l'erreur aléatoire ajoutée yest, par accident, légèrement corrélée avec toutes les autres variables.) Une leçon à tirer de cela est que la parcimonie est précieuse : utiliser aussi peu de variables que nécessaire peut renforcer la signification de Les resultats.

Je ne dis pas que cela se produit nécessairement pour l'ensemble de données de la question, à propos de laquelle peu de choses ont été divulguées. Mais savoir que cet effet de masquage peut se produire devrait éclairer notre interprétation des résultats ainsi que nos stratégies de sélection de variables et de construction de modèles.

whuber
la source
+1, je suis d'accord avec cette analyse. FWIW, c’est l’explication à laquelle je faisais allusion (peut-être pas très bien) dans ma discussion sur le pouvoir dans ma réponse à l’autre question . J'ai 1 question sur votre version ici, pourquoi utilisez-vous 32 comme moyenne de votre terme d'erreur? Est-ce une faute de frappe ou est-ce important d'une certaine manière?
Gay - Réintégrer Monica
@gung Où voyez-vous 32? Si vous faites référence rnorm(2^p, sd=2), veuillez noter que le premier argument est le nombre de termes, pas la moyenne. La moyenne par défaut est zéro et n'a donc pas été explicitement spécifiée.
whuber
rnorm()N(μ,σ)
@gung Je suis reconnaissant de l'occasion qui m'a été donnée de clarifier le code et j'ai donc modifié la ligne incriminée.
whuber
11

Cela arrive souvent lorsque vous avez un degré élevé de colinéarité parmi vos variables explicatives. L'ANOVA F est un test conjoint qui indique que tous les régresseurs sont conjointement non informatifs. Lorsque vos X contiennent des informations similaires, le modèle ne peut pas attribuer le pouvoir explicatif à un régresseur ou à un autre, mais leur combinaison peut expliquer en grande partie la variation de la variable de réponse.

X1y

Dimitriy V. Masterov
la source
Si la colinéarité est un problème, vous aurez alors des erreurs standard élevées et des coefficients peut-être invraisemblablement élevés, peut-être même avec les mauvais signes. Pour vous assurer que c'est bien ce qui se passe, calculez les facteurs d'inflation de la variance (VIF) après votre régression. Une règle raisonnable est que la colinéarité est un problème si le plus grand FIV est supérieur à 10. Dans ce cas, vous avez vraiment deux options. L'une consiste à redéfinir le modèle afin de réduire la dépendance quasi linéaire en supprimant certaines de vos variables. La seconde consiste à obtenir un échantillon plus grand et / ou meilleur (moins homogène).
Dimitriy V. Masterov
1
(+1) Cette explication est bonne, mais il n’est pas nécessaire d’attribuer le phénomène à la multicolinéarité: la principale distinction est faite entre l’ information conjointe et l’information individuelle. L'inclusion de régresseurs non corrélés supplémentaires (ce qui évite toute multicolinéarité) abaisse le premier tout en laissant le dernier inchangé.
whuber