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.