Quelles hypothèses de normalité sont requises pour un test t non apparié? Et quand sont-ils rencontrés?

12

Si nous souhaitons effectuer un test t par paires, l'exigence est (si je comprends bien) que la différence moyenne entre les unités de mesure appariées soit distribuée normalement.

Dans le test t apparié, cela est articulé (AFAIK) dans la demande que la différence entre les unités de mesure appariées soit distribuée normalement (même si la distribution de chacun des deux groupes comparés n'est pas normale).

Cependant, dans un test t non apparié, nous ne pouvons pas parler de la différence entre les unités appariées, nous avons donc besoin que les observations des deux groupes soient normales pour que la différence de leur moyenne soit normale. Ce qui m'amène à ma question:

Est-il possible pour deux distributions non normales de sorte que la différence de leurs moyennes soit distribuée normalement? (et donc, satisfaire notre exigence nécessaire pour effectuer un test t non apparié sur eux - encore une fois - pour autant que je comprends).

Mise à jour: (merci à tous pour les réponses) Je vois que la règle générale que nous recherchons est en effet que la différence des moyennes sera normale, ce qui semble être une bonne hypothèse (sous un n assez grand) en raison du CLT. C'est incroyable pour moi (pas surprenant, juste incroyable), quant à la façon dont cela fonctionne pour le test t non apparié, mais ne fonctionnera pas aussi bien pour le test t à échantillon unique. Voici quelques codes R pour illustrer:

n1 <- 10
n2 <- 10
mean1 <- 50
mean2 <- 50
R <- 10000

# diffs <- replicate(R, mean(rexp(n1, 1/mean1)) - mean(runif(n2, 0, 2*mean2)))
# hist(diffs)

P <- numeric(R)
MEAN <- numeric(R)
for(i in seq_len(R))
{
    y1 <- rexp(n1, 1/mean1)
    y2 <- runif(n2, 0, 2*mean2)
    MEAN[i] <- mean(y1) - mean(y2)
    P[i] <- t.test(y1,y2)$p.value
}
# diffs <- replicate(R, mean(rexp(n1, 1/mean1)) - mean(runif(n2, 0, 2*mean2)))
par(mfrow = c(1,2))
hist(P)
qqplot(P, runif(R)); abline(0,1)
sum(P<.05) / R # for n1=n2=10 -> 0.0715 # wrong type I error, but only for small n1 and n2 (for larger ones, this effect disappears)



n1 <- 100
mean1 <- 50
R <- 10000
P_y1 <- numeric(R)

for(i in seq_len(R))
{
    y1 <- rexp(n1, 1/mean1)
    P_y1[i] <- t.test(y1 , mu = mean1)$p.value
}

par(mfrow = c(1,2))
hist(P_y1)
qqplot(P_y1, runif(R)); abline(0,1)
sum(P_y1<.05) / R # for n1=n2=10 -> 0.057  # "wrong" type I error

Merci.

Tal Galili
la source
5
(Xi,Yi)XiFYi=Xi+Zi{Zi}N(0,σ2)

Réponses:

17

Dans la pratique, le théorème central limite nous assure que, dans un large éventail d'hypothèses, les distributions des deux échantillons moyens testés approcheront elles-mêmes des distributions normales à mesure que les tailles d'échantillon deviennent grandes, quel que soit (c'est là que les hypothèses entrent) de les distributions des données sous-jacentes. Par conséquent, à mesure que la taille de l'échantillon augmente, la différence des moyennes devient normalement distribuée et les exigences nécessaires pour que la statistique t d'un test t non apparié satisfasse la distribution t nominale. Ainsi, une question plus pratique pourrait être: quelle doit être la taille de l'échantillon avant de pouvoir ignorer en toute sécurité la différence entre la distribution réelle de la statistique et la distribution t?

Dans de nombreux cas, la réponse est "pas très grande", surtout lorsque les distributions sous-jacentes sont assez proches de symétriques. Par exemple, j'ai simulé 100 000 tests en comparant les moyennes de deux distributions uniformes (0,1), chacune avec une taille d'échantillon de 10, et, lors d'un test à un niveau de confiance de 95%, j'ai en fait rejeté la valeur nulle 5,19% du temps - à peine différente par rapport au taux de rejet nominal de 5% que nous espérons (bien qu'il soit d'environ 2,7 écarts-types au-dessus de 5%).

C'est pourquoi les gens utilisent le test t dans toutes sortes de situations où les hypothèses sous-jacentes ne sont pas réellement remplies, mais bien sûr votre kilométrage peut varier, selon les spécificités de votre problème. Cependant, il existe d'autres tests qui ne nécessitent pas de normalité, comme le test de Wilcoxon, qui, même lorsque les données sont normalement distribuées, est, asymptotiquement, environ 95% aussi efficace que le test t (c'est-à-dire qu'il nécessite une taille d'échantillon de N / 0,95 pour avoir la même puissance qu'un test t avec une taille d'échantillon de N, car N va à l'infini). Lorsque les données ne sont pas normalement distribuées, elles peuvent être (pas nécessairement) beaucoup mieux que le test t.

jbowman
la source
6
tt
Merci Frank - votre commentaire m'a aidé à articuler une question qui est plus proche de ce que je recherche: stats.stackexchange.com/questions/19681/…
Tal Galili
1

Bien sûr. Si ce n'était pas le cas, le test t d'échantillons indépendants ne serait pas très utile. Nous avons vraiment besoin de plus grandes tailles d'échantillon, car pour que nous puissions rechercher une différence de moyenne entre deux populations non normales, nous devons faire appel au CLT.

Pour un exemple rapide, supposons que la population 1 provient d'une exponentielle avec une moyenne de 25 et la population 2 est uniformément distribuée avec une moyenne de 30. Nous leur donnerons même différentes tailles d'échantillon. Nous pouvons examiner à quoi ressemble la distribution des différences dans les moyennes des échantillons en utilisant R assez facilement en utilisant la fonction de réplication.

n1 <- 30
n2 <- 25
mean1 <- 25
mean2 <- 30

diffs <- replicate(10000, mean(rexp(n1, 1/mean1)) - mean(runif(n2, 0, 2*mean2)))
hist(diffs)

Jouer avec les tailles d'échantillon montrera que pour des échantillons de faible taille, nous n'avons pas vraiment de normalité, mais l'augmentation de la taille de l'échantillon nous donne une distribution d'échantillonnage plus normale pour la différence de moyennes. Bien sûr, vous pouvez modifier les distributions utilisées dans cet exemple pour explorer davantage. hist (diffs)

Dason
la source