Тест колмогорова-смирнова в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *