Имеет ли смысл проверять нормальность с очень маленьким размером выборки (например, n = 6)?

26

У меня размер выборки 6. В таком случае имеет ли смысл проверять нормальность с помощью теста Колмогорова-Смирнова? Я использовал SPSS. У меня очень маленький размер выборки, потому что для получения каждого требуется время. Если это не имеет смысла, сколько образцов является наименьшим числом, которое имеет смысл тестировать?

Примечание: я провел некоторый эксперимент, связанный с исходным кодом. Выборка - это время, потраченное на кодирование в версии программного обеспечения (версия A). На самом деле, у меня есть другой размер выборки, равный 6, то есть время, потраченное на кодирование в другой версии программного обеспечения (версия B).

Я хотел бы провести проверку гипотез с использованием t-теста с одним образцом, чтобы проверить, отличается ли время, проведенное в версии кода A, от времени, потраченного в версии кода B (это мой H1). Предварительным условием t-критерия с одним образцом является то, что данные для тестирования должны быть нормально распределены. Вот почему мне нужно проверить на нормальность.

BB01
источник
6
Я, например, с трудом представляю себе контекст, в котором n = 6, и нормальность будет проверкой гипотезы. Я боюсь, что это случай, когда неопытный пользователь проводит тестирование нескольких гипотез (запускает регрессию, затем тестирует нормальность остатков) и что мы обращаемся к симптомам, но игнорируем, так сказать, скелеты в шкафу.
user603
3
@user Несправедливо рассуждать о вопрошающем. Давайте ответим на вопрос, не так ли? Итак, предположим, вы планируете вычислить верхний предел прогнозирования для значения, которое будет использоваться для принятия дорогостоящего решения. Значение PL будет чувствительным к предположениям о нормальности. Вы уверены, что процесс генерации данных не является нормальным, но данные стоят дорого и требуют много времени. Предыдущие эксперименты предполагают, что будет достаточно мощным, чтобы отказаться от нормальности. (Я только что описал стандартную структуру для программ мониторинга подземных вод в США.)n=6
whuber
3
User603 (ваш первый комментарий): Я хотел бы отметить, что @Joris не предоставил ответа, и его комментарий не сопровождается какими-либо обоснованиями. Если решительное «нет» является верным общим ответом на этот вопрос, давайте посмотрим, как оно записано как таковое, с дополнительным аргументом, так что сообщество может оценить его как положительное, так и отрицательное.
whuber
2
@whuber: я добавил аргумент для решительного «нет».
Йорис Мейс
1
@Joris Спасибо! Это полезно и полезно.
whuber

Ответы:

38

Да.

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

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

Здесь следует обратить внимание еще на одну вещь: некоторые программы используют аппроксимации для вычисления p-значений из статистики теста. Часто эти приближения хорошо работают для больших размеров выборки, но плохо работают для очень малых размеров выборки. В этом случае вы не можете доверять, что значение p было правильно вычислено, что означает, что вы не можете быть уверены, что желаемый размер теста был достигнут. За подробностями обращайтесь к документации по вашему программному обеспечению.

Несколько советов: тест KS существенно менее эффективен для проверки нормальности, чем другие тесты, специально предназначенные для этой цели. Лучшим из них, вероятно, является тест Шапиро-Уилка , но другие широко используемые и почти такие же мощные, как Шапиро-Франсия и Андерсон-Дарлинг .

На этом графике показано распределение тестовой статистики Колмогорова-Смирнова в 10 000 выборок из шести нормально распределенных вариаций:

Гистограмма статистики КС

Исходя из 100 000 дополнительных выборок, верхний 95-й процентиль (который оценивает критическое значение для этой статистики для теста размера ) составляет 0,520. Примером образца, который проходит этот тест, является набор данныхα=5%

0.000, 0.001, 0.002, 1.000, 1.001, 1000000

Статистика теста составляет 0,5 (что меньше критического значения). Такой образец будет отбракован с использованием других тестов нормальности.

Whuber
источник
10
Я думаю, что любой дистрибутив, который дает подпись. результат с N = 6 будет настолько ненормальным, что он пройдет IOTT с летающими цветами - это тест на травму межглазного пространства. Это ударяет вас между глазами.
Питер Флом - Восстановить Монику
2
@Peter Если бы вы перефразировали этот комментарий, это было бы правильно. В конце концов, многие выборок из нормального распределения будут выглядеть совершенно нормально, поэтому ясно, что «любой» является слишком сильным квантификатором. То, что вы хотели сказать, это то, что есть хороший шанс, что случайная выборка с будет явно ненормальной, если она построена разумным способом ( например , вероятностный график), но не будет отклонена этим тестом. N = 6N=6N=6
whuber
Ради интереса я попробовал set.seed (3833782) x <- runif (6) ks.test (x, pnorm). Это было значимо при p = .04. Так что это может случиться
Питер Флом - Восстановить Монику
4
@ Питер Хорошо! Тест KS на нормальность отклонил однородный образец. Это то, на что каждый надеется.
whuber
3
set.seed(140);x=rnorm(6);ks.test(x,pnorm)производит p-value = 0.0003255. Конечно, я должен был попробовать это с 140 семенами, прежде чем я нашел это ...
Spacedman
20

Как спросил @whuber в комментариях, проверка моего категорического НЕТ. редактировать: с помощью теста Шапиро, поскольку тест ks для одной выборки фактически используется неправильно. Что правильно: для правильного использования теста Колмогорова-Смирнова вы должны указать параметры распределения, а не извлекать их из данных. Это, однако, то, что делается в статистических пакетах, таких как SPSS для KS-теста с одной выборкой.

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

