Tests Statistiques et Hypothèses

Test de Sphéricité de Mauchly dans R

L’ANOVA sur mesures répétées supposent que les variances des différences entre toutes les combinaisons des conditions (ou groupes) sont égales. C’est ce qu’on appelle l’hypothèse de sphéricité.

La sphéricité n’est évaluée que pour les variables à plus de deux niveaux parce que la sphéricité vaut nécessairement pour les conditions à deux niveaux seulement.

La violation de l’hypothèse de sphéricité peut fausser les calculs de variance résultant à un test d’ ANOVA sur mesures répétées plus libéral (c.-à-d. une augmentation du taux d’erreur de type I). Dans ce cas, l’ANOVA sur mesures répétées doit être corrigée de manière appropriée en fonction du degré de violation de la sphéricité. Deux corrections courantes sont utilisées dans la littérature : epsilon de Greenhouse-Geisser (GGe), et epsilon de Huynh-Feldt (HFe).

Le test de sphéricité de Mauchly est utilisé pour évaluer si l’hypothèse de sphéricité est remplie ou non. Ceci est automatiquement rapporté lors de l’utilisation de la fonction R anova_test() [paquet rstatix]. Bien que ce test ait fait l’objet de vives critiques, et n’arrive souvent pas à détecter les écarts de sphéricité dans les petits échantillons et à les surdétecter dans les grands échantillons, il est néanmoins un test couramment utilisé.

Dans cet article, vous apprendrez à:

  • Calculer la sphéricité
  • Calculez le test de sphéricité de Mauchly dans R
  • Interpréter les résultats de l’analyse de variance sur mesures répétées lorsque l’hypothèse de sphéricité est respectée ou violée
  • Extraire le tableau ANOVA automatiquement corrigé pour l’écart par rapport à la sphéricité.


Sommaire:

Livre Apparenté

Pratique des Statistiques dans R II - Comparaison de Groupes: Variables Numériques

Prérequis

Assurez-vous d’avoir installé les paquets R suivants:

  • tidyverse pour la manipulation et la visualisation des données
  • ggpubr pour créer facilement des graphiques prêts à la publication
  • rstatix offre des fonctions R conviviales pour des analyses statistiques faciles à réaliser
  • datarium contient les jeux de données requis pour ce chapitre

Commencez par charger les paquets R suivants:

library(tidyverse)
library(ggpubr)
library(rstatix)

Données de démonstration

Nous utiliserons le jeu de données sur l’estime de soi mesuré sur trois points temporels. Les données sont disponibles dans le package datarium.

data("selfesteem", package = "datarium")
head(selfesteem, 3)
## # A tibble: 3 x 4
##      id    t1    t2    t3
##   <int> <dbl> <dbl> <dbl>
## 1     1  4.01  5.18  7.11
## 2     2  2.56  6.91  6.31
## 3     3  3.24  4.44  9.78

Mesure de la sphéricité

La procédure est la suivante:

  1. Calculer les différences entre chaque combinaison de groupes associés
  2. Calculer la variance de chaque différence de groupes

Codes R:

# 1. Calculer les différences des groupes
grp.diff <- selfesteem %>%
  transmute(
    `t1-t2` = t1 - t2,
    `t1-t3` = t1 - t3,
    `t2-t3` = t2 - t3
  )
head(grp.diff, 3)
## # A tibble: 3 x 3
##   `t1-t2` `t1-t3` `t2-t3`
##     <dbl>   <dbl>   <dbl>
## 1   -1.18   -3.10  -1.93 
## 2   -4.35   -3.75   0.604
## 3   -1.20   -6.53  -5.33
# 2. Calculer les variances
grp.diff  %>% map(var)
## $`t1-t2`
## [1] 1.3
## 
## $`t1-t3`
## [1] 1.16
## 
## $`t2-t3`
## [1] 3.08

D’après les résultats ci-dessus, la variance de “t2-t3” semble être beaucoup plus grande que les variances de “t1-t2” et “t1-t3”, ce qui suggère que les données violeraient l’hypothèse de la sphéricité.

Pour déterminer s’il existe des différences statistiquement significatives entre les variances des différences, on peut calculer le test de sphéricité de Mauchly.

Calcul de l’ANOVA et du test de Mauchly

Le test de sphéricité de Mauchly est automatiquement rapporté par la fonction anova_test() [package rstatix], un wrapper autour de car::Anova() pour faciliter le calcul de l’ANOVA sur mesures répétées.

