Тест колмогорова-смирнова в r (с примерами)
Критерий Колмогорова-Смирнова используется для проверки того, происходит ли выборка из определенного распределения.
Чтобы выполнить одно- или двухвыборочный тест Колмогорова-Смирнова в R, мы можем использовать функцию ks.test() .
В этом руководстве показан пример использования этой функции на практике.
Пример 1: Тестовая выборка Колмогорова-Смирнова
Предположим, у нас есть следующие примеры данных:
#make this example reproducible seed(0) #generate dataset of 100 values that follows a Poisson distribution with mean=5 data <- rpois(n= 20 , lambda= 5 )
Связанный: Руководство по dpois, ppois, qpois и rpois в R.
Следующий код показывает, как выполнить тест Колмогорова-Смирнова на этой выборке из 100 значений данных, чтобы определить, происходят ли они из нормального распределения:
#perform Kolmogorov-Smirnov test ks.test(data, “ pnorm ”) One-sample Kolmogorov–Smirnov test data:data D = 0.97725, p-value < 2.2e-16 alternative hypothesis: two-sided
Из результата мы видим, что статистика теста равна 0,97725 , а соответствующее значение p — 2,2e-16 . Поскольку значение p меньше 0,05, мы отвергаем нулевую гипотезу. У нас есть достаточно доказательств, чтобы сказать, что данные выборки не имеют нормального распределения.
Этот результат не должен вызывать удивления, поскольку мы сгенерировали выборочные данные с помощью функции rpois() , которая генерирует случайные значения, соответствующие распределению Пуассона .
Пример 2: Двухвыборочный критерий Колмогорова-Смирнова
Допустим, у нас есть следующие два примера набора данных:
#make this example reproducible seed(0) #generate two datasets data1 <- rpois(n= 20 , lambda= 5 ) data2 <- rnorm( 100 )
Следующий код показывает, как выполнить тест Колмогорова-Смирнова на этих двух выборках, чтобы определить, происходят ли они из одного и того же распределения:
#perform Kolmogorov-Smirnov test
ks.test(data1, data2)
Two-sample Kolmogorov–Smirnov test
data: data1 and data2
D = 0.99, p-value = 1.299e-14
alternative hypothesis: two-sided
Из результата мы видим, что статистика теста равна 0,99 , а соответствующее значение p — 1,299e-14 . Поскольку значение p меньше 0,05, мы отвергаем нулевую гипотезу. У нас есть достаточно доказательств, чтобы сказать, что два выборочных набора данных не относятся к одному и тому же распределению.
Этот результат также не должен вызывать удивления, поскольку мы сгенерировали значения для первой выборки, используя распределение Пуассона, а значения для второй выборки, используя нормальное распределение .
Дополнительные ресурсы
Как выполнить тест Шапиро-Уилка в R
Как выполнить тест Андерсона-Дарлинга в R
Как выполнить многомерные тесты на нормальность в R