Чому б усі тести на нормальність відкидали нульову гіпотезу?


12

Тест Колгоморова-Смірнова, тест Шапіро та ін .... всі відкидають гіпотезу про те, що розподіл є нормальним. Але коли я будую нормальні кванти та гістограми, дані явно нормальні. Може тому, що потужність тестів висока?

Розмір вибірки становить близько 650. Чи не повинен хоча б один із цих тестів не відкинути нульову гіпотезу?

Результати:

           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001

1
Ласкаво просимо на сайт. Влада справді може бути проблемою. Чи можете ви опублікувати свої результати, щоб ми могли бути більш конкретними?
StasK

1
Практично неможливо оцінити нормальність з великою точністю, переглянувши гістограму або квантови. Перші три з цих тестів вимірюють відхилення в графіку ймовірності (звичайний графік qq), тож як лінійно виглядає цей сюжет?
whuber

Відповіді:


13

Тестування на нормальність - це марна трата часу, і ваш приклад пояснює, чому. Що стосується невеликих вибірок, тест на нормальність має низьку потужність, тому рішення про те, які статистичні моделі використовувати, повинні базуватися на апріорних знаннях. У цих випадках відмова відхилення нуля не доводить, що нульовий рівень навіть приблизно відповідає рівню населення.

Коли у вас є великі зразки, тести на нормальність стають смішно потужними, але вони не повідомляють вам нічого, чого ви вже не знали. Жодна реальна кількість точно не розподіляється. Нормальний розподіл - це лише математична абстракція, що є досить хорошим наближенням у багатьох випадках. Найпростішим доказом цього є те, що немає реальної кількості (принаймні такої, яку я можу придумати), яка могла б прийняти будь-яке реальне число як своє значення. Наприклад, у Всесвіті існує лише стільки молекул. У грошовій масі лише стільки доларів. Швидкість світла кінцева. Комп'ютери можуть зберігати лише номери обмеженого розміру, тому навіть якщо б у вас була підтримка всіх реальних цифр, ви не змогли б її виміряти.

Справа в тому , що ви вже знали , ваші дані не зовсім нормально розподілені , але тести нормальності не скажу вам нічого про те , як ненормальні дані. Вони не дають вам абсолютно ніякої підказки щодо того, чи ваші дані приблизно нормально розподіляються таким чином, що методи статистичного висновку, які передбачають нормальність, давали б правильні відповіді. Як не дивно, загальні тести (наприклад, Т-тест та ANOVA), які передбачають нормальність, є більш стійкими до ненормальності при великих розмірах вибірки.


Виходячи з вашої відповіді, я розмістив запитання про те, що є хорошим показником ненормальності : stats.stackexchange.com/questions/16646/… Будь-які думки?
Джеромі Англім

Щодо того, що все, що в світі, визначається кількісно: чи не можуть також нормально поширюватися дискретні дані?
xmjx

Ще один коментар до комп'ютерної проблеми: зверніть увагу, що механізм, який часто використовується для зберігання десяткових чисел на комп'ютерах, має різну деталізацію для діапазону малих чисел та великих чисел. Тож мінімальна різниця між числами, які комп'ютер вміє зберігати, менша для малих чисел та більша для великих чисел. Для комп'ютера 100000.1 і 100000.2 можуть бути однаковими, тоді як 0,1 і 0,2 - ні. (Просто приклад - у реальному світі це не так вже й погано.)
xmjx

@xmjx: Дискретні дані можуть бути приблизно нормально розподілені, це означає, що вони досить близькі для практично будь-яких практичних цілей. Однак теоретично будь-який дискретний розподіл не зможе виконати деякі тести на нормальність, якщо розмір вибірки буде досить великим. Нормальний розподіл безперервний, і цього не обійти.
dimimcha

@dsimcha Але нормальний розподіл - це лише функція щільності ймовірності, яка могла б передбачити кількість спостережень у заданому відрізку дискретної змінної. Отже, я зрозумів би, якби ви сказали: "жодна реальна змінна точно не розподіляється нормально, і саме тому тести на нормальність в якийсь момент не зможуть". Але для "дискретних даних не можна нормально поширювати, оскільки це не безперервно", я хотів би отримати деяку посилання. Мені дуже цікаві такі речі. Не бажаючи тут починати бійку.
xmjx

4

Це мене не дивує --- при досить великому розмірі вибірки, будь-який хороший тест повинен відкинути нульову гіпотезу, якщо тільки розподіл даних, що генерують дані, є справді (і точно) нормальним.

Під час тестування гіпотез зазвичай зацікавлений знайти «потужний» тест, який є тестом, який може знайти дуже невеликі відхилення від нульової гіпотези, маючи якомога менше даних.