Arguments clés:

  • data: data frame
  • dv: (numérique) le nom de la variable dépendante (ou variable-réponse).
  • wid: nom de la variable spécifiant l’identificateur de cas/échantillon.
  • within: facteur ou variable de groupement intra-sujets

Préparation des données : Rassemblez les colonnes “t1”, “t2” et “t3” en format long. Convertir les variables id et time en factor (ou variables de regroupement).

selfesteem <- selfesteem %>%
  gather(key = "time", value = "score", t1, t2, t3) %>%
  convert_as_factor(id, time)
head(selfesteem, 3)
## # A tibble: 3 x 3
##   id    time  score
##   <fct> <fct> <dbl>
## 1 1     t1     4.01
## 2 2     t1     2.56
## 3 3     t1     3.24

Exécuter le test ANOVA:

res <- anova_test(data = selfesteem, dv = score, wid = id, within = time)
res
## ANOVA Table (type III tests)
## 
## $ANOVA
##   Effect DFn DFd    F        p p<.05   ges
## 1   time   2  18 55.5 2.01e-08     * 0.829
## 
## $`Mauchly's Test for Sphericity`
##   Effect     W     p p<.05
## 1   time 0.551 0.092      
## 
## $`Sphericity Corrections`
##   Effect  GGe      DF[GG]    p[GG] p[GG]<.05   HFe      DF[HF]    p[HF] p[HF]<.05
## 1   time 0.69 1.38, 12.42 2.16e-06         * 0.774 1.55, 13.94 6.03e-07         *

Le résultat est une liste comprenant trois tableaux:

  • Résultats de l’ANOVA montrant la p-value et la taille de l’effet dans la colonne ges (generalized eta squared) ; La taille de l’effet est essentiellement le degré de variabilité dû au facteur intra-sujets ignorant l’effet des sujets.
  • Test de Sphéricité de Mauchly. Uniquement pour les variables ou les effets avec des niveaux > 2, car la sphéricité s’applique nécessairement aux variables avec seulement 2 groupes. L’hypothèse nulle est que les variances des différences des groupes sont égales. Ainsi, une p-value significative (p <= 0,05) indique que les variances des différences des groupes ne sont pas égales.
  • Résultats des corrections de la sphéricité à prendre en compte au cas où nous ne pourrions pas maintenir l’hypothèse de sphéricité. Deux corrections courantes utilisées dans la littérature sont fournies : Greenhouse-Geisser epsilon (GGe) et Huynh-Feldt epsilon (HFe) et leurs p-values correspondantes.

Interprétation des résultats de l’ANOVA

Lorsque l’hypothèse de sphéricité est respectée

Dans notre exemple, le test de sphéricité de Mauchly n’est pas significatif (p > 0,05) ; ceci indique que les variances des différences entre les niveaux du facteur intra-sujets sont égales. On peut donc supposer la sphéricité de la matrice de covariance et interpréter le résultat standard disponible dans le tableau de l’ANOVA.

# Afficher le tableau ANOVA
res$ANOVA
##   Effect DFn DFd    F        p p<.05   ges
## 1   time   2  18 55.5 2.01e-08     * 0.829

Le score de l’estime de soi était statistiquement significativement différent aux différents temps durant le régime alimentaire, F(2, 18) = 55, p < 0.0001, eta2[g] = 0.83.

où,

  • F Indique que nous comparons à une distribution F (test F) ; (2, 18) indique les degrés de liberté pour time et Error(time), respectivement ; 81.8 indique la valeur statistique F obtenue
  • p spécifie la p-value
  • ges (generalized eta squared, eta2[g]) est la taille de l’effet (quantité de variabilité due au facteur intra-sujets)

Lorsque l’hypothèse de sphéricité n’est pas respectée

Si vos données ont violé l’hypothèse de sphéricité (c.-à-d. le test de Mauchly, p <= 0,05), vous devriez interpréter les résultats du tableau sphericity corrections (corrections de sphéricité), où il y a eu des ajustements aux degrés de liberté, ce qui a un impact sur la significativité statistique (c.-à-d. la p-value) du test. La correction est appliquée en multipliant DFn et DFd par le coefficient de correction (valeurs epsilons de Greenhouse-Geisser (GG) et Huynh-Feldt (HF)).

Notez que l’epsilon fournit une mesure du degré auquel la sphéricité a été violée. Une valeur de 1 indique qu’il n’y a pas d’écart par rapport à la sphéricité (toutes les variances des différences des groupes sont égales). Une violation de la sphéricité entraîne une valeur d’epsilon inférieure à 1. Plus l’epsilon est éloigné de 1, plus la violation est grave.

