Тест Колмогорова-Смирнова в R (с примерами)


Тест Колмогорова-Смирнова используется для проверки того, происходит ли выборка из определенного распределения.

Чтобы выполнить одновыборочный или двухвыборочный тест Колмогорова-Смирнова в R, мы можем использовать функцию ks.test() .

В этом руководстве показан пример использования этой функции на практике.

Пример 1: Одновыборочный критерий Колмогорова-Смирнова

Предположим, у нас есть следующие образцы данных:

#make this example reproducible
seed(0)

#generate dataset of 100 values that follow 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.