Почему все тесты на нормальность отвергают нулевую гипотезу?


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

Проверка нормальности - пустая трата времени, и ваш пример показывает, почему. С небольшими выборками тест на нормальность имеет низкую мощность, поэтому решения о том, какие статистические модели использовать, должны основываться на априорных знаниях. В этих случаях неспособность отклонить нулевое значение не доказывает, что нулевое значение даже приблизительно верно на уровне совокупности.

Когда у вас большие выборки, тесты нормальности становятся невероятно мощными, но они не говорят вам ничего, чего вы еще не знали. Никакое реальное количество точно не распределено. Нормальное распределение - это просто математическая абстракция, которая во многих случаях является достаточно хорошим приближением. Простейшим доказательством этого является то, что не существует реального количества (по крайней мере, такого, о котором я могу думать), которое могло бы принять любое действительное число в качестве значения. Например, во вселенной очень много молекул. В предложении денег столько долларов. Скорость света конечна. Компьютеры могут хранить только числа конечного размера, поэтому, даже если что-то поддерживает все действительные числа, вы не сможете измерить это.

Дело в том , что вы уже знали , ваши данные не совсем нормально распределены , но тесты нормальности не скажу вам ничего о том , как ненормальные данные. Они не дают вам абсолютно никакого намека на то, распределяются ли ваши данные приблизительно нормально, так что методы статистического вывода, предполагающие нормальность, дают правильные ответы. По иронии судьбы, общие тесты (например, T-тест и ANOVA), которые предполагают нормальность, более устойчивы к ненормальности при больших размерах выборки.


Исходя из вашего ответа, я разместил вопрос о том, что является хорошим показателем ненормальности: stats.stackexchange.com/questions/16646/… Есть мысли?
Jeromy Anglim

Что касается того, что в мире квантуется: разве дискретные данные тоже не могут нормально распределяться?
xmjx

Еще один комментарий к проблеме с компьютером: обратите внимание, что механизм, часто используемый для хранения десятичных чисел в компьютерах, имеет разную степень детализации для диапазона маленьких чисел и больших чисел. Таким образом, минимальная разница между числами, которые может хранить компьютер, меньше для маленьких чисел и больше для больших чисел. Для компьютера 100000.1 и 100000.2 могут быть одинаковыми, а 0.1 и 0.2 - нет. (Просто пример - в реальном мире все не так плохо.)
xmjx

@xmjx: Дискретные данные могут быть приблизительно нормально распределены, что означает, что они достаточно близки практически для любых практических целей. Тем не менее, теоретически любое дискретное распределение не пройдет некоторые тесты на нормальность, если размер выборки будет достаточно большим. Нормальное распределение непрерывно, и нет пути к этому.
dsimcha

@dsimcha Но нормальное распределение - это просто функция плотности вероятности, которая может предсказать количество наблюдений в данном бине дискретной переменной. Итак, я бы понял, если бы вы сказали, что «никакая реальная переменная не является точно нормально распределенной, и поэтому тесты нормальности в какой-то момент не пройдут». Но для «дискретные данные не могут быть нормально распределены, так как они не являются непрерывными», я хотел бы получить некоторую ссылку. Я действительно заинтересован в таких вещах. Не желая начинать драку здесь.
xmjx

4

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

При проверке гипотезы обычно интересует поиск «мощного» теста, который может найти очень маленькие отклонения от нулевой гипотезы с как можно меньшим количеством данных.

Попробуйте запустить тест с подвыборкой размером 20, 50, 100, 200 и посмотрите, с какого размера тесты начинают отклоняться. Легко увидеть, является ли гистограмма симметричной и обычно колоколообразной, но хвосты распределения сложнее оценить на глаз. Возможно, в данных есть выбросы, из-за которых тесты отклоняются? Если есть, посмотрите, что произойдет, когда вы удалите их.


Спасибо за ответ. Цель - проверить, являются ли остатки нормальными. Думаю, лучше всего посмотреть на график с нормальным квантилем и посмотреть, лежит ли он на y = x?
Робби

@Robbie Если вы просто хотите узнать, нормальны ли ваши остатки, визуальный осмотр должен быть в порядке. Статистическое тестирование дистрибутива на самом деле не нужно для этого - как было отмечено, оно выявляет любые отклонения от нормы, даже те, которые на самом деле не имеют значения.
Fomite

@EpiGrad Я не согласен. Тесты на нормальность имеют общеизвестно низкую мощность. Смотрите мой ответ выше. Править с другой стороны, регрессия довольно устойчива к ненормальности, поэтому я согласен, что если она выглядит нормально, вы, вероятно, подойдете для этой цели.
Дэвид Дж. Харрис

@ Дэвид Дж. Харрис: «Печально малообеспеченный»? Для образцов размером 650? Это противоречит всему, что я прочитал или испытал. У вас есть цитата?
whuber

@ DavidJ.Harris Я думаю, что в основе, малой мощности или паразитного значения из-за большой выборки, все упражнение не нужно для рутинного исследования предположения о нормальности.
Fomite

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
@Робби. Очевидно, что нет, но они могут быть достаточно близко, чтобы это не имело большого значения. Попробуйте qqplot.
Генри

Результат квадрата Хи Пирсона выглядит так, как будто данные не распределяются нормально. Просто говорю. Что делать с таким результатом?
xmjx

@xmjx: Немного - если вы применяете критерий 0,05, то вам не стоит удивляться, если вы получаете ложное срабатывание в 5% случаев.
Генри

@ Генри, я знаю. Что я имею в виду: при выборе любого теста на нормальность есть вероятность выбора теста, который скажет «значительный». Так что лучше запустить батарею, а потом ... что? Средний? Идти с большинством голосов?
xmjx

2

Позвольте мне не согласиться с ответом dsimcha: «Проверка нормальности - пустая трата времени, и ваш пример иллюстрирует почему». Проверка нормальности никогда не бывает пустой тратой времени, вы всегда можете извлечь уроки из ваших данных. Кроме того, есть некоторые условия, которые необходимо проверить перед выполнением какого-либо анализа (например, 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.