Ist ein großer Unterschied in der Stichprobengröße zusammen mit einem Unterschied in den Varianzen für einen t-Test (oder Permutationstest) von Bedeutung?


8

Ich habe eine sehr verwirrende Frage. Ich habe Daten und möchte numerische Werte zwischen Männern und Frauen vergleichen.

Es gibt einen großen Unterschied zwischen diesen beiden Gruppen: Die Anzahl der Männer beträgt 34, während die Anzahl der Frauen 310 beträgt und die Varianzen nicht gleich sind.

Soweit ich weiß, kann ich bei nicht gleichen Varianzen die Welch-Satterthwaite-Gleichung verwenden (unabhängiger t-Test unter Annahme ungleicher Varianzen). Meine Frage ist: Kann ich diese Gleichung trotzdem verwenden, obwohl es einen wirklich großen Unterschied in der Stichprobengröße zwischen meinen beiden Stichproben gibt? Oder gibt es eine bestimmte Grenze für den Unterschied in der Stichprobengröße zwischen zwei Stichproben?


Was sind die Unterschiede der Gruppen und die Mittel?
John

Antworten:


11

Soweit ich weiß, kann ich die Welch-Satterthwaite-Gleichung verwenden, wenn die Varianzen nicht gleich sind. Meine Frage ist, ob ich diese Gleichung noch verwenden kann, obwohl es wirklich einen großen Unterschied zwischen zwei Stichproben gibt. Oder gibt es eine bestimmte Grenze für den Unterschied zwischen zwei Proben?

Die Verwendung einer skalierten Chi-Quadrat-Verteilung mit Freiheitsgraden von der Welch-Satterthwaite-Gleichung zur Schätzung der Varianz der Differenz der Stichprobenmittel ist lediglich eine Annäherung - die Annäherung ist unter bestimmten Umständen besser als unter anderen.

Tatsächlich denke ich, dass jede Herangehensweise an dieses Problem auf die eine oder andere Weise ungefähr sein wird; Dies ist das berühmte Behrens-Fisher- Problem. Wie oben rechts im Link steht, sind nur ungefähre Lösungen bekannt .

Die kurze Antwort lautet also, dass es im Wesentlichen nie genau richtig ist - und Sie können es jederzeit verwenden -, wenn Sie die Tatsache tolerieren können, dass Ihre Signifikanzniveaus und p-Werte infolgedessen ungenau sind. Wie weit Sie draußen sein und trotzdem gerne nutzen können, hängt von Ihnen ab. Einige Menschen sind viel toleranter gegenüber ungefähren Signifikanzniveaus und p-Werten als andere *

* (In Situationen, in denen ich Hypothesentests verwende, neige ich dazu, ziemlich tolerant gegenüber Signifikanzniveaus zu sein, die sich von den nominalen unterscheiden, solange ich die Richtung und das Gefühl einer Grenze für das Ausmaß des Effekts kenne. Aber wenn ich es wäre Wenn ich versuche, ein wissenschaftliches Ergebnis in einer Zeitschrift zu veröffentlichen, würde ich wahrscheinlich die wahrscheinlichen Auswirkungen der Annäherung - über Simulation - detaillierter dokumentieren.)

Wie verhält sich die Approximation?

Alle Distributionen sind normal :

Der Welch-Test liefert ziemlich nahe an den richtigen Signifikanzniveaus, wenn die Stichprobengrößen nahezu gleich sind (andererseits ist der t-Test mit gleicher Varianz auch ziemlich gut, wenn die Stichprobengrößen gleich sind und im Allgemeinen nur eine moderate Inflation der Signifikanzniveau bei kleineren Stichprobengrößen).

Die Fehlerraten vom Typ I werden kleiner als nominal ("konservativ"), wenn die Gruppengrößen ungleicher werden. Dies betrifft sowohl den Welch- als auch den gewöhnlichen Test mit zwei Proben in derselben Richtung. Die Leistung kann auch niedrig sein.

Verteilungen sind schief :

Wenn die Verteilungen schief sind, können die Auswirkungen sowohl auf das Signifikanzniveau als auch auf die Leistung erheblich sein, und Sie müssen viel vorsichtiger sein (bei Schiefe und ungleichen Varianzen neige ich häufig zur Verwendung von GLMs, solange sich die Varianzen wahrscheinlich darauf beziehen der Mittelwert in geeigneter Weise - z. B. wenn die Streuung mit dem Mittelwert zunimmt, kann ein Gamma-GLM gut funktionieren)

In diesem Dokument wird eine kleine Simulationsstudie des Welch-Tests, des gewöhnlichen t-Tests und eines Permutationstests unter gleichen und ungleichen Varianzen sowie Normalverteilungen und verzerrten Verteilungen erörtert. Es wurde empfohlen:

Der Test mit Welch-Korrektur ist nützlich, wenn die Daten normal sind, die Stichprobengröße klein und die Varianzen heterogen sind.

Dies scheint weitgehend mit dem übereinzustimmen, was ich zu anderen Zeiten gelesen habe.

In einem späteren Abschnitt, in dem die Details der Simulationsergebnisse genauer gelesen werden, heißt es jedoch weiter:

Vermeiden Sie den Welch-korrigierten t-Test in den extremsten Fällen von Ungleichheit der Stichprobengröße (geringere Leistung).

Dieser Rat basiert jedoch auf sehr kleinen Stichprobengrößen in der kleineren Stichprobe. Es wurde nicht bei den von Ihnen angegebenen Stichprobengrößen durchgeführt.

[Wenn ich Zweifel an dem wahrscheinlichen Verhalten eines Verfahrens unter bestimmten Umständen habe, führe ich gerne meine eigenen Simulationen durch. In R ist es so einfach, dass es oft nur ein paar Minuten dauert - einschließlich Codierung, Simulationsläufe und Analyse der Ergebnisse -, um eine gute Vorstellung von den Eigenschaften zu bekommen.]

Ich denke, dass es bei einer sehr großen Stichprobe und einer mittleren Stichprobengröße, wie Sie es getan haben, immer noch relativ wenig Probleme geben sollte, den Welch-Test anzuwenden. Ich werde es jetzt mit einer Simulation überprüfen.

Meine Simulationsergebnisse :

Ich habe Ihre Stichprobengrößen verwendet. Diese Simulationen sind normal .

H.0

ein. Die Gruppe mit der großen Stichprobe hat die dreifache Populationsstandardabweichung der kleinen Stichprobe.

Der Welch-Test erreicht sehr nahe an der nominalen Fehlerrate vom Typ 1. Der T-Test mit gleicher Varianz tut dies wirklich nicht. seine Signifikanzniveaus sind sehr sehr niedrig, fast Null.

b. Die Gruppe mit der kleinen Stichprobe hat die dreifache Populationsstandardabweichung der großen Stichprobe.

Der Welch-Test erreicht sehr nahe an der nominalen Fehlerrate vom Typ 1. Der T-Test mit gleicher Varianz funktioniert nicht. seine Signifikanzniveaus sind überhöht.

Tatsächlich war der Gleichvarianztest so stark betroffen, dass ich ihn überhaupt nicht verwenden würde. Es wäre wenig sinnvoll, die Leistung zu vergleichen, ohne den Unterschied in den Signifikanzniveaus auszugleichen.

Bei einer so großen Stichprobengröße (was bedeutet, dass die Unsicherheit in ihrem Mittelwert relativ gering ist) bietet sich eine andere Möglichkeit an: einen Test mit einer Stichprobe gegen den Mittelwert der großen Stichprobe durchzuführen, als ob er fest wäre . Es stellt sich heraus, dass die Signifikanzniveaus sehr nahe am Nominalwert lagen, wenn die kleinere Populationsstandardabweichung in der größeren Stichprobe lag. In diesem Fall funktioniert es relativ gut.

