Je ne dirais pas que les tests t classiques à un échantillon (y compris appariés) et à deux échantillons à variance égale sont exactement obsolètes, mais il existe une pléthore d'alternatives qui ont d'excellentes propriétés et, dans de nombreux cas, elles devraient être utilisées.
Je ne dirais pas non plus que la capacité d'effectuer rapidement des tests de Wilcoxon-Mann-Whitney sur de grands échantillons - ou même des tests de permutation - est récente, je faisais les deux régulièrement il y a plus de 30 ans en tant qu'étudiant, et la capacité de le faire avait était disponible depuis longtemps à ce moment-là.
†
Voici donc quelques alternatives, et pourquoi elles peuvent vous aider:
Welch-Satterthwaite - lorsque vous n'êtes pas sûr que les variances seront proches de l'égalité (si les tailles d'échantillon sont les mêmes, l'hypothèse de variance égale n'est pas critique)
Wilcoxon-Mann-Whitney - Excellent si les queues sont normales ou plus lourdes que la normale, en particulier dans les cas proches de symétriques. Si les queues ont tendance à être proches de la normale, un test de permutation sur les moyennes offrira un peu plus de puissance.
tests t robustes - il existe une variété de ceux-ci qui ont une bonne puissance à la normale mais qui fonctionnent également bien (et conservent une bonne puissance) dans des alternatives à queue plus lourde ou légèrement asymétriques.
GLM - utile pour les dénombrements ou les cas d'inclinaison droite continue (par exemple gamma) par exemple; conçu pour faire face à des situations où la variance est liée à la moyenne.
des effets aléatoires ou des modèles de séries chronologiques peuvent être utiles dans les cas où il existe des formes particulières de dépendance
Approches bayésiennes , bootstrap et une pléthore d'autres techniques importantes qui peuvent offrir des avantages similaires aux idées ci-dessus. Par exemple, avec une approche bayésienne, il est tout à fait possible d'avoir un modèle qui puisse prendre en compte un processus de contamination, traiter les dénombrements ou les données biaisées et gérer simultanément des formes particulières de dépendance .
Bien qu'il existe une pléthore d'alternatives pratiques, l'ancien test t à deux échantillons à variance égale standard peut souvent bien fonctionner dans de grands échantillons de taille égale tant que la population n'est pas très éloignée de la normale (comme être très lourde à queue / skew) et nous avons une quasi-indépendance.
Les alternatives sont utiles dans une multitude de situations où nous pourrions ne pas être aussi confiants avec le test t simple ... et néanmoins généralement bien performer lorsque les hypothèses du test t sont remplies ou presque.
Le Welch est un défaut sensible si la distribution a tendance à ne pas trop s'éloigner de la normale (avec des échantillons plus grands permettant plus de latitude).
Bien que le test de permutation soit excellent, sans perte de puissance par rapport au test t lorsque ses hypothèses se vérifient (et l'avantage utile de donner une inférence directe sur la quantité d'intérêt), le Wilcoxon-Mann-Whitney est sans doute un meilleur choix si les queues peuvent être lourdes; avec une hypothèse supplémentaire mineure, le WMW peut donner des conclusions qui se rapportent au décalage moyen. (Il y a d'autres raisons pour lesquelles on pourrait le préférer au test de permutation)
[Si vous savez que vous avez affaire à des comptes, à des temps d'attente ou à des types de données similaires, l'itinéraire GLM est souvent judicieux. Si vous en savez un peu sur les formes potentielles de dépendance, cela aussi est facile à gérer et le potentiel de dépendance doit être pris en compte.]
Ainsi, bien que le test t ne soit certainement pas une chose du passé, vous pouvez presque toujours faire aussi bien ou presque aussi bien quand il s'applique, et potentiellement gagner beaucoup quand il ne le fait pas en enrôlant l'une des alternatives . C'est-à-dire que je suis globalement d'accord avec le sentiment dans ce post concernant le test t ... la plupart du temps, vous devriez probablement réfléchir à vos hypothèses avant même de collecter les données, et si certaines d'entre elles ne sont pas vraiment attendues pour tenir le coup, avec le test t, il n'y a généralement presque rien à perdre en ne faisant simplement pas cette hypothèse, car les alternatives fonctionnent généralement très bien.
Si l'on se donne beaucoup de mal pour collecter des données, il n'y a certainement aucune raison de ne pas investir un peu de temps sincèrement à considérer la meilleure façon d'aborder vos inférences.
Notez que je déconseille généralement les tests explicites d'hypothèses - non seulement cela répond à la mauvaise question, mais le faire et ensuite choisir une analyse basée sur le rejet ou le non-rejet de l'hypothèse a un impact sur les propriétés des deux choix de test; si vous ne pouvez pas raisonnablement faire l'hypothèse en toute sécurité (soit parce que vous connaissez suffisamment le processus pour pouvoir le supposer, soit parce que la procédure n'y est pas sensible dans vos circonstances), d'une manière générale, vous feriez mieux d'utiliser la procédure cela ne le suppose pas.
†
# set up some data
x <- c(53.4, 59.0, 40.4, 51.9, 43.8, 43.0, 57.6)
y <- c(49.1, 57.9, 74.8, 46.8, 48.8, 43.7)
xyv <- stack(list(x=x,y=y))$values
nx <- length(x)
# do sample-x mean for all combinations for permutation test
permmean = combn(xyv,nx,mean)
# do the equivalent resampling for a randomization test
randmean <- replicate(100000,mean(sample(xyv,nx)))
# find p-value for permutation test
left = mean(permmean<=mean(x))
# for the other tail, "at least as extreme" being as far above as the sample
# was below
right = mean(permmean>=(mean(xyv)*2-mean(x)))
pvalue_perm = left+right
"Permutation test p-value"; pvalue_perm
# this is easier:
# pvalue = mean(abs(permmean-mean(xyv))>=abs(mean(x)-mean(xyv)))
# but I'd keep left and right above for adapting to other tests
# find p-value for randomization test
left = mean(randmean<=mean(x))
right = mean(randmean>=(mean(xyv)*2-mean(x)))
pvalue_rand = left+right
"Randomization test p-value"; pvalue_rand
(Les valeurs p résultantes sont respectivement 0,538 et 0,539; le test t ordinaire à deux échantillons correspondant a une valeur p de 0,504 et le test t de Welch-Satterthwaite a une valeur p de 0,522.)
Notez que le code pour les calculs est dans chaque cas 1 ligne pour les combinaisons pour le test de permutation et la valeur p pourrait également être faite sur 1 ligne.
L'adaptation à une fonction qui effectuait un test de permutation ou un test de randomisation et produisait une sortie un peu comme un test t serait une question triviale.
Voici un affichage des résultats:
# Draw a display to show distn & p-vale region for both
opar <- par()
par(mfrow=c(2,1))
hist(permmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)
hist(randmean, n=100, xlim=c(45,58))
abline(v=mean(x), col=3)
abline(v=mean(xyv)*2-mean(x), col=3, lty=2)
abline(v=mean(xyv), col=4)
par(opar)