2N(N−1)/2N(N-1)/2N(N-1)/2 Dans cette réponse, @whuber a écrit: Il est bien connu qu'un test ANOVA F global peut détecter..."/>

L'ANOVA peut-elle être significative alors qu'aucun des tests t par paire ne l'est?

29

Est-il possible pour l' ANOVA unidirectionnelle (avec groupes ou "niveaux") de signaler une différence significative lorsqu'aucun des tests t par paire ne le fait?N>2N(N-1)/2

Dans cette réponse, @whuber a écrit:

Il est bien connu qu'un test ANOVA F global peut détecter une différence de moyennes même dans les cas où aucun test t individuel [non ajusté par paire] d'aucune des paires de moyennes ne donnera un résultat significatif.

donc apparemment c'est possible, mais je ne comprends pas comment. Quand cela se produit-il et quelle serait l'intuition derrière un tel cas? Peut-être que quelqu'un peut fournir un simple exemple de jouet d'une telle situation?

Quelques remarques supplémentaires:

  1. L'inverse est clairement possible: l'ANOVA globale peut être non significative tandis que certains des tests t par paire signalent à tort des différences significatives (c'est-à-dire que ce seraient des faux positifs).

  2. Ma question concerne les tests t standard, non ajustés pour les comparaisons multiples. Si des tests ajustés sont utilisés (comme par exemple la procédure HSD de Tukey), il est possible qu'aucun d'entre eux ne se révèle significatif même si l'ANOVA globale l'est. Ceci est couvert ici dans plusieurs questions, par exemple Comment puis-je obtenir une ANOVA globale significative mais pas de différences significatives par paire avec la procédure de Tukey? et interaction ANOVA significative mais comparaisons par paires non significatives .

  3. Mise à jour. Ma question faisait à l'origine référence aux tests t par paires habituels à deux échantillons . Cependant, comme l'a souligné @whuber dans les commentaires, dans le contexte de l'ANOVA, les tests t sont généralement considérés comme des contrastes post hoc utilisant l'estimation de l'ANOVA de la variance intra-groupe, regroupée dans tous les groupes (ce qui n'est pas ce qui se passe dans deux -échantillon t-test). Il y a donc en fait deux versions différentes de ma question, et la réponse à chacune d'elles s'avère positive. Voir ci-dessous.

amibe dit réintégrer Monica
la source
3
Votre question est traitée dans de nombreux fils: essayez de rechercher sur notre site une régression significative . (ANOVA est une application de régression des moindres carrés.) Par exemple, stats.stackexchange.com/questions/14500/… fournit un exemple explicite et une certaine intuition. Veuillez les rechercher et modifier votre question, si possible, pour la distinguer des fils précédents.
whuber
Merci, je n'ai jamais vu ça auparavant. Cependant, j'ai vraiment du mal à traduire ces explications sur la régression multiple dans le langage des comparaisons ANOVA. C'est bien sûr mon problème, mais je suppose que je ne suis pas seul, alors peut-être qu'une réponse à ma question serait toujours utile pour la communauté. Voici ma confusion: quelqu'un a donné un exemple de régression du poids aux tailles de chaussures gauche / droite (deux IV fortement corrélées) => F signif, t non. Très bien. Maintenant, dans la régression ANOVA avec 3 groupes, il y a 2 IV factices ; ils sont factices => toujours parfaitement anticorrélés ... Et alors quoi?
amibe dit Réintégrer Monica le
J'ai bien peur de ne pas suivre cette dernière remarque. Premièrement, le problème n'est pas nécessairement lié à une forte corrélation dans la matrice de conception. Deuxièmement, les mannequins ne sont pas "parfaitement anticorrélés": s'ils l'étaient, le logiciel devrait de toute façon en supprimer un. Vous faites peut-être référence à des problèmes plus subtils dans des modèles ANOVA plus complexes .
whuber
@amoeba: vos variables fictives sont négativement corrélées.
Michael M
3
Je m'oppose à votre "autre remarque" non. 1. Tout simplement parce que vous avez des comparaisons par paires très significatives et un F non significatif n'implique pas que ces résultats significatifs sont des faux positifs. Pour savoir avec certitude que quelque chose est un faux positif, vous devez savoir qu'il n'y a pas de différence dans les moyens réels, les mu. La statistique F n'est pas sacrée. En fait, ce n'est même pas obligatoire. Il est très utile pour la sélection de modèles, mais au-delà, il n'est guère informatif de ce qui se passe spécifiquement dans vos données.
rvl

