Если мы хотим провести парный t-тест, необходимо (если я правильно понимаю), что средняя разница между согласованными единицами измерения будет распределена нормально.
В парном t-тесте это сформулировано (AFAIK) в требовании, чтобы разница между подобранными единицами измерения была распределена нормально (даже если распределение каждой из двух сравниваемых групп не является нормальным).
Однако в непарном t-тесте мы не можем говорить о разнице между подобранными единицами, поэтому мы требуем, чтобы наблюдения из двух групп были нормальными, чтобы разность их среднего значения была нормальной. Что приводит меня к моему вопросу:
Возможно ли для двух ненормальных распределений так, чтобы разность их средств распространялась нормально? (и, таким образом, удовлетворить наше необходимое требование для проведения непарного t-теста над ними - опять же - насколько я понимаю).
Обновление: (спасибо всем за ответы) Я вижу, что общее правило, которое мы ищем, действительно заключается в том, что различие средних будет нормальным, что, по-видимому, является хорошим предположением (при достаточно большом n) из-за CLT. Это удивительно для меня (не удивительно, просто удивительно), как то, как это работает для непарного t-теста, но не будет работать так же для одиночного t-теста. Вот некоторый код R для иллюстрации:
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
Благодарю.