Quelle est la robustesse du test t d'échantillons indépendants lorsque les distributions des échantillons ne sont pas normales?

24

J'ai lu que le test t est "raisonnablement robuste" lorsque les distributions des échantillons s'écartent de la normalité. Bien sûr, c'est la distribution d'échantillonnage des différences qui est importante. J'ai des données pour deux groupes. L'un des groupes est fortement asymétrique sur la variable dépendante. La taille de l'échantillon est assez petite pour les deux groupes (n = 33 dans l'un et 45 dans l'autre). Dois - je supposer que, dans ces conditions, mon t -test sera robuste aux violations de l'hypothèse de normalité?

Archéoptéryx
la source
3
"Bien sûr, c'est la distribution d'échantillonnage des différences qui est importante" - Des différences dans quoi? J'ai été tenté de modifier cela hors de question, car je crains que ce soit trompeur pour les futurs lecteurs (et tangentiel au point principal). Ma première pensée était c'est une référence erronée à un apparié t -test, où nous supposons que les différences entre les paires est normal, mais cela ne s'applique pas dans un test d'échantillons indépendants. Nous n'avons même pas de paires pour faire la différence! Peut-être que "la différence de moyens" est voulue? Le reste du Q considère la normalité des deux échantillons, pas de différences.
Silverfish
La question de la solidité du test t vis-à-vis de telles violations est importante et légitime. Mais un problème connexe est qu'il n'est pas recommandé de vérifier d'abord les violations dans vos données, puis de décider d'appliquer un test t ou un autre test. Une telle procédure en plusieurs étapes a des caractéristiques de fonctionnement incertaines. Voir ce fil: Une méthode de principe pour choisir entre le test t ou non paramétrique, par exemple Wilcoxon dans de petits échantillons
Silverfish
Qu'est-ce qu'une source crédible? (Je suppose que nous serions tous les deux d'accord pour dire qu'il n'existe pas de source officielle). Sommes-nous à la recherche de robustesse de niveau ou de puissance? Et si «aussi le pouvoir» ... de quel type d'alternative parlons-nous ?
Glen_b -Reinstate Monica
@Glen_b Désolé, le message de prime "sources officielles" est clairement plus pour StackOverflow! Je pense juste que ce fil est pratiquement important (plus assez fréquenté et pauvre sur Wikipédia) pour mériter quelques citations. Le modèle de prime "réponse canonique" serait inapproprié, comme le montre clairement la réponse de Peter Flom. J'ai l'impression qu'il y a un "ensemble commun de connaissances" sur ce sujet - si on m'avait demandé ce Q de main, ma liste ressemblerait beaucoup à celle de Dallal (j'aurais ajouté kurtosis, mais je n'aurais pas osé cette taille d'échantillon égale protège contre la non-normalité générale)
Silverfish
@Glen_b Votre réponse exploite une veine similaire, il semble donc qu'il existe des points de base largement connus / acceptés. Mon diplôme couvrait des hypothèses mais pas des conséquences de la violation: mes connaissances sont tirées de diverses sources, des morceaux épars (les livres de type "stats for psychologists" peuvent prêter plus d'attention aux conséquences que de nombreux textes de théorie des statistiques) - sinon j'aurais posté une réponse pas une prime! Si quelqu'un connaît un bon résumé d'une page dans un bon manuel, ça me ferait bien. Si c'est quelques articles avec des résultats de simulation, c'est bien aussi. Tout ce que les futurs lecteurs pourraient se référer et citer.
Silverfish

Réponses:

16

Il est très difficile de bien répondre aux questions sur la robustesse - parce que les hypothèses peuvent être violées de tant de manières, et de différentes manières à différents degrés. Le travail de simulation ne peut échantillonner qu'une très petite partie des violations possibles.

Compte tenu de l'état de l'informatique, je pense qu'il vaut souvent la peine d'exécuter à la fois un test paramétrique et un test non paramétrique, si les deux sont disponibles. Vous pouvez ensuite comparer les résultats.

Si vous êtes vraiment ambitieux, vous pouvez même faire un test de permutation.

Et si Alan Turing avait fait son travail avant que Ronald Fisher ne le fasse? :-).