Réponses:

18

Remarque: il y avait un problème avec mon exemple d'origine. Je me suis stupidement fait prendre par le recyclage silencieux de R. Mon nouvel exemple est assez similaire à mon ancien. Espérons que tout se passe en ce moment.

Voici un exemple que j'ai fait qui a l'ANOVA significative au niveau de 5% mais aucune des 6 comparaisons par paires n'est significative, même au niveau de 5% .

Voici les données:

g1:  10.71871  10.42931   9.46897   9.87644
g2:  10.64672   9.71863  10.04724  10.32505  10.22259  10.18082  10.76919  10.65447 
g3:  10.90556  10.94722  10.78947  10.96914  10.37724  10.81035  10.79333   9.94447 
g4:  10.81105  10.58746  10.96241  10.59571

entrez la description de l'image ici

Voici l'ANOVA:

             Df Sum Sq Mean Sq F value Pr(>F)  
as.factor(g)  3  1.341  0.4469   3.191 0.0458 *
Residuals    20  2.800  0.1400        

Voici les deux exemples de valeurs p du test t (hypothèse de variance égale):

        g2     g3     g4
 g1   0.4680 0.0543 0.0809 
 g2          0.0550 0.0543 
 g3                 0.8108

En jouant un peu plus avec les moyennes de groupe ou les points individuels, la différence de signification pourrait être rendue plus frappante (en ce sens que je pourrais réduire la première valeur de p et la plus faible de l'ensemble des six valeurs de p pour le test t plus élevée ).

-

Modifier: voici un exemple supplémentaire généré à l'origine avec du bruit sur une tendance, qui montre à quel point vous pouvez faire mieux si vous déplacez un peu les points:

g1:  7.27374 10.31746 10.54047  9.76779
g2: 10.33672 11.33857 10.53057 11.13335 10.42108  9.97780 10.45676 10.16201
g3: 10.13160 10.79660  9.64026 10.74844 10.51241 11.08612 10.58339 10.86740
g4: 10.88055 13.47504 11.87896 10.11403

Le F a une valeur de p inférieure à 3% et aucun des t n'a une valeur de p inférieure à 8%. (Pour un exemple de 3 groupes - mais avec une valeur de p un peu plus grande sur le F - omettez le deuxième groupe)

Et voici un exemple très simple, bien que plus artificiel, avec 3 groupes:

g1: 1.0  2.1
g2: 2.15 2.3 3.0 3.7 3.85
g3: 3.9  5.0

(Dans ce cas, la plus grande variance se situe dans le groupe intermédiaire - mais en raison de la plus grande taille de l'échantillon, l'erreur standard de la moyenne du groupe est encore plus petite)


Tests t de comparaisons multiples

whuber a suggéré que j'examine le cas des comparaisons multiples. Cela s'avère assez intéressant.

Le cas des comparaisons multiples (toutes effectuées au niveau de signification d'origine - c'est-à-dire sans ajustement de l'alpha pour les comparaisons multiples) est un peu plus difficile à réaliser, car jouer avec des variances plus grandes et plus petites ou plus et moins de df dans les différents groupes n'aide pas de la même manière que pour les tests t à deux échantillons ordinaires.

Cependant, nous avons toujours les outils pour manipuler le nombre de groupes et le niveau de signification; si nous choisissons plus de groupes et des niveaux de signification plus petits, il devient à nouveau relativement simple d'identifier les cas. En voici un:

Prenez huit groupes avec . Définissez les valeurs dans les quatre premiers groupes à (2,2,5) et dans les quatre derniers groupes à (3,5,4), et prenez (disons). On a alors un F significatif:α = 0,0025nje=2α=0,0025

> summary(aov(values~ind,gs2))
            Df Sum Sq Mean Sq F value  Pr(>F)   
ind          7      9   1.286   10.29 0.00191 
Residuals    8      1   0.125                   

Pourtant, la plus petite valeur de p sur les comparaisons par paires n'est pas significative que ce niveau:

> with(gs2,pairwise.t.test(values,ind,p.adjust.method="none"))

        Pairwise comparisons using t tests with pooled SD 

data:  values and ind 

   g1     g2     g3     g4     g5     g6     g7    
g2 1.0000 -      -      -      -      -      -     
g3 1.0000 1.0000 -      -      -      -      -     
g4 1.0000 1.0000 1.0000 -      -      -      -     
g5 0.0028 0.0028 0.0028 0.0028 -      -      -     
g6 0.0028 0.0028 0.0028 0.0028 1.0000 -      -     
g7 0.0028 0.0028 0.0028 0.0028 1.0000 1.0000 -     
g8 0.0028 0.0028 0.0028 0.0028 1.0000 1.0000 1.0000

P value adjustment method: none 
Glen_b -Reinstate Monica
la source
2
Le test t à deux échantillons n'est pas la même chose que les tests par paire dans la régression. La distinction réside dans les estimations de la variance résiduelle. Ainsi, vos exemples ne sont pas vraiment des exemples du paradoxe le plus fort, à savoir qu'au sein d'une même analyse de régression, le test F peut être significatif alors qu'aucune de ses comparaisons par paires n'est significative. Je crois que ce paradoxe ne découle pas nécessairement non plus de l'hétéroscédasticité: il peut apparaître même lorsque toutes les variances de groupe sont égales.
whuber
4
Il serait peut-être plus intéressant de déterminer quand il est possible que le test F rejette la valeur nulle, mais aucun des tests t par paire ne le rejette au même niveau de signification (en utilisant la même estimation de la variance d'erreur que le test F). Par exemple, pour 3 groupes avec des tailles d'échantillon égales, l'union de la région de rejet de 5% pour les tests t par paire contient la région de rejet de 5% pour le test F ANOVAR même lorsque la taille de l'échantillon devient très grande.
Scortchi - Réintégrer Monica
4
0,005F
4
Amibe, la confusion vient du fait que les "tests t par paires" peuvent signifier deux choses. Dans le contexte de l'ANOVA, on comprendrait généralement des contrastes post hoc en utilisant les estimations de l'ANOVA. Comme d'autres l'ont souligné, ce n'est pas la même chose que d'effectuer le test t habituel sur des paires de groupes, car la version ANOVA est basée sur une estimation de la variance intra-groupe dérivée de tous les groupes.
whuber
2
Je pense que vous avez fait un bon résumé. J'ai qualifié le paradoxe de "plus fort" dans le sens où lorsque tous les tests sont effectués dans le cadre d'une seule analyse ANOVA, on s'attendrait (naïvement) à ce qu'ils soient cohérents en interne. (Lorsque vous effectuez deux séries de tests qui ne sont pas intrinsèquement liés, cela ne devrait pas être très surprenant lorsqu'ils donnent des résultats contradictoires: cela arrive souvent.) Nous devons accepter qu'il est logiquement cohérent et statistiquement valide de conclure ce groupe les moyennes varient considérablement sans trouver de différence entre des paires de groupes spécifiques.
whuber
4

Résumé: Je pense que c'est possible, mais très, très peu probable. La différence sera faible, et si cela se produit, c'est parce qu'une hypothèse a été violée (comme l'homoscédasticité de la variance).

Voici un code qui recherche une telle possibilité. Notez qu'il incrémente la graine de 1 chaque fois qu'il s'exécute, de sorte que la graine est stockée (et la recherche parmi les graines est systématique).

stopNow <- FALSE
counter <- 0
while(stopNow == FALSE) {
  counter <- counter + 1
  print(counter)
  set.seed(counter)
  x <- rep(c(0:5), 100)
  y <- rnorm(600) + x * 0.01
  df  <-as.data.frame( cbind(x, y))
  df$x <- as.factor(df$x)
  fit <- (lm(y ~ x, data=df))
  anovaP <- anova(fit)$"Pr(>F)"[[1]]
       minTtestP <- 1
      for(loop1 in c(0:5)){
        for(loop2 in c(0:5)) {
          newTtestP <- t.test(df[x==loop1,]$y, df[x==loop2,]$y)$p.value
      minTtestP <- min(minTtestP, newTtestP )    
      }
   }

  if(minTtestP > 0.05 & anovaP < 0.05) stopNow <- TRUE 
  cat("\nminTtestP = ", minTtestP )
  cat("\nanovaP = ", anovaP )
  cat("\nCounter = ", counter, "\n\n" )
}

À la recherche d'un R2 significatif et d'aucun test t non significatif, je n'ai rien trouvé jusqu'à une graine de 18 000. En recherchant une valeur de p inférieure à partir de R2 par rapport aux tests t, j'obtiens un résultat à seed = 323, mais la différence est très, très petite. Il est possible que peaufiner les paramètres (augmenter le nombre de groupes?) Puisse aider. La raison pour laquelle la valeur p R2 peut être inférieure est que lorsque l'erreur standard est calculée pour les paramètres de la régression, tous les groupes sont combinés, de sorte que l'erreur standard de la différence est potentiellement plus petite que dans le test t.

Je me demandais si la violation de l'hétéroscédasticité pouvait aider (pour ainsi dire). Cela fait. Si j'utilise

y <- (rnorm(600) + x * 0.01) * x * 5

Pour générer le y, je trouve un résultat approprié à seed = 1889, où la valeur p minimale des tests t est 0,061 et la valeur p associée au R au carré est 0,046.

Si je fais varier la taille des groupes (ce qui augmente l'effet de violation de l'hétéroscédasticité), en remplaçant l'échantillonnage x par:

x <- sample(c(0:5), 100, replace=TRUE)

J'obtiens un résultat significatif à seed = 531, avec la valeur p minimale du test t à 0,063 et la valeur p pour R2 à 0,046.

Si j'arrête de corriger l'hétéroscédasticité dans le test t, en utilisant:

newTtestP <- t.test(df[x==loop1,]$y, df[x==loop2,]$y, var.equal = TRUE)$p.value

Ma conclusion est qu'il est très peu probable que cela se produise et que la différence soit très faible, à moins que vous n'ayez violé l'hypothèse d'homoscédasticité dans la régression. Essayez d'exécuter votre analyse avec un robuste / sandwich / comme vous voulez l'appeler correction.

Jeremy Miles
la source
Vous semblez avoir une phrase inachevée commençant par "Si j'arrête de corriger l'hétéroscédasticité dans le test t". A part ça, merci beaucoup! Veuillez consulter ma mise à jour de la question. Notez également le premier commentaire de @ whuber ici; si je comprends bien, il insiste sur le fait qu'une telle situation peut facilement (?) se produire (et l'appelle "bien connue"). Il y a peut-être un malentendu ici, mais qu'est-ce que c'est?
amibe dit Réintégrer Monica le
Je pense que @whuber parle de paramètres non significatifs dans le modèle, pas de tests t non significatifs.
Jeremy Miles
Non il n'est pas. Si c'est bien connu, je ne le sais pas et j'ai essayé de trouver un exemple, et je ne peux pas.
Jeremy Miles
1
Je suis donc content que @Glen_b ait produit un exemple simple. L'intuition est que le test global évalue s'il existe des preuves que la dispersion dans les moyennes du groupe ne peut pas être raisonnablement expliquée par la variance résiduelle seule. Les tests par paires, impliquant seulement deux moyennes à la fois, doivent être considérablement plus conservateurs dans l'évaluation des mêmes preuves. Par conséquent, même la comparaison des deux moyennes des groupes extrêmes peut ne pas révéler une différence significative lorsque la distribution globale de toutes les moyennes est significative. Cela se produit parfois dans la pratique, en particulier avec un grand nombre de groupes.
whuber
3
BTW, la raison de l'appeler "bien connue" vient de mon souvenir d'avoir été prévenu à ce sujet dans le manuel du logiciel Systat c. 1989. C'était un manuel très instructif (la plupart écrit personnellement par Leland Wilkinson , le développeur) et l'est probablement toujours. Le manuel est en ligne, mais vous devez vous inscrire sur le site Systat pour pouvoir le télécharger.
whuber
2

C'est tout à fait possible:

  • Un ou plusieurs tests t par paire sont significatifs mais le test F global n'est pas
  • Le test F global est significatif mais aucun des tests t par paire n'est

Le test F global teste tous les contrastes simultanément . En tant que tel, il doit être moins sensible (moins de puissance statistique) aux contrastes individuels (par exemple: un test par paire). Les deux tests sont étroitement liés, mais ils ne rapportent pas exactement la même chose.

Comme vous pouvez le voir, la recommandation du manuel de ne pas faire de comparaisons planifiées à moins que le test F global ne soit significatif n'est pas toujours correcte. En fait, la recommandation peut nous empêcher de trouver des différences significatives parce que le test F global a moins de puissance que les comparaisons prévues pour tester les différences spécifiques.

SmallChess
la source
Je ne suis pas sûr de suivre la logique de votre réponse. Êtes-vous en train de dire que le rejet de H0 par un test F implique qu'il y a au moins un contraste non nul, mais ce contraste pourrait ne correspondre à aucune des comparaisons par paire? Si c'est le cas, cela signifie-t-il que si un test F rejette H0, alors au moins l'un des tests par paire sur tous les contrastes possibles entraînera également un rejet?
Amoeba dit Reinstate Monica
@amoeba J'ai édité ma réponse.
SmallChess