Найти в Дзене
Gamefiksa

Колмогоров смирнов критерий нормальности

SHAPE \* MERGEFORMAT

Критерий Колмогорова-Смирнова (часто сокращенно K-S тест) — это непараметрический тест, используемый для проверки, подчиняется ли выборка данных определенному распределению, или для сравнения двух выборок. В контексте проверки нормальности, он используется для проверки гипотезы о том, что данная выборка происходит из нормального распределения.

Как работает критерий Колмогорова-Смирнова для проверки нормальности:

Формулировка гипотез:

Нулевая гипотеза (H0): Выборка данных взята из генеральной совокупности, имеющей нормальное распределение. Альтернативная гипотеза (H1): Выборка данных не взята из генеральной совокупности, имеющей нормальное распределение.

Эмпирическая функция распределения (ECDF): Для данной выборки рассчитывается эмпирическая функция распределения, которая представляет собой ступенчатую функцию, показывающую долю наблюдений, меньших или равных заданному значению. Теоретическая функция распределения: В случае проверки нормальности, строится теоретическая кумулятивная функция распределения (CDF) нормального распределения с параметрами, оцененными по выборке (среднее и стандартное отклонение). Статистика теста (D): Вычисляется статистика теста Колмогорова-Смирнова (D), которая представляет собой максимальное абсолютное расстояние между эмпирической и теоретической функциями распределения.

5. D = max |ECDF(x) — CDF(x)|

Где:

ECDF(x) — эмпирическая функция распределения. CDF(x) — теоретическая функция распределения (в данном случае, нормального распределения).

P-значение (p-value): На основе статистики теста D и размера выборки вычисляется p-значение. P-значение показывает вероятность получить такое или большее значение статистики теста, если нулевая гипотеза верна. Принятие решения: P-значение сравнивается с уровнем значимости (alpha), обычно 0.05.

Если p-значение <= alpha: Отклоняем нулевую гипотезу. Делаем вывод, что данные не подчиняются нормальному распределению. Если p-значение > alpha: Не отклоняем нулевую гипотезу. Нет достаточных оснований утверждать, что данные не подчиняются нормальному распределению.

Преимущества критерия Колмогорова-Смирнова:

Непараметрический тест: Не требует предположений о распределении данных (кроме проверяемого). Применим для различных распределений: Может использоваться для проверки соответствия выборки не только нормальному, но и любому другому заданному распределению.

Недостатки критерия Колмогорова-Смирнова:

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

Когда использовать критерий Колмогорова-Смирнова для проверки нормальности:

Когда нет оснований предполагать какое-либо конкретное распределение данных, кроме нормального. Когда размер выборки небольшой (хотя для очень маленьких выборок мощность теста может быть недостаточной). Когда необходимо сравнить две выборки и проверить, происходят ли они из одного и того же распределения (в этом случае используется двухвыборочный критерий Колмогорова-Смирнова).

Альтернативные тесты на нормальность:

Тест Шапиро-Уилка (Shapiro-Wilk test): Один из самых мощных тестов на нормальность, особенно для небольших выборок. Рекомендуется использовать, если размер выборки меньше 50. Тест Д’Агостино-Пирсона (D’Agostino-Pearson test): Еще один мощный тест на нормальность, основанный на анализе асимметрии и эксцесса распределения. Lilliefors test: Модификация теста Колмогорова-Смирнова, предназначенная специально для проверки нормальности, когда параметры нормального распределения оцениваются по выборке.

Как выполнить тест Колмогорова-Смирнова в Python (пример):

From scipy. stats import kstest

Import numpy as np

# Сгенерируем случайную выборку из нормального распределения

Data = np. random. normal(loc=0, scale=1, size=100)

# Выполним Тест Колмогорова—Смирнова

Statistic, p_value = kstest(data, ‘norm’)

# Выведем результаты

Print("Статистика теста:", statistic)

Print("P-значение:", p_value)

# Примем Решение

Alpha = 0.05

If p_value <= alpha:

print("Отклоняем нулевую гипотезу: данные не подчиняются нормальному распределению")

Else:

print("Не отклоняем нулевую гипотезу: нет достаточных оснований утверждать, что данные не подчиняются нормальному распределению")

В заключение, критерий Колмогорова-Смирнова — полезный инструмент для проверки нормальности, но его следует использовать с осторожностью, учитывая его ограничения и возможные альтернативы. Важно помнить, что ни один тест не может однозначно доказать нормальность распределения, и всегда следует анализировать данные визуально (например, с помощью гистограмм и QQ-графиков) для получения более полной картины.

  📷
📷