Peter Flom - Réintégrer Monica
la source
1
Peter, tu m'as inspiré à écrire de la fiction historique pour répondre précisément à cette question!
Sycorax dit Réintégrer Monica
12

@PeterFlom a frappé le clou avec sa première phrase.

Je vais essayer de donner un résumé approximatif des études que j'ai vues (si vous voulez des liens, cela peut prendre un certain temps):

Dans l'ensemble, le test t à deux échantillons est raisonnablement robuste à la non-normalité symétrique (le véritable taux d'erreur de type I est quelque peu affecté par le kurtosis, la puissance en est principalement affectée).

Lorsque les deux échantillons sont légèrement asymétriques dans la même direction, le test t unilatéral n'est plus sans biais. La statistique t est biaisée à l'opposé de la distribution et a beaucoup plus de puissance si le test est dans une direction que s'il est dans l'autre. S'ils sont asymétriques dans des directions opposées, le taux d'erreur de type I peut être fortement affecté.

Une asymétrie élevée peut avoir des impacts plus importants, mais d'une manière générale, une asymétrie modérée avec un test bilatéral n'est pas trop mauvaise si cela ne vous dérange pas que votre test attribue essentiellement plus de puissance à une direction que l'autre.

En bref - le test t bilatéral à deux échantillons est raisonnablement robuste à ce genre de choses si vous pouvez tolérer un certain impact sur le niveau de signification et un léger biais.

Il existe de nombreuses façons pour que les distributions ne soient pas normales, cependant, qui ne sont pas couvertes par ces commentaires.

Glen_b -Reinstate Monica
la source
Je ne suis pas sûr qu'il soit correct de dire qu'il est raisonnablement robuste en puissance! Il est raisonnablement robuste au niveau, le niveau de signification sera à peu près correct, mais par exemple, les tests de wilcoxon peuvent avoir une puissance beaucoup plus élevée pour des alternatives raisonnablement proches de la normalité qui sont difficiles à détecter. Cela dépend également de facteurs tels que s'il y a un nombre égal d'observations dans chaque groupe: la robustesse est beaucoup plus fragile dans le cas de l'inégale n!
kjetil b halvorsen
1
@kjetilbhalvorsen Les études que j'ai vues - y compris certaines simulations que j'ai faites moi-même (et je n'en ai pas examiné depuis un bon moment; vous avez peut-être bien vu quelque chose que je n'ai pas vu), la majorité de l'effet sur le pouvoir semblait pour être principalement en poussant le niveau de haut en bas (ce qui n'a pas affecté le Wilcoxon). Compte tenu des propriétés de puissance généralement bonnes du Wilcoxon dans ces circonstances (en particulier avec des queues lourdes), cela suffit pour que le Wilcoxon gagne en puissance - si vous ajustez les niveaux pour qu'ils soient similaires, cela m'a surpris à quel point le t- souvent fait.
Glen_b -Reinstate Monica
7

@PeterFlom a déjà mentionné que les études de simulation ne peuvent jamais couvrir tous les scénarios et possibilités et ne peuvent donc pas conduire à une réponse définitive. Cependant, je trouve toujours utile d'explorer réellement un problème comme celui-ci en effectuant des simulations (il se trouve que c'est aussi exactement le type d'exercice que j'aime utiliser lors de l'introduction de l'idée des études de simulation de Monte Carlo aux étudiants). Essayons donc cela. Je vais utiliser R pour cela.

Le code

n1 <- 33
n2 <- 45
mu1 <- 0
mu2 <- 0
sd1 <- 1
sd2 <- 1

iters <- 100000
p1 <- p2 <- p3 <- p4 <- p5 <- rep(NA, iters)