Теперь нужно определить «значительно отличающиеся», чтобы можно было рассчитать минимальное n для приемлемой мощности (скажем, 0,8). С дистрибутивами это не так просто определить. Следовательно, я не ответил на вопрос, так как не могу дать разумного ответа, кроме того, какое эмпирическое правило я использую: n> 15 и n <50. На основании чего? Чувство в целом, поэтому я не могу защитить этот выбор, кроме опыта.

Но я знаю, что только с 6 значениями ваша ошибка типа II должна быть почти 1, что делает вашу мощность близкой к 0. С 6 наблюдениями тест Шапиро не может различить нормальное, пуассоновское, равномерное или даже экспоненциальное распределение. С ошибкой типа II, равной почти 1, ваш результат теста не имеет смысла.

Чтобы проиллюстрировать тестирование нормальности с помощью теста Шапиро:

shapiro.test(rnorm(6)) # test a the normal distribution
shapiro.test(rpois(6,4)) # test a poisson distribution
shapiro.test(runif(6,1,10)) # test a uniform distribution
shapiro.test(rexp(6,2)) # test a exponential distribution
shapiro.test(rlnorm(6)) # test a log-normal distribution

Единственное, где около половины значений меньше 0,05, это последнее. Что также является самым крайним случаем.


Если вы хотите узнать, какой минимальный n дает вам мощность, которую вы любите, с помощью теста Шапиро, вы можете выполнить симуляцию, подобную этой:

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)
})

который дает вам анализ мощности, как это:

введите описание изображения здесь

из чего я заключаю, что вам нужно примерно минимум 20 значений, чтобы отличить экспоненту от нормального распределения в 80% случаев.

кодовый график:

plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
    main="Power simulation for exponential distribution",
    xlab="n",
    ylab="power"
)
Йорис Мейс
источник
2
@whuber: в отношении логики проверки гипотез с ног на голову: в каком случае вас интересует альтернативная гипотеза? Во всех приложениях этих тестов, которые я видел, люди заинтересованы в подтверждении нулевого значения: мои данные не отличаются значительно от нормального распределения. Вот почему я подчеркиваю ошибку типа II.
Джорис Мейс
4
Смотрите мои комментарии к ФП относительно мониторинга подземных вод. Обычно люди заинтересованы в том, чтобы отклонить одно или оба из двух предположений по умолчанию: нормальность и логнормальность. Поскольку это делается под строгим надзором со стороны регулирующих органов, недостаточно взглянуть на график вероятности (который является мощным инструментом для опытных практиков IOTT, таких как @Peter Flom): необходимы формальные тесты. Аналогичное применение встречается при оценке риска для здоровья человека; В руководящих документах Агентства по охране окружающей среды США конкретно рассматриваются тесты с равным . См. Epa.gov/oswer/riskassessment/pdf/ucl.pdf , например . 5n5
whuber
4
Чтобы вернуться к названию: имеет ли смысл тестировать на нормальность при небольших размерах выборки? В некоторых случаях это так, особенно при тестировании с сильно искаженными альтернативами. (SW имеет 80% мощности при против альтернативы LN (1,2), например) Низкая мощность по сравнению со многими альтернативами, когда мало, это то, что тесты нормальности разделяют, в той или иной степени, с любым тестом гипотезы. Это не исключает его использования. Таким образом, безусловное «нет», мягко говоря, несправедливо по отношению к испытанию. В более общем смысле, это говорит о том, что мы никогда не должны использовать тесты гипотез на «маленьких» выборках. Это звучит слишком драконовски. nn=8n
whuber
3
@whuber: Мы должны согласиться на разницу. Я не совсем поклонник руководящих принципов EPA (и определенно не FDA). Я видел это злоупотребление слишком часто, чтобы все еще верить в его полезность. Шанс - странная вещь, и только 6 случаев крайне непредсказуемы. Я не верю, что вы можете сказать что-нибудь о такой сложной функции, как PDF, основываясь только на 6 наблюдениях. YMMV
Joris Meys
5
@ImAlso t-критерий может выдержать много ненормальностей, если он довольно симметричен, но он не может выдержать слишком много асимметрии. (Действительно, тест на асимметрию нормальности мог бы быть на самом деле лучшим вариантом в OP, чем тест KS, именно по этой причине.) Это указывает на одно из самых больших различий между тестами на пригодность и другими проверками гипотез: существует огромное количество пространство возможных альтернатив и тесты GoF имеют тенденцию быть хорошими против некоторых из них, но не против других. Вы не можете заставить их работать хорошо против всех альтернатив.
whuber
-2

Возникающий здесь вопрос имеет некоторое неправильное представление о том, почему проверка нормальности требуется для выборки размером 6. Здесь основная цель состоит в том, чтобы «проверить, отличается ли время, проведенное в версии кода A, от времени, потраченного в версии кода B ( Это мой H1) ». Когда используется слово «отличается», это один тест на хвост? Однако тестирование нормальности - это второй шаг. Первым шагом является проверка адекватности заданной (1-β) мощности теста для данного размера выборки, когда мощность очень плохая, тогда какой смысл в тестировании нормального состояния? Проверка состояния нормальности поможет нам решить, пройти ли параметрический или непараметрический тест ?. Если ваш размер выборки не имеет достаточной мощности, зачем думать о тестировании нормальности?

user202344
источник
(-1) Это очень неясно. Пожалуйста, прочитайте эту страницу о том, как отвечать на вопросы: stats.stackexchange.com/help/how-to-answer
mkt - Восстановите Монику