Jakie założenia dotyczące normalności są wymagane dla niesparowanego testu t? A kiedy się spotkają?

12

Jeśli chcemy przeprowadzić sparowany test t, wymagane jest (o ile dobrze rozumiem), aby średnia różnica między dopasowanymi jednostkami miary była rozkładana normalnie.

W sparowanym teście t, który jest wyrażony (AFAIK) w żądaniu, aby różnica między dopasowanymi jednostkami miary była rozkładana normalnie (nawet jeśli rozkład każdej z dwóch porównywanych grup nie jest normalny).

Jednak w niesparowanym teście t nie możemy mówić o różnicy między dopasowanymi jednostkami, dlatego wymagamy, aby obserwacje z dwóch grup były normalne, aby różnica ich średnich była normalna. Co prowadzi mnie do mojego pytania:

Czy możliwe są dwa nietypowe rozkłady, tak że różnica ich średnich rozkłada się normalnie? (i tym samym spełnimy nasz wymagany wymóg wykonania niesparowanego testu t na nich - ponownie - o ile rozumiem).

Aktualizacja: (dziękuję wszystkim za odpowiedzi) Widzę, że ogólną zasadą, której szukamy, jest to, że różnica średnich będzie normalna, co wydaje się być dobrym założeniem (poniżej wystarczająco dużego n) ze względu na CLT. Jest to dla mnie niesamowite (nic dziwnego, po prostu niesamowite), jeśli chodzi o to, jak to działa dla niesparowanego testu t, ale nie zadziała tak dobrze dla testu t dla pojedynczej próbki. Oto kod R do zilustrowania:

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

Dzięki.

Tal Galili
źródło
5
(Xi,Yi)XiFYi=Xi+Zi{Zi}N(0,σ2)

Odpowiedzi:

17

W praktyce Centralne Twierdzenie Graniczne zapewnia nas, że zgodnie z szerokim zakresem założeń rozkłady dwóch badanych średnich próbek same zbliżą się do rozkładów normalnych, gdy rozmiary próbek stają się duże, niezależnie od tego (gdzie przychodzą założenia) rozkłady danych bazowych. W konsekwencji, gdy wielkość próbki staje się większa, różnica średnich staje się normalnie rozłożona i spełnione są wymagania niezbędne dla statystyki t niesparowanego testu t dla uzyskania nominalnego rozkładu t. Zatem bardziej praktycznym pytaniem może być, jak duża musi być wielkość próbki, zanim będę mógł bezpiecznie zignorować różnicę między faktycznym rozkładem statystyki a rozkładem t?

W wielu przypadkach odpowiedź jest „niezbyt duża”, szczególnie gdy leżące u jej podstaw rozkłady są bardzo zbliżone do symetrycznych. Na przykład przeprowadziłem symulację 100 000 testów, porównując średnie z dwóch rozkładów Uniform (0,1), każdy z rozmiarem próbki 10, a podczas testowania na poziomie ufności 95% faktycznie odrzuciłem zerową 5,19% czasu - prawie inaczej od nominalnego 5% współczynnika odrzucenia, na który liczymy (chociaż wynosi około 2,7 standardowych odchyleń powyżej 5%).

To dlatego ludzie używają testu t we wszelkiego rodzaju sytuacjach, w których podstawowe założenia nie są w rzeczywistości spełnione, ale oczywiście twój przebieg może się różnić, w zależności od specyfiki twojego problemu. Istnieją jednak inne testy, które nie wymagają normalności, takie jak test Wilcoxona, który nawet przy normalnym rozkładzie danych jest asymptotycznie około 95% tak wydajny jak test t (tj. Wymaga wielkości próby N / 0,95, aby mieć taką samą moc jak test t z wielkością próbki N, ponieważ N przechodzi w nieskończoność). Gdy dane nie są normalnie dystrybuowane, może być (niekoniecznie będzie) znacznie lepsze niż test t.

łucznik
źródło
6
tt
Dzięki Frank - twój komentarz pomógł mi sformułować pytanie, które jest bliższe temu, za czym jestem: stats.stackexchange.com/questions/19681/…
Tal Galili
1

Oczywiście. Gdyby tak nie było, test t niezależnych próbek nie przydałby się zbytnio. Naprawdę potrzebujemy jednak większych próbek, ponieważ aby przetestować różnicę średnich między dwoma niestandardowymi populacjami, musimy odwołać się do CLT.

Dla szybkiego przykładu załóżmy, że populacja 1 pochodzi z wykładniczej ze średnią 25, a populacja 2 jest równomiernie rozłożona ze średnią 30. Podamy im nawet różne wielkości próby. Możemy zbadać, jak wygląda rozkład różnic w próbce przy użyciu R stosunkowo łatwo przy użyciu funkcji replikacji.

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

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

Rozważanie wielkości próbek pokaże, że przy małych rozmiarach próbek tak naprawdę nie mamy normalności, ale zwiększenie wielkości próbki daje nam bardziej normalnie wyglądający rozkład próbkowania dla różnicy średnich. Oczywiście możesz zmienić dystrybucje użyte w tym przykładzie, aby dalej badać. hist (diffs)

Dason
źródło