Интересная тема развивается

1. Я считаю, что
проверять отклонение от нормальности распределения данных с помощью тестов на нормальность распределения при экстремально маленьких выборках не имеет особого смысла, поскольку эти тесты не обладают достаточной мощностью при таких размерах выборки, чтобы идентифицировать эти самые отклонения от нормальности. Так, например, тест Шапиро-Уилка не способен отличить распределение Гаусса, Пуассона, равномерное распределение при размере выборки в 6 наблюдений (что говорить про 3?):
CODE
shapiro.test(rnorm(6)) # нормальное распределение
shapiro.test(rpois(6,4)) # Пуассона
shapiro.test(runif(6,1,10)) # Равномерное
shapiro.test(rexp(6,2)) # экспоненциальное
shapiro.test(rlnorm(6)) # лог-нормальное
Только лишь в последнем случае половина значений меньше 0,05. Существуют определенные расчеты, что минимальный размер выборки для теста Kolmogorov-Smirnov - 5 и более наблюдений, для Shapiro-Wilk - 7 и более, для D'Agnostino - 8 и более наблюдений. Если мы хотим узнать минимальный размер выборки для теста Шапиро-Уилка с определенной мощностью, можно написать следующее:
CODE
results <- sapply(5:50,function(i){
p.value <- replicate(100,{
y <- rexp(i,2)
shapiro.test(y)$p.value
})
pow <- sum(p.value < 0.05)/100
c(i,pow)
})
и затем построить график:
CODE
plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
main="Power simulation for exponential distribution",
xlab="n",
ylab="power"
)
Нажмите для просмотра прикрепленного файлаПо графику можно определить, что для того, чтобы отличть экспоненциальное распределение от нормального с мощностью 80%, нужно около 20 наблюдений.
2. По-моему,
определять нормальность распеделения с помощью тестов на нормальность распределения при больших выборках не имеет смысла, поскольку даже минимальные отклонения от идеального Гауссовского распределения будут приводить к статистически значимым отличиям.
CODE
x <- replicate(100,{
c(
shapiro.test(rnorm(10)+c(1,0,2,0,1))$p.value,
shapiro.test(rnorm(100)+c(1,0,2,0,1))$p.value,
shapiro.test(rnorm(1000)+c(1,0,2,0,1))$p.value,
shapiro.test(rnorm(5000)+c(1,0,2,0,1))$p.value
)
}
)
rownames(x)<-c("n10","n100","n1000","n5000")
rowMeans(x<0.05) # пропорция значимых оклонений
n10 n100 n1000 n5000
0.04 0.04 0.20 0.87
Вот р-значения:
n10 n100 n1000 n5000
0.760 0.681 0.164 0.007
Из чего следует, что при n=5000, 87% - это вовсе не нормальное распределение, хотя по Q-Q графикам этого не скажешь.
Нажмите для просмотра прикрепленного файлаК тому же, при больших выборках тесты Стьюдента или ANOVA являются робастными к "ненормальности" данных.
3. Вся идея о нормальности распределения - это лишь математическая аппроксимация, но в реальном мире я не знаю ни одну величину, которая бы на
100% соответсвовала Гауссовскому распределению, но есть величины, которые "достаточно близко" распределены к нормальному. Однако, если мы зараннее знаем, что нет величин, которые бы на 100% соответствовали нормальному распределению, что особенного в том и какую информацию мы получим, если отклоним или не сможем отклонить нулевую гипотезу?
4. И самое главное. Существует очень распространенное заблуждение (особенно в отечественных изданиях) о том, какую информацию предоствляют тесты на нормальность распределения и какой ответ хочет получить исследователь. Тесты на нормальность распределения отвечают на следующий вопрос: "Существует ли достаточно доказательств относительно каких-либо отклонений от Гауссовского распределения?". При достаточно больших выборках ответ будет всегда да! Исследователи же ставят очень часто совершенно иной вопрос: "Мои данные достаточно отклоняются от нормального идеального распределения, чтобы запретить мне использовать тест, который подразумевает Гауссовское распределение?" Это очень похожая ошибка как при трактовке р-значений, а именно: H0|D & D|H0, где Н0 - нулевая гипотеза, D - данные. Исследователи хотят, чтобы тесты на нормальность распределения были неким судьей, который бы решал, в каких случаях использовать ANOVA, а в каких лучше отказаться от дисперсионного анализа и перейти к трансформациям данных, использованию ресамплинга, бутстрепа, непараметрических тестов и т.д. Но тесты на нормальность распределения не были созданы для этих целей. "При р-значении > 0,05 "остаемся" на ANOV'e, при р < 0,05 - идем в непараметрические" - это плохая практика!
P.S. Сорри, что так много написал...соскучился за форумом