Wenn die größere Standardabweichung der Population in der größeren Stichprobe lag, waren die Fehlerraten vom Typ 1 etwas überhöht (dies scheint die entgegengesetzte Richtung zu der Auswirkung auf den Welch-Test zu sein).


Eine Diskussion über Permutationstests

AdamO und ich diskutierten über ein Problem mit Permutationstests für diese Situation (unterschiedliche Populationsabweichungen bei einem Test auf Standortunterschiede). Er hat mich um eine Simulation gebeten, also mache ich das hier. Der Link zu dem oben angegebenen Artikel enthält auch Simulationen für den Permutationstest, die weitgehend mit meinen Ergebnissen übereinstimmen.

Das Grundproblem liegt im Zwei-Stichproben-Test des Ortes mit ungleicher Varianz, unter der Null sind die Beobachtungen nicht austauschbar . Wir können keine Labels austauschen, ohne die Ergebnisse wesentlich zu beeinflussen.

EINσ=1B.σ=3μEIN=μB.EINEs ist viel wahrscheinlicher, dass die größten und kleinsten Beobachtungen aus Probe B stammen als aus Probe A, und die mittleren Beobachtungen stammen viel eher aus Probe A (weit mehr als die 90% ige Chance, die sie in den Beobachtungen haben sollten, war austauschbar ). Dieses Problem betrifft die Verteilung der p-Werte unter Null . (Wenn jedoch die Stichprobengrößen gleich sind, ist der Effekt recht gering.)

Lassen Sie uns dies mit einer Simulation sehen, wie gewünscht.

Mein Code ist nicht besonders schick, aber er erledigt den Job. Ich simuliere in drei Fällen gleiche Mittelwerte für die in der Frage genannten Stichprobengrößen:

1) gleiche Varianz

2) Die größere Stichprobe stammt aus einer Population mit größerer Standardabweichung (dreimal so groß wie die andere).

3) Die kleinere Stichprobe stammt aus einer Population mit größerer Varianz (dreimal so groß).

Eines der Dinge, an denen wir bei Hypothesentests interessiert sind, ist: "Wenn ich diese Populationen weiterhin beprobe und diesen Test viele Male durchführe, wie hoch ist meine Fehlerrate bei Typ I?"

Das können wir hier berechnen. Das Verfahren besteht darin, normale Proben zu zeichnen, die den obigen Bedingungen mit demselben Mittelwert entsprechen, und dann das Quantil der Probe in der Permutationsverteilung zu berechnen. Da wir dies viele Male tun, müssen viele Stichproben simuliert und dann innerhalb jeder Stichprobe viele Neuetikettierungen der Daten erneut abgetastet werden, um die Permutationsverteilung von dieser Stichprobe abhängig zu machen . Für jede simulierte Probe erhalte ich einen einzelnen p-Wert (durch Vergleichen der Mittelwertdifferenz der Originalprobe mit der Permutationsverteilung für diese bestimmte Probe). Bei vielen solchen Beispielen erhalte ich eine Verteilung der p-Werte. Dies sagt uns die Wahrscheinlichkeit, dass wir bei zwei Populationen mit demselben Mittelwert eine Stichprobe ziehen müssen, bei der wir die Null ablehnen (dies ist die Fehlerrate vom Typ I).

Hier ist der Code für eine solche Simulation (Fall 2 oben):

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))

In den beiden anderen Fällen ist der Code derselbe, außer dass ich das s1=und geändert habe s2=(und auch geändert habe, in was ich die p-Werte gespeichert habe). Für Fall 1 s1=1; s2=1und für Fall 3s1=1; s2=3