Les corrections Greenhouse-Geisser et Huynh-Feldt sont données ci-dessous:

res$`Sphéricité Corrections`
## NULL

On constate que le score moyen d’estime de soi reste statistiquement significativement différent aux différents points dans le temps, même après les corrections de sphéricité (p[GG] < 0,001 et p[HF] < 0,001).

Choix des méthodes de correction de la sphéricité

Des deux méthodes de correction de la sphéricité, la correction de Huynh-Feldt est considérée comme la moins conservatrice (surestimation d’epsilon), tandis que Greenhouse-Geisser est considérée plus conservatrice (sous estimation d’epsilon quand epsilon est proche de 1).

La recommandation générale est d’utiliser la correction Greenhouse-Geisser, en particulier lorsque l’epsilon < 0,75. Dans le cas où epsilon est supérieur à 0,75, certains statisticiens recommandent d’utiliser la correction de Huynh-Feldt (Girden 1992).

Table ANOVA

La fonction R get_anova_table() [rstatix package] peut être utilisé pour extraire et interpréter facilement le tableau ANOVA à partir de la sortie de anova_test(). Il renvoie un tableau ANOVA qui a été automatiquement corrigé pour tenir compte d’un éventuel écart par rapport à l’hypothèse de sphéricité dans un plan expérimental contenant des facteurs à mesures répétées.

Pour l’ANOVA sur mesures répétées, le comportement par défaut de la fonction get_anova_table() est d’appliquer automatiquement la correction de sphéricité de Greenhouse-Geisser uniquement aux facteurs violant l’hypothèse de sphéricité (c’est-à-dire, la p-value du test de Mauchly est significative, p <= 0.05).

Utilisation:

get_anova_table(x, correction = c("auto", "GG", "HF", "none"))
  • x: un objet de class anova_test.
  • correction: utilisé uniquement dans le test ANOVA sur mesures répétées pour préciser quelle correction de degrés de liberté doit être rapportée pour les facteurs intra-sujets. Les valeurs possibles sont:
    • “GG” : applique la correction de Greenhouse-Geisser à tous les facteurs intra-sujets même si l’hypothèse de sphéricité est respectée (c.-à-d. que le test de Mauchly n’est pas significatif, p > 0,05).
    • “HF” : applique la correction de Hyunh-Feldt à tous les facteurs intra-sujets même si l’hypothèse de sphéricité est respectée,
    • “none” : renvoie le tableau standard ANOVA sans aucune correction et
    • “auto” : applique automatiquement la correction GG aux seuls facteurs intra-sujets violant l’hypothèse de sphéricité (c’est-à-dire que la valeur p du test de Mauchly est significative, p <= 0,05).

Exemples:

Dans notre exemple, la sphéricité peut être supposée selon le test de Mauchly ; ainsi le tableau standard de l’ ANOVA n’est pas modifié avec l’option correction = "auto". Spécifier l’option correction = "GG" appliquera la correction même si l’hypothèse est satisfaite.

# correction = "auto"
get_anova_table(res)
## ANOVA Table (type III tests)
## 
##   Effect DFn DFd    F        p p<.05   ges
## 1   time   2  18 55.5 2.01e-08     * 0.829
# correction = "GG"
get_anova_table(res, correction = "GG")
## ANOVA Table (type III tests)
## 
##   Effect  DFn  DFd    F        p p<.05   ges
## 1   time 1.38 12.4 55.5 2.16e-06     * 0.829

Résumé

Cet article décrit les bases de l’hypothèse de sphéricité. Les codes R sont fournis pour calculer l’ANOVA sur mesures répétées et le test de sphéricité de Mauchly en utilisant la fonction anova_test() [package rstatix]. Nous montrons également comment interpréter les résultats de l’analyse de variance lorsque l’hypothèse de sphéricité est satisfaite ou non. Enfin, nous introduisons la fonction R get_anova_table() [rstatix] pour extraire et interpréter facilement la table ANOVA qui est automatiquement corrigée pour un éventuel écart par rapport à l’hypothèse de sphéricité.

References

Girden, E. 1992. “ANOVA: Repeated Measures.” Newbury Park, CA: Sage.



Version: English

Test d’Homogénéité des Variances dans R (Prev Lesson)
(Next Lesson) Transformer les Données en Distribution Normale dans R
Back to Tests Statistiques et Hypothèses

No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments

Teacher
Alboukadel Kassambara
Role : Fondateur de Datanovia
Read More