«Связи не должны присутствовать» в однократном тесте Колмгорова-Смирнова в R


12

Я собираюсь использовать тест Колмогорова-Смирнова, чтобы проверить нормальность MYDATA в R. Это пример того, что я делаю

 ks.test(MYDATA,"pnorm",mean(MYDATA),sd(MYDATA))

Вот результат, который дает мне R:

 data:  MYDATA
 D = 0.13527, p-value = 0.1721
 alternative hypothesis: two-sided

 Warning message:
 In ks.test(MYDATA, "pnorm", mean(MYDATA), sd(MYDATA)) :
    ties should not be present for the Kolmogorov-Smirnov test

Я думаю, что есть проблема, что означает «связи» в этом предупреждении?


2
Почему вы хотите выполнить этот тест на нормальность? В большинстве случаев тестирование нормальности переменной довольно бесполезно , хотя тестирование нормальности остатков после регрессии может быть важным.
EdM

2
Даже без связей тест KS является не тестом на общую нормальность, а полностью определенным распределением (вы оцениваете среднее значение и sd по данным). Ваши p-значения будут чепухой.
Поищите на

Ответы:


10

У вас есть две проблемы здесь:

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

Теория, лежащая в основе теста KS, не позволяет вам оценить параметры распределения по данным, как вы это сделали. Помощь для ks.test объясняет это.


почему ks.testв случае с двумя примерами связи должны быть удалены из обоих xи y? Я имею в виду, у меня нет связей в xи y( unique(x)и unique(y)), но эти два вектора имеют общее значение. Разве связи не должны рассматриваться только между ценностями в xи в y?
Немези

@Nemesi, если у вас есть новый вопрос, пожалуйста, задайте его, используя кнопку Задать вопрос.
mdewey

Я , хотя это было не достаточно , чтобы быть другой вопрос, но здесь это: stats.stackexchange.com/questions/389151/...
NEMESI

5

Как объяснил @mdewey, тест KS не подходит для оценки параметров по данным. Вы можете использовать следующий код, который основывается на тесте Андерсона-Дарлинга для нормальности и не требует, чтобы вы указывали среднее и стандартное значение. Этот тест сильнее по точности, чем тест Лиллифорса.

install.packages("nortest")
library(nortest)
ad.test(MYDATA)

«Точность» может быть для узкого, но ошибочного поиска. В обоих случаях большинство приложений любого из этих тестов в худшем случае бесполезны и в большинстве случаев вводят в заблуждение. Людей часто учат использовать их люди с ошибочным пониманием предположений о методах регрессии. Я полагаю, что относительная слабость KS-теста на самом деле «лучше» использовать более мощные альтернативы, так как его результаты с меньшей вероятностью будут вводить в заблуждение наивного пользователя.
DWin
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.