Pour autant que je sache, lorsque les variances ne sont pas égales, je peux utiliser l'équation de Welch-Satterthwaite, ma question est de savoir si je peux toujours utiliser cette équation bien qu'il y ait vraiment une grande différence entre deux échantillons? Ou existe-t-il une certaine limite pour la différence entre deux échantillons?
L'utilisation d'une distribution chi carré échelonnée avec des degrés de liberté de l'équation de Welch – Satterthwaite pour l'estimation de la variance de la différence dans la moyenne des échantillons n'est qu'une approximation - l'approximation est meilleure dans certaines circonstances que dans d'autres.
En fait, je pense que toute approche de ce problème sera approximative d'une manière ou d'une autre; c'est le fameux problème de Behrens-Fisher . Comme il est indiqué en haut à droite dans le lien, seules des solutions approximatives sont connues .
Donc, la réponse courte est qu'elle n'est pratiquement jamais exactement correcte - et vous pouvez l'utiliser à tout moment --- si vous pouvez tolérer le fait que vos niveaux de signification et vos valeurs p soient inexacts en conséquence; quant à la distance que vous pouvez parcourir et toujours heureux de l'utiliser, cela dépend de vous. Certaines personnes tolèrent beaucoup plus les niveaux de signification et les valeurs p approximatifs que d'autres *
* (dans les situations où j'ai tendance à utiliser des tests d'hypothèse, tant que je connais la direction et un certain sens d'une limite sur l'étendue de l'effet, j'ai tendance à être assez tolérant à l'égard des niveaux de signification différents du nominal; mais si j'étais en essayant de publier un résultat scientifique dans une revue, je documenterais probablement l'impact probable de l'approximation - via la simulation - plus en détail.)
Alors, comment se comporte l'approximation?
Toutes les distributions sont normales :
Le test de Welch donne assez près des bons niveaux de signification lorsque les tailles d'échantillon sont proches de l'égalité (d'un autre côté, le test t de variance égale se comporte également assez bien lorsque les tailles d'échantillon sont égales, n'ayant généralement qu'une inflation modérée de la niveau de signification pour des échantillons plus petits).
Les taux d'erreur de type I deviennent plus petits que nominaux («conservateurs») à mesure que la taille des groupes devient plus inégale. Cela affecte à la fois le test Welch et le test ordinaire à deux échantillons dans la même direction. La puissance peut également être faible.
Les distributions sont asymétriques :
Si les distributions sont asymétriques, les effets sur le niveau de signification et la puissance peuvent être plus substantiels, et vous devez être beaucoup plus prudent (avec asymétrie et variances inégales, je penche souvent pour l'utilisation des GLM, tant que les variances semblent susceptibles d'être liées à la moyenne de manière appropriée - par exemple, si l'écart augmente avec la moyenne, un GLM gamma peut bien fonctionner)
Ce document traite d'une petite étude de simulation du test de Welch, du test t ordinaire et d'un test de permutation sous des variances égales et inégales, et des distributions normales et des distributions asymétriques. Il a recommandé:
le test avec correction de Welch est utile lorsque les données sont normales, les tailles d'échantillon sont petites et les variances hétérogènes.
Cela semble globalement cohérent avec ce que j'ai lu à d'autres moments.
Cependant, dans une section ultérieure, en lisant les détails des résultats de la simulation plus en profondeur, ils continuent en disant:
éviter le test t corrigé de Welch dans les cas les plus extrêmes d'inégalité de taille d'échantillon (puissance inférieure)
Bien que ces conseils soient basés sur de très petites tailles d'échantillon dans le plus petit échantillon. Il n'a pas été effectué selon le type de taille d'échantillon dont vous disposez.
[En cas de doute sur le comportement probable d'une procédure dans une circonstance particulière, j'aime exécuter mes propres simulations. C'est si facile en R que cela ne prend souvent que quelques minutes - y compris le codage, les simulations et l'analyse des résultats - pour avoir une bonne idée des propriétés).]
Je pense qu'avec un très grand échantillon et une taille d'échantillon moyenne, comme vous l'avez fait, il devrait y avoir relativement peu de problèmes lors de l'application du test Welch. Je vais vérifier avec une simulation, tout de suite.
Mes résultats de simulation :
J'ai utilisé vos tailles d'échantillon. Ces simulations sont sous normalité .
Premièrement - dans quelle mesure le test est-il affecté lorsque est vrai?H0
une. Le groupe avec le grand échantillon a 3 fois l'écart-type de population du petit.
Le test de Welch atteint très près du taux d'erreur nominal de type 1. Le test t à variance égale ne le fait vraiment pas; ses niveaux de signification sont très très bas, presque nuls.
b. Le groupe avec le petit échantillon a 3 fois l'écart type de population du grand.
Le test de Welch atteint très près du taux d'erreur nominal de type 1. Le test t d'égale variance ne le fait pas; ses niveaux de signification sont gonflés.
En fait, le test d'égalité de variance a été tellement affecté, que je ne l'aurais pas utilisé du tout; il serait inutile de comparer la puissance sans tenir compte de la différence des niveaux de signification.
Avec une taille d'échantillon aussi grande (ce qui signifie que l'incertitude dans sa moyenne est relativement très petite), une autre possibilité se présente: faire un test à un échantillon contre la moyenne du grand échantillon comme s'il était fixe . Il s'avère que lorsque l'écart-type de population le plus faible se trouvait dans l'échantillon plus large, les niveaux de signification étaient très proches du nominal. Cela fonctionne relativement bien dans ce cas.
Lorsque l'écart-type de la population le plus important se trouvait dans l'échantillon le plus large, les taux d'erreur de type 1 étaient quelque peu gonflés (cela semble être la direction opposée à l'effet sur le test de Welch).
Une discussion sur les tests de permutation
AdamO et moi sommes entrés dans une discussion sur un problème que j'ai avec les tests de permutation pour cette situation (différentes variances de population dans un test de différence d'emplacement). Il m'a demandé une simulation, alors je vais le faire ici. Le lien vers l'article que j'ai donné ci-dessus fait également des simulations pour le test de permutation qui semblent être globalement cohérentes avec mes résultats.
Le problème de base est dans le test de localisation à deux échantillons avec variance inégale, sous le zéro les observations ne sont pas échangeables . Nous ne pouvons pas échanger les étiquettes sans affecter de manière significative les résultats.
Par exemple, imaginons que nous avons eu 334 observations où il y avait 90% de chances d'avoir un label et provenant d'une distribution normale avec et 10% de chances d'avoir un label et provenant d'une distribution normale avec . Imaginez en outre que . Les observations ne sont pas échangeables - malgré la plupart des observations provenant de l'échantillon , les observations les plus grandes et les plus petites sont beaucoup plus susceptibles de provenir de l'échantillon B que l'échantillon A et les observations intermédiaires sont beaucoup plus susceptibles de provenir de l'échantillon A ( bien plus que les 90% de chances qu'ils devraient avoir dans les observations étaient échangeables). Ce problèmeUNEσ= 1Bσ= 3μUNE=μBUNEaffecte la distribution des valeurs de p sous le null . (Cependant, si les tailles d'échantillon sont égales, l'effet est assez faible.)
Voyons cela avec une simulation, comme demandé.
Mon code n'est pas particulièrement sophistiqué, mais il fait le travail. Je simule des moyennes égales pour les tailles d'échantillon mentionnées dans la question, dans trois cas:
1) variance égale
2) l'échantillon plus grand provient d'une population avec un écart-type plus grand (3 fois plus grand que l'autre)
3) le plus petit échantillon provient d'une population avec une variance plus grande (3 fois plus grande)
L'une des choses qui nous intéresse avec les tests d'hypothèse est «si je continue d'échantillonner ces populations et que je fais ce test plusieurs fois, quel est mon taux d'erreur de type I»?
Nous pouvons calculer cela ici. La procédure consiste à prélever des échantillons normaux répondant aux conditions ci-dessus, avec la même moyenne, puis à calculer le quantile de l'échantillon dans la distribution de permutation. Parce que nous le faisons plusieurs fois, cela implique de simuler de nombreux échantillons, puis dans chaque échantillon, de rééchantillonner de nombreuses réétiquettes des données pour obtenir la distribution de permutation conditionnelle à cet échantillon . Pour chaque échantillon simulé, j'obtiens une seule valeur p (en comparant la différence de moyennes sur l'échantillon d'origine avec la distribution de permutation pour cet échantillon spécifique). Avec de nombreux échantillons de ce type, j'obtiens une distribution des valeurs de p. Cela nous indique la probabilité, étant donné deux populations avec la même moyenne, nous devons tirer un échantillon où nous rejetons le nul (c'est le taux d'erreur de type I).
Voici le code d'une telle simulation (cas 2 ci-dessus):
nperms <- 3000; nsamps <- 3000
n1 <- 310; n2 <- 34; ni12 <- 1/n1+1/n2
s1 <- 3; s2 <- 1
simpv <- function(n1,n2,s1,s2,nperms) {
x <- rnorm(n1,s = s1);y <- rnorm(n2,s = s2)
sdiff <- mean(x)-mean(y)
xy <- c(x,y)
sn1 <- sum(xy)/n1
diffs <- replicate(nperms,sn1-sum(sample(xy,n2))*ni12)
sum(sdiff<diffs)/nperms
}
pvs1big <- replicate(nsamps,simpv(n1,n2,s1,s2,nperms))
Pour les deux autres cas, le code est le même, sauf que j'ai changé le s1=
et s2=
(et aussi changé dans quoi j'ai stocké les valeurs de p). Pour le cas 1 s1=1; s2=1
et pour le cas 3s1=1; s2=3
Maintenant, sous la valeur nulle, la distribution des valeurs de p devrait être essentiellement uniforme ou nous n'avons pas le taux d'erreur de type I annoncé. (Comme cela a été fait, les valeurs de p sont effectivement pour les tests à 1 queue, mais vous pouvez voir ce qui se passerait pour un test à deux queues en regardant les deux extrémités de la distribution des valeurs de p. Il se trouve qu'elles sont symétriques, donc ce matière.)
Voici les résultats.
Le cas 1 est en haut à gauche. Dans ce cas, les valeurs sont échangeables, et nous voyons une distribution assez uniforme des valeurs de p.
Le cas 2 est en haut à droite. Dans ce cas, le plus grand échantillon a la plus grande variance et nous voyons que les valeurs de p sont concentrées vers le centre. Nous sommes beaucoup moins susceptibles de rejeter un cas nul à des niveaux de signification typiques que nous le pensons. C'est-à-dire que le taux d'erreur de type I est bien inférieur au taux nominal.
Le cas 3 est en bas à droite. Dans ce cas, le plus petit échantillon a la plus grande variance, et nous voyons que les valeurs de p sont concentrées aux deux extrémités - sous le zéro, nous sommes beaucoup plus susceptibles de rejeter que nous le pensons. Le niveau de signification est beaucoup plus élevé que le taux nominal.
Discussion du problème de Behrens Fisher dans Good
Le bon livre mentionné par AdamO discute de ce problème en p54-57.
Il se réfère à un résultat de Romano qui déclare que le test de permutation est asymptotiquement exact à condition qu'ils aient des tailles d'échantillon égales . Ici, bien sûr, ils ne le font pas - au lieu de 50-50, ils sont à peu près 90-10.
Et lorsque je simule le cas d'une taille d'échantillon égale (j'ai essayé n1 = n2 = 34), la distribution de la valeur p n'était pas loin d'être uniforme ** - elle était hors d'une petite quantité mais pas assez pour s'inquiéter. Ceci est assez bien connu et confirmé par un certain nombre d'études de simulation publiées.
** (Je n'ai pas inclus le code, mais il est trivial d'adapter le code ci-dessus pour le faire - changez simplement n1 en 34)
Good dit que le comportement dans le cas d'une taille d'échantillon égale fonctionne jusqu'à des tailles d'échantillon assez petites. Je le crois!
Et un test de bootstrap?
Et si nous essayions un test de bootstrap au lieu d'un test de permutation?
Avec un test bootstrap *, mes objections ne tiennent plus.
* Par exemple, une approche pourrait être de construire un IC pour la différence de moyennes et de rejeter au niveau de 5% si un intervalle de 95% pour la moyenne n'inclut pas 0
Avec un test de bootstrap, nous ne sommes plus tenus de pouvoir réétiqueter les échantillons - nous pouvons rééchantillonner dans les échantillons que nous avons et toujours obtenir un CI approprié pour la différence de moyennes. Avec certaines des procédures habituelles pour améliorer les propriétés du bootstrap, un tel test pourrait très bien fonctionner à ces tailles d'échantillon.