Une grande différence dans la taille des échantillons ainsi qu'une différence dans les variances sont-elles importantes pour un test t (ou test de permutation)?


8

Il y a une question très confuse dans mon esprit. J'ai des données et j'aimerais comparer les scores numériques entre hommes et femmes.

Il y a une grande différence dans ces deux groupes: le nombre d'hommes est de 34, tandis que le nombre de femmes est de 310, et les écarts ne sont pas égaux.

Pour autant que je sache, lorsque les variances ne sont pas égales, je peux utiliser l'équation de Welch-Satterthwaite (test t indépendant supposant des variances inégales). Ma question est: puis-je toujours utiliser cette équation bien qu'il y ait une très grande différence de taille d'échantillon entre mes deux échantillons? Ou existe-t-il une certaine limite pour la différence de taille d'échantillon entre deux échantillons?


Quelles sont les variances des groupes et les moyens?
John

Réponses:


11

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èmeAσ=1Bσ=3μA=μBAaffecte 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=1et 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.

entrez la description de l'image ici

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.


RE: votre suggestion d'utiliser un GLM, dans de petits échantillons, en utilisant des modèles paramétriques de manière très flexible peut aider à augmenter la puissance ... mais je préférerais recommander un test non paramétrique, comme la permutation. J'espère que lorsque OP dit qu'il y a une "grande différence" dans ces données, cela signifie que la différence moyenne est très grande et évidente, il suffit simplement d'une valeur de p pour confirmer le "test de signification intraocculaire". Les tests de permutation ont très peu ou pas d'hypothèses qui leur sont attachées.
AdamO

2
@AdamO traitant des tests de permutation sous des variances inégales est un problème; comment calculez-vous la distribution de permutation sous le zéro sans rejeter les variances inégales avec lesquelles vous avez commencé?
Glen_b -Reinstate Monica

c'est relativement simple, je vais fournir un exemple de codage dans une réponse séparée. La clé est que vous permutez uniquement les étiquettes, par conséquent, la différence moyenne sera toujours 0 car une étiquette est également susceptible d'être échangée avec toute autre personne de l'échantillon. Cependant, la variance de l'échantillon permuté est une moyenne pondérée des deux variances, juste insoluble sans calcul MCMC.
AdamO

2

Une option, motivée par la réponse de @ Glen_b, est un test de permutation dans lequel les expositions (les étiquettes de groupe) sont permutées au hasard pour obtenir la distribution d'échantillonnage de la statistique de test sous l'hypothèse nulle, quelle que soit la distribution paramétrique des données elles-mêmes.

## example of permutation test
set.seed(1)
men <- rexp(30, 1.3)
women <- rexp(300, 0.8)

stacked <- c(men, women)
labels <- c(rep('m', 30), rep('w', 300))
o.diff <- diff(tapply(stacked, labels, mean))
d.null <- replicate(5000, {
  diff(tapply(stacked, sample(labels), mean))
})

b <- hist(d.null, plot=FALSE)
col <- ifelse(b$breaks > o.diff, 'green', 'white')
    plot(b, col=col)
    text(o.diff, par()$yaxp[2], paste0('P - value = ', mean(d.null > o.diff)))

abline(v=o.diff)

1
Mais le problème est que lorsque vous permutez les étiquettes, votre échantillonnage sous le zéro rend les variances de population égales - vous échantillonnez simplement à partir d'un mélange des deux distributions pour les deux échantillons. Le but d'un test de permutation est d'obtenir un test exact, et cela ne se rapproche pas de le faire, car il jette le conditionnement sur les différentes variances de population - si le zéro était vrai mais que les variances de population différaient, vous ne peut pas raisonnablement traiter l'échantillon observé comme un échantillon aléatoire de votre distribution de permutation.
Glen_b -Reinstate Monica

1
Pour clarifier - nous pouvons effectuer un test de cette façon, mais il ne conserve pas son taux d'erreur nominal de type I, et la puissance est également affectée. À moins que nous ne documentions soigneusement la taille de ces effets dans des cas d'intérêt, nous ne pouvons pas dire si cela est plus ou moins affecté que n'importe quel test concurrent.
Glen_b -Reinstate Monica

Nous n'estimons pas la distribution d'échantillonnage des données elles-mêmes, c'est la distribution d'échantillonnage de la statistique de test. Il s'agit d'une quantité univariée et, par conséquent, n'a qu'une seule variance. C'est la magie du test de permutation!
AdamO

Vous estimez la distribution d'échantillonnage d'une statistique de test sous la permutation des étiquettes. Lorsque les distributions ont la même forme en dehors de la chose testée (qui est égale sous le nul), alors la situation nulle correspond à des distributions identiques et les étiquettes sont effectivement arbitraires et pourraient donc être librement mélangées sans rien changer. Lorsque, sous la valeur nulle, les deux distributions ne sont PAS identiques (comme, spécifiquement, c'est le cas ici), alors les étiquettes ne sont pas arbitraires (elles dénotent des distributions avec des variances différentes). ... (ctd)
Glen_b -Reinstate Monica

1
On dirait qu'il y en a. Je dois rendre un livre aujourd'hui, je vais voir si je peux le saisir. Le bien est généralement très ... bon .
Glen_b -Reinstate Monica
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.