Спробуйте запустити тест з підпробою розміру 20, 50, 100, 200 і подивіться, якого розміру тести починають відкидати. Неважко зрозуміти, чи є гістограма симетричною і взагалі дзвінкоподібною, але хвости розподілу важче оцінити оком. Можливо, в даних є люди, які викликають відхилення тестів? Якщо є, подивіться, що станеться, коли ви їх обріжете.


Дякую за відповідь. Мета - перевірити, чи є залишки нормальними. Я думаю, що дивитись на нормально-кількісний сюжет і бачити, чи лежить він на y = x, це найкраща ставка?
Роббі

@Robbie Якщо ви просто зацікавлені, щоб розібратися, чи нормальні ваші залишки, візуальний огляд повинен бути добре. Статистичне тестування розподілу для цього насправді не потрібно - як зазначалося, воно збиратиметься відхилятись від нормальності, навіть таке, що насправді не має значення.
Фоміт

@EpiGrad Я не згоден. Тести на нормальність мають сумно низьку потужність. Дивіться мою відповідь вище. З іншого боку, редагування регресія є досить стійкою до ненормальності, тому я погоджуюся, що якщо це виглядає нормально, ви, мабуть, добре для цієї мети.
Девід Дж. Харріс

@David J. Harris: "Сумно низька потужність"? Для розмірів зразка 650? Це суперечить усьому, що я прочитав чи пережив. У вас є цитування?
whuber

@ DavidJ.Harris Я думаю, що в основному, низька потужність або помилкова значимість через велику вибірку, вся вправа є непотрібною для рутинної перевірки припущення про нормальність.
Фоміт

3

Ймовірною причиною є те, що ваші дані дуже незначні, а розмір вибірки є досить великим, щоб виявити це.

Якщо розподіл справді нормальний, зазвичай він повинен пройти ці тести, як у наступному прикладі R, коли всі, крім одного тесту, здані.

> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

Можливо, ви захочете зробити qqplot, і якщо він достатньо близький до прямої, то ви можете вирішити сприймати його як достатньо близький до нормальності для своїх цілей. Це швидше залежить від того, які ці цілі.


Цілі полягають у тестуванні, щоб перевірити, чи нормальні залишки при лінійній регресії.
Роббі

1
@Robbie. Мабуть, їх немає, але вони можуть бути досить близькими, щоб це не мало значення. Спробуйте qqplot.
Генрі

Результат квадрату Пірсона виглядає так, що дані зазвичай не поширюються. Просто кажу. Що робити з таким результатом?
xmjx

@xmjx: Не так багато - якщо ви застосовуєте критерій 0,05, то не варто здивуватися, якщо ви отримаєте хибнопозитивний 5% часу.
Генрі

@ Генрі я знаю. Що я маю на увазі: вибираючи будь-який тест на нормальність наперед, є певна ймовірність вибору тієї, яка скаже «суттєва». Так що краще запустити акумулятор, а потім ... що? Середній? Йти більшістю голосів?
xmjx

2

Дозвольте мені не погодитись з відповіддю від dimimcha: "Тестування на нормальність - це марна трата часу, і ваш приклад ілюструє, чому". Тестування на нормальність - це ніколи не марна трата часу, ви завжди можете вчитися на своїх даних. Крім того, є деякі умови, які ви повинні перевірити, перш ніж проводити аналіз (наприклад, ANOVA, регресія тощо). Відносно великі розміри вибірки краще перевірити за допомогою сюжету (QQplot, гістограма). У таких випадках візуалізація дає набагато більше інформації про багатомодальну поведінку тощо.

ANOVA та регресія є стійкими до ненормальності при роботі з великими розмірами вибірки, але основним типом даних, які викликають проблеми, є мультимодальні вибірки даних.

З невеликим розміром зразка тест Колгоморова-Смірнова є найкращим варіантом, головним чином завдяки його чутливості.


1

Я трохи не погоджуюся з іншими відповідями, розміщеними до цих пір: ці тести на нормальність мають, як відомо, мало потужності, навіть при порівняно великих розмірах вибірки, принаймні, для певних видів відхилень.

Ось короткий приклад. Я створив суміш двох нормалей, засоби яких розділені цілим sd.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

Враховуючи, що це «виявить» відхилення від нормальності 5% часу, навіть якщо це було б справді нормально, це не дуже вражає.

Ось ще один приклад: я додаю рівномірний шум у діапазоні розміром з два стандартних відхилення. Цей досить видимо ненормальний.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

Знову ж таки, надзвичайно низька потужність для досить великого відходу від нормальності.

Ви впевнені, що читаєте qqplot правильно? Чи можете ви завантажити його, щоб ми могли бачити його?

Редагування з іншого боку, регрес досить стійкий до ненормальності, тому я згоден , що візуальний огляд, ймовірно, буде досить для більшості цілей.


3
073/2575/25
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.