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.