Jetzt unter Null sollte die Verteilung der p-Werte im Wesentlichen gleichmäßig sein, oder wir haben nicht die angekündigte Fehlerrate vom Typ I. (Wie durchgeführt, sind die p-Werte effektiv für Tests mit einem Ende, aber Sie können sehen, was für einen Test mit zwei Enden passieren würde, indem Sie sich beide Enden der Verteilung der p-Werte ansehen. Sie sind zufällig symmetrisch, also nicht Angelegenheit.)

Hier sind die Ergebnisse.

Geben Sie hier die Bildbeschreibung ein

Fall 1 befindet sich oben links. In diesem Fall sind die Werte sind austauschbar, und wir sehen eine ziemlich einheitliche gerichtete Verteilung von p-Werte.

Fall 2 befindet sich oben rechts. In diesem Fall hat die größere Stichprobe die größere Varianz und wir sehen, dass die p-Werte zur Mitte hin konzentriert sind. Es ist viel weniger wahrscheinlich, dass wir einen Nullfall mit typischen Signifikanzniveaus ablehnen, als wir denken, dass wir sollten. Das heißt, die Fehlerrate vom Typ I ist viel niedriger als die Nennrate.

Fall 3 befindet sich unten rechts. In diesem Fall hat die kleinere Stichprobe die größere Varianz, und wir sehen, dass die p-Werte an den beiden Enden konzentriert sind - unter der Null lehnen wir viel eher ab, als wir denken, dass wir sollten. Das Signifikanzniveau ist viel höher als der Nominalzins.


Diskussion des Behrens-Fisher-Problems in Good

Das von AdamO erwähnte Gute Buch behandelt dieses Problem auf Seite 54-57.

Er bezieht sich auf ein Ergebnis von Romano, das besagt, dass der Permutationstest asymptotisch genau ist, vorausgesetzt, sie haben gleiche Stichprobengrößen . Hier natürlich nicht - statt 50-50 sind sie ungefähr 90-10.

Und wenn ich den Fall gleicher Stichprobengröße simuliere (ich habe n1 = n2 = 34 ausprobiert), war die p-Wert-Verteilung nicht weit von der Einheitlichkeit entfernt ** - es war eine kleine Menge, aber nicht genug, um sich Sorgen zu machen. Dies ist ziemlich bekannt und wird durch eine Reihe veröffentlichter Simulationsstudien bestätigt.

** (Ich habe den Code nicht eingefügt, aber es ist trivial, den obigen Code anzupassen, um dies zu tun - ändern Sie einfach n1 in 34)

Gut sagt, dass das Verhalten im Fall gleicher Stichprobengröße auf recht kleine Stichprobengrößen herunterarbeitet. Ich glaube ihm!


Was ist mit einem Bootstrap-Test?

Was wäre, wenn wir einen Bootstrap-Test anstelle eines Permutationstests versuchen würden?

Mit einem Bootstrap-Test * gelten meine Einwände nicht mehr.

* Ein Ansatz könnte beispielsweise darin bestehen, ein CI für die Differenz der Mittelwerte zu erstellen und auf der 5% -Ebene abzulehnen, wenn ein 95% -Intervall für den Mittelwert keine 0 enthält

Mit einem Bootstrap-Test müssen wir nicht mehr in der Lage sein, über Samples hinweg neu zu kennzeichnen. Wir können innerhalb der vorhandenen Samples erneut Samples erstellen und erhalten dennoch ein geeignetes CI für die Differenz der Mittelwerte . Mit einigen der üblichen Verfahren zur Verbesserung der Eigenschaften des Bootstraps kann ein solcher Test bei diesen Stichprobengrößen sehr gut funktionieren.


RE: Ihr Vorschlag, in kleinen Stichproben ein GLM zu verwenden und sehr flexibel parametrische Modelle zu verwenden, kann zur Leistungssteigerung beitragen. Ich würde jedoch lieber einen nicht parametrischen Test wie die Permutation empfehlen. Ich hoffe, wenn OP sagt, dass diese Daten einen "großen Unterschied" aufweisen, bedeutet dies, dass der mittlere Unterschied sehr groß und offensichtlich ist. Es ist lediglich ein p-Wert erforderlich, um den "intraokkularen Signifikanztest" zu bestätigen. Mit Permutationstests sind nur sehr wenige oder gar keine Annahmen verbunden.
AdamO

2
@AdamO Der Umgang mit Permutationstests unter ungleichen Varianzen ist ein Problem. Wie berechnet man die Permutationsverteilung unter der Null, ohne die ungleichen Varianzen, mit denen man begonnen hat, wegzuwerfen?
Glen_b -State Monica

Es ist relativ einfach. Ich werde ein Codierungsbeispiel in einer separaten Antwort bereitstellen. Der Schlüssel ist, dass Sie nur Etiketten permutieren. Daher ist die mittlere Differenz immer 0, da ein Etikett mit gleicher Wahrscheinlichkeit gegen eine andere Person in der Stichprobe ausgetauscht wird. Die Varianz der permutierten Probe ist jedoch ein gewichteter Durchschnitt der beiden Varianzen, der ohne MCMC-Berechnung nur schwer zu handhaben ist.
AdamO

2

Eine Option, die durch die Antwort von @ Glen_b ausgelöst wird, ist ein Permutationstest, bei dem Expositionen (die Gruppenbezeichnungen) zufällig permutiert werden, um die Stichprobenverteilung der Teststatistik unter der Nullhypothese zu erhalten, unabhängig von der parametrischen Verteilung der Daten selbst.

## 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
Das Problem ist jedoch, dass beim Permutieren der Beschriftungen durch die Stichprobe unter Null die Populationsvarianzen gleich sind. Sie nehmen lediglich eine Stichprobe aus einer Mischung der beiden Verteilungen für beide Stichproben. Der Sinn eines Permutationstests besteht darin, einen genauen Test zu erhalten, und dies kommt dem nicht nahe, da dadurch die Konditionierung der verschiedenen Populationsvarianzen aufgehoben wird - wenn die Null wahr wäre, die Populationsvarianzen sich jedoch tatsächlich unterscheiden, Sie kann die beobachtete Stichprobe nicht vernünftigerweise als Zufallsstichprobe aus Ihrer Permutationsverteilung behandeln.
Glen_b -Reinstate Monica

1
Zur Verdeutlichung: Wir können einen Test auf diese Weise durchführen, aber die nominelle Fehlerrate vom Typ I bleibt nicht erhalten, und die Leistung wird ebenfalls beeinflusst. Wenn wir die Größe dieser Effekte in Fällen von Interesse nicht sorgfältig dokumentieren, können wir nicht sagen, ob dies stärker oder weniger betroffen ist als jeder konkurrierende Test.
Glen_b -Rate State Monica

Wir schätzen nicht die Stichprobenverteilung der Daten selbst, sondern die Stichprobenverteilung der Teststatistik. Dies ist eine univariate Größe und hat daher nur eine Varianz. Das ist die Magie des Permutationstests!
AdamO

Sie schätzen die Stichprobenverteilung einer Teststatistik unter der Permutation der Etiketten. Wenn die Verteilungen abgesehen von dem zu testenden Objekt dieselbe Form haben (was unter der Null gleich ist), entspricht die Nullsituation identischen Verteilungen, und die Beschriftungen sind praktisch willkürlich und können daher frei gemischt werden, ohne etwas zu ändern. Wenn unter der Null die beiden Verteilungen NICHT identisch sind (wie dies insbesondere hier der Fall ist), sind die Bezeichnungen nicht willkürlich (sie bezeichnen Verteilungen mit unterschiedlichen Varianzen). ... (ctd)
Glen_b -Rate State Monica

1
Sieht so aus. Ich muss heute ein Buch zurückgeben, ich werde sehen, ob ich es bekommen kann. Gut ist im Allgemeinen sehr ... ähm gut .
Glen_b -State Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.