Welche Normalitätsannahmen sind für einen ungepaarten t-Test erforderlich? Und wann werden sie getroffen?


12

Wenn wir einen gepaarten t-Test durchführen möchten, ist (wenn ich das richtig verstehe), dass die mittlere Differenz zwischen den angepassten Maßeinheiten normal verteilt wird.

Im gepaarten t-Test ist dies in der Forderung (AFAIK) ausgedrückt, dass die Differenz zwischen den übereinstimmenden Maßeinheiten normal verteilt wird (auch wenn die Verteilung jeder der beiden verglichenen Gruppen nicht normal ist).

In einem ungepaarten t-Test können wir jedoch nicht über den Unterschied zwischen übereinstimmenden Einheiten sprechen. Daher müssen die Beobachtungen der beiden Gruppen normal sein, damit der Unterschied im Mittelwert normal ist. Was mich zu meiner Frage führt:

Ist es möglich, dass zwei nicht normale Verteilungen die Differenz ihrer Mittelwerte normal verteilen? (Und damit erfüllen wir - soweit ich weiß - unsere notwendige Voraussetzung, um einen ungepaarten T-Test an ihnen durchzuführen.)

Update: (Vielen Dank für die Antworten) Ich sehe, dass die allgemeine Regel, die wir suchen, in der Tat ist, dass der Unterschied der Mittelwerte normal sein wird, was aufgrund der CLT eine gute Annahme zu sein scheint (unter groß genug n). Dies ist für mich erstaunlich (nicht überraschend, nur erstaunlich), da dies für den ungepaarten T-Test funktioniert, aber für den Einzelproben-T-Test nicht so gut funktioniert. Hier ist ein R-Code zur Veranschaulichung:

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

Vielen Dank.


5
(Xich,Y.ich)XichFY.ich=Xich+Zich{Zich}N(0,σ2)

Antworten:


17

In der Praxis stellt der zentrale Grenzwertsatz sicher, dass sich die Verteilungen der beiden getesteten Stichprobenmittel unter einer Vielzahl von Annahmen den Normalverteilungen annähern, wenn die Stichprobengrößen groß werden, unabhängig davon (woher die Annahmen kommen) von die Verteilung der zugrunde liegenden Daten. Infolgedessen wird mit zunehmender Stichprobengröße die Differenz der Mittelwerte normalverteilt, und die Anforderungen, die für die t-Statistik eines ungepaarten t-Tests erforderlich sind, um die nominale t-Verteilung zu erreichen, werden erfüllt. Eine praktischere Frage könnte daher sein, wie groß die Stichprobengröße sein muss, damit ich den Unterschied zwischen der tatsächlichen Verteilung der Statistik und der t-Verteilung sicher ignorieren kann.

In vielen Fällen ist die Antwort "nicht sehr groß", insbesondere wenn die zugrunde liegenden Verteilungen nahezu symmetrisch sind. Zum Beispiel habe ich 100.000 Tests simuliert, in denen die Mittelwerte zweier gleichförmiger (0,1) Verteilungen mit jeweils Stichprobengröße 10 verglichen wurden, und beim Testen mit einem Konfidenzniveau von 95% die Null von 5,19% der Zeit zurückgewiesen - kaum anders von der nominalen 5% -Abweisungsrate, die wir uns erhoffen (obwohl es ungefähr 2,7 Standardabweichungen über 5% sind)

Aus diesem Grund wird der T-Test in allen Situationen verwendet, in denen die zugrunde liegenden Annahmen nicht tatsächlich erfüllt werden. Natürlich kann Ihr Kilometerstand je nach den Besonderheiten Ihres Problems variieren. Es gibt jedoch andere Tests, die keine Normalität erfordern, wie den Wilcoxon-Test, der asymptotisch etwa 95% so effizient ist wie der t-Test (dh eine Stichprobengröße erfordert), selbst wenn die Daten normal verteilt sind von N / 0,95, um die gleiche Leistung wie ein t-Test mit einer Stichprobengröße von N zu haben, da N gegen unendlich geht). Wenn die Daten nicht normal verteilt sind, können (müssen) sie viel besser sein als der T-Test.


6
tt

Vielen Dank Frank - Ihr Kommentar hat mir geholfen, eine Frage zu formulieren, die näher an meiner Suche liegt
Tal Galili

1

Natürlich. Wenn dies nicht der Fall wäre, wäre der T-Test für unabhängige Stichproben nicht von großem Nutzen. Wir brauchen jedoch wirklich größere Stichproben, da wir, um zu prüfen, ob sich die Mittelwerte zwischen zwei nicht normalen Populationen unterscheiden, die CLT ansprechen müssen.

Für ein kurzes Beispiel nehmen wir an, dass Population 1 von einem Exponential mit einem Mittelwert von 25 und Population 2 von einem Mittelwert von 30 stammt. Wir geben ihnen sogar unterschiedliche Stichprobengrößen. Wir können untersuchen, wie die Verteilung der Unterschiede im Stichprobenmittel mit R relativ einfach aussieht, indem wir die Replikationsfunktion verwenden.

n1 <- 30
n2 <- 25
mean1 <- 25
mean2 <- 30

diffs <- replicate(10000, mean(rexp(n1, 1/mean1)) - mean(runif(n2, 0, 2*mean2)))
hist(diffs)

Das Herumspielen mit den Stichprobengrößen zeigt, dass wir bei niedrigen Stichprobengrößen keine wirkliche Normalität haben, aber durch Erhöhen der Stichprobengröße erhalten wir eine normalere Stichprobenverteilung für die Differenz der Mittelwerte. Natürlich können Sie die in diesem Beispiel verwendeten Verteilungen ändern, um weitere Informationen zu erhalten. hist (Unterschiede)

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.