for (i in 1:iters) {

   ### normal distributions
   x1 <- rnorm(n1, mu1, sd1)
   x2 <- rnorm(n2, mu2, sd2)
   p1[i] <- t.test(x1, x2)$p.value

   ### both variables skewed to the right
   x1 <- (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p2[i] <- t.test(x1, x2)$p.value

   ### both variables skewed to the left
   x1 <- -1 * (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- -1 * (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p3[i] <- t.test(x1, x2)$p.value

   ### first skewed to the left, second skewed to the right
   x1 <- -1 * (rchisq(n1, df=1) - 1)/sqrt(2) * sd1 + mu1
   x2 <- (rchisq(n2, df=1) - 1)/sqrt(2)      * sd2 + mu2
   p4[i] <- t.test(x1, x2)$p.value

   ### first skewed to the right, second skewed to the left
   x1 <- (rchisq(n1, df=1) - 1)/sqrt(2)      * sd1 + mu1
   x2 <- -1 * (rchisq(n2, df=1) - 1)/sqrt(2) * sd2 + mu2
   p5[i] <- t.test(x1, x2)$p.value

}

print(round((apply(cbind(p1, p2, p3, p4, p5), 2, function(p) mean(p <= .05))), 3))

Explication

  1. Tout d'abord, nous définissons la taille du groupe ( n1et n2), les moyennes réelles du groupe ( mu1et mu2) et les vrais écarts types ( sd1et sd2).

  2. Ensuite, nous définissons le nombre d'itérations à exécuter et configurons des vecteurs pour stocker les valeurs de p dans.

  3. Ensuite, je simule des données sous 5 scénarios:

    1. Les deux distributions sont normales.
    2. Les deux distributions sont inclinées vers la droite.
    3. Les deux distributions sont inclinées vers la gauche.
    4. La première distribution est biaisée vers la gauche, la seconde vers la droite.
    5. La première distribution est biaisée vers la droite, la seconde vers la gauche.

    Notez que j'utilise des distributions khi-deux pour générer les distributions asymétriques. Avec un degré de liberté, ces distributions sont fortement asymétriques. Étant donné que la vraie moyenne et la variance d'une distribution chi carré avec un degré de liberté sont respectivement égales à 1 et 2 ( voir wikipedia ), je redimensionne ces distributions pour avoir d'abord la moyenne 0 et l'écart-type 1, puis je les redimensionne pour avoir le la vraie moyenne et l'écart type souhaités (cela pourrait être fait en une seule étape, mais le faire de cette façon peut être plus clair).

  4. Dans chaque cas, j'applique le test t (version de Welch - on pourrait bien sûr également considérer la version de Student qui suppose des variances égales dans les deux groupes) et enregistrer la valeur de p dans les vecteurs configurés précédemment.

  5. Enfin, une fois toutes les itérations terminées, je calcule pour chaque vecteur la fréquence à laquelle la valeur de p est égale ou inférieure à 0,05 (c'est-à-dire que le test est "significatif"). Il s'agit du taux de rejet empirique.

Quelques résultats

  1. Simuler exactement comme décrit ci-dessus donne:

       p1    p2    p3    p4    p5 
    0.049 0.048 0.047 0.070 0.070
    

    α=.05

  2. Si nous changeons le code en mu1 <- .5, nous obtenons:

       p1    p2    p3    p4    p5 
    0.574 0.610 0.606 0.592 0.602
    

    Ainsi, par rapport au cas où les deux distributions sont normales (comme supposé par le test), la puissance semble en fait légèrement plus élevée lorsque l'asymétrie est dans la même direction! Si vous êtes surpris par cela, vous voudrez peut-être recommencer plusieurs fois (bien sûr, à chaque fois obtenir des résultats légèrement différents), mais le modèle restera.

    Notez que nous devons être prudents avec l'interprétation des valeurs de puissance empiriques dans les deux scénarios où l'asymétrie est dans des directions opposées, car le taux d'erreur de type I n'est pas tout à fait nominal (dans un cas extrême, supposons que je rejette toujours quelles que soient les données alors j'aurai toujours un test avec une puissance maximale, mais bien sûr le test a aussi un taux d'erreur de Type I plutôt gonflé).

On pourrait commencer à explorer une gamme de valeurs pour mu1(et mu2- mais ce qui compte vraiment, c'est la différence entre les deux) et, plus important encore, commencer à changer les véritables écarts-types des deux groupes (c'est-à-dire, sd1et sd2) et surtout les rendre inégaux. Je suis également resté fidèle aux tailles d'échantillon mentionnées par l'OP, mais bien sûr, cela pourrait également être ajusté. Et l'asymétrie pourrait bien sûr prendre de nombreuses autres formes que ce que nous voyons dans une distribution chi carré avec un degré de liberté. Je pense toujours que l'approche des choses de cette façon est utile, même si elle ne peut pas donner une réponse définitive.

Wolfgang
la source
2
Étant donné que nous disposons aujourd'hui d'un éventail de méthodes semi-paramétriques robustes, pourquoi cette discussion en vaut-elle la peine?
Frank Harrell
(+1) Je pense que cela aurait peut-être valu la peine d'inclure le cas où un échantillon a été tiré d'une population asymétrique et l'autre non, car c'était ce que le PO pensait qu'il pourrait arriver à leurs données. Mais il est agréable de voir une réponse avec un code explicite. (Une légère généralisation permettrait en fait à un lecteur de déterminer dans quelle mesure des méthodes robustes se comparent au test t traditionnel, qui est un exercice pédagogique utile si vous essayez d'enseigner à quelqu'un les dangers de l'application d'un test dont les hypothèses ont été violées. .)
Silverfish
2

Dans votre situation, le test t sera probablement robuste en termes de taux d'erreur de type I, mais pas de taux d'erreur de type II. Vous obtiendrez probablement plus de puissance soit par a) un test de Kruskal-Wallis, ou b) une transformation de normalisation avant un test t.

Je fonde cette conclusion sur deux études de Monte Carlo. Dans le premier ( Khan et Rayner, 2003 ), l'inclinaison et le kurtosis ont été indirectement manipulés via les paramètres de la famille de distribution g-and-k, et la puissance résultante a été examinée. Il est important de noter que la puissance du test de Kruskal-Wallis a été moins endommagée par la non-normalité, en particulier pour n> = 15.

Quelques mises en garde / réserves à propos de cette étude: Le pouvoir a souvent été blessé par un kurtosis élevé, mais il a été moins affecté par le biais. À première vue, ce modèle peut sembler moins pertinent pour votre situation étant donné que vous avez noté un problème d'asymétrie, pas de kurtosis. Cependant, je parie que l'excès de kurtosis est également extrême dans votre cas. Gardez à l'esprit que l'excès de kurtosis sera au moins aussi élevé que l'inclinaison ^ 2 - 2. (Laissez l'excès de kurtosis égal au 4ème moment standardisé moins 3, de sorte que l'excès de kurtosis = 0 pour une distribution normale.) Notez également que Khan et Rayner ( 2003) ont examiné les ANOVA avec 3 groupes, mais leurs résultats sont susceptibles de se généraliser à un test t à deux échantillons.

Une deuxième étude pertinente ( Beasley, Erikson et Allison, 2009) ont examiné les erreurs de type I et de type II avec diverses distributions non normales, comme un chi carré (1) et Weibull (1, 0,5). Pour des tailles d'échantillon d'au moins 25, le test t a contrôlé de manière adéquate le taux d'erreur de type I à ou en dessous du niveau alpha nominal. Cependant, la puissance était la plus élevée avec un test de Kruskal-Wallis ou avec une transformation normale inverse basée sur le classement (scores de Blom) appliquée avant le test t. Beasley et ses collègues se sont généralement opposés à l'approche de normalisation, mais il convient de noter que l'approche de normalisation contrôlait le taux d'erreur de type I pour n> = 25, et sa puissance dépassait parfois légèrement celle du test de Kruskal-Wallis. Autrement dit, l'approche de normalisation semble prometteuse pour votre situation. Voir les tableaux 1 et 4 dans leur article pour plus de détails.

Les références:

Khan, A. et Rayner, GD (2003) . Robustesse à la non-normalité des tests courants pour le problème de localisation à plusieurs échantillons. Journal of Applied Mathematics and Decision Sciences, 7 , 187-206.

Beasley, TM, Erickson, S., et Allison, DB (2009) . Les transformations normales inverses basées sur le rang sont de plus en plus utilisées, mais sont-elles méritées? Behavioral Genetics, 39 , 580-595.

Anthony
la source
(excès) kurtosisfausser2-2
Cela semble être une question digne de son propre fil. Peut-être votre souci est-il que l'excès de kurtosis soit biaisé vers le bas dans de petits échantillons? Bien sûr, c'était également le cas dans les études de simulation ci-dessus, et le kurtosis provoquait toujours une faible puissance dans le test t dans ces situations. Votre question pointe vers une limitation plus générale de la plupart des études de Monte Carlo: les conclusions sont souvent basées sur les caractéristiques de la population, caractéristiques que le chercheur appliqué ne peut pas observer. Il serait plus utile de pouvoir prédire la puissance relative en fonction de l'inclinaison de l'échantillon, du kurtosis, etc.
Anthony
J'ai posté une question distincte sur ce problème: stats.stackexchange.com/questions/133247/…
Anthony
0

Tout d'abord, si vous supposez que la distribution des deux échantillons est différente, assurez-vous que vous utilisez la version de Welch du test t qui suppose des variances inégales entre les groupes. Cela tentera au moins de tenir compte de certaines des différences qui se produisent en raison de la distribution.

Si nous regardons la formule du test t de Welch:

t=X¯1-X¯2sX¯1-X¯2

sX¯1-X¯2

sX¯1-X¯2=s12n1+s22n2

nous pouvons voir que chaque fois qu'il y a un s, nous savons que la variance est prise en compte. Imaginons que les deux variances soient en fait les mêmes, mais l'une est asymétrique, ce qui conduit à une estimation de variance différente. Si cette estimation de la variance n'est pas réellement représentative de vos données en raison de l'inclinaison, alors l'effet de biais réel sera essentiellement la racine carrée de ce biais divisée par le nombre de points de données utilisés pour le calculer. Ainsi, l'effet des mauvais estimateurs de variance est un peu atténué par la racine carrée et un n plus élevé, et c'est probablement pourquoi le consensus est qu'il reste un test robuste.

L'autre problème des distributions asymétriques est que le calcul de la moyenne sera également affecté, et c'est probablement là que se posent les vrais problèmes de violation des hypothèses de test, car les moyennes sont relativement sensibles à l'inclinaison. Et la robustesse du test peut être déterminée grossièrement en calculant la différence de moyennes, par rapport à la différence de médianes (à titre d'idée). Peut-être pourriez-vous même essayer de remplacer la différence de moyens par la différence de médianes dans le test t comme une mesure plus robuste (je suis sûr que quelqu'un en a discuté, mais je n'ai pas trouvé quelque chose sur google assez rapidement pour y accéder).

Je suggérerais également d'exécuter un test de permutation si tout ce que vous faites est un test t. Le test de permutation est un test exact, indépendant des hypothèses de distribution. Plus important encore, les tests de permutation et le test t conduiront à des résultats identiques si les hypothèses du test paramétrique sont remplies . Par conséquent, la mesure de robustesse que vous recherchez peut être 1 - la différence entre les valeurs de permutation et de test t, où un score de 1 implique une robustesse parfaite et 0 implique une robustesse nulle.

Mensen
la source