Тест Колмогорова-Смирнова
Тест Колмогорова-Смирнова (критерий Колмогорова-Смирнова, K-S-тест) — это непараметрический статистический критерий, используемый для проверки гипотезы о том, что выборка данных принадлежит некоторому теоретическому распределению (одновыборочный тест), или для сравнения двух эмпирических распределений с целью проверки гипотезы об их идентичности (двухвыборочный тест). Критерий основан на измерении максимального расстояния между функциями распределения и не требует предположений о виде распределения данных, что делает его одним из наиболее распространённых непараметрических методов в статистике.
История
Критерий был разработан советским математиком Андреем Николаевичем Колмогоровым в 1933 году. В своей работе «Об эмпирическом определении закона распределения» Колмогоров ввёл статистику, основанную на максимальном отклонении эмпирической функции распределения от теоретической. В 1939 году советский математик Николай Васильевич Смирнов обобщил этот подход для сравнения двух независимых эмпирических распределений, что привело к созданию двухвыборочного теста. В западной литературе критерий часто называют «тестом Колмогорова-Смирнова» (K-S test), а в русскоязычной — «критерием Колмогорова-Смирнова» или «критерием согласия Колмогорова».
Суть метода
Одновыборочный тест (Колмогорова)
Одновыборочный тест проверяет нулевую гипотезу \( H_0 \), что выборка объёмом \( n \) извлечена из непрерывного распределения с заданной функцией распределения \( F(x) \). Статистика критерия \( D_n \) определяется как максимальное по модулю отклонение эмпирической функции распределения \( F_n(x) \) от теоретической \( F(x) \):
\[ D_n = \sup_{x} |F_n(x) - F(x)| \]
где \( \sup \) — точная верхняя грань. Для непрерывных распределений эмпирическая функция распределения \( F_n(x) \) — это ступенчатая функция, равная доле наблюдений, не превышающих \( x \). Значение \( D_n \) сравнивается с критическим значением, зависящим от уровня значимости \( \alpha \) и объёма выборки. Если \( D_n \) превышает критическое значение, нулевая гипотеза отвергается.
Двухвыборочный тест (Смирнова)
Двухвыборочный тест проверяет нулевую гипотезу \( H_0 \), что две независимые выборки объёмов \( n_1 \) и \( n_2 \) извлечены из одного и того же непрерывного распределения. Статистика \( D_{n_1, n_2} \) определяется как максимальное расстояние между двумя эмпирическими функциями распределения \( F_{n_1}(x) \) и \( G_{n_2}(x) \):
\[ D_{n_1, n_2} = \sup_{x} |F_{n_1}(x) - G_{n_2}(x)| \]
Критические значения для двухвыборочного теста также табулированы. При больших объёмах выборок распределение статистики аппроксимируется распределением Колмогорова.
Свойства и ограничения
Преимущества
- Непараметричность: не требует предположений о нормальности или других параметрических формах распределения.
- Устойчивость к масштабу: основан на порядковых статистиках, поэтому инвариантен к монотонным преобразованиям данных.
- Интуитивная интерпретация: статистика \( D \) имеет прямой геометрический смысл — максимальное расстояние между функциями распределения.
- Применимость к малым выборкам: точные критические значения существуют для выборок объёмом от 1 до 30.
Недостатки
- Чувствительность к центру распределения: критерий наиболее чувствителен к различиям в центральной части распределения, но менее чувствителен к различиям на хвостах.
- Неприменимость для дискретных распределений: классическая версия теста предполагает непрерывность распределения; для дискретных данных требуются модификации.
- Чувствительность к связям (совпадениям): при наличии повторяющихся значений в выборке статистика может быть занижена, что снижает мощность теста.
- Непараметрическая мощность: при малых выборках мощность теста может быть ниже, чем у параметрических аналогов (например, t-критерия Стьюдента), если данные действительно подчиняются нормальному распределению.
Применение
Тест Колмогорова-Смирнова широко используется в различных областях:
- Проверка нормальности: часто применяется как альтернатива критерию Шапиро-Уилка, особенно для выборок малого объёма. Однако для проверки нормальности более предпочтительным считается критерий Шапиро-Уилка, так как он обладает большей мощностью.
- Сравнение распределений: в биологии, медицине, социологии и экономике для сравнения распределений двух групп (например, контрольной и экспериментальной).
- Оценка качества генерации случайных чисел: в компьютерном моделировании критерий используется для проверки соответствия сгенерированных данных заданному распределению.
- Анализ временных рядов: для проверки стационарности или идентичности распределений в разные периоды времени.
- Геофизика и климатология: для сравнения распределений осадков, температур или других метеорологических величин.
Пример
Рассмотрим проверку гипотезы о том, что выборка из 10 чисел (1.2, 2.3, 3.1, 4.0, 5.5, 6.2, 7.1, 8.0, 9.3, 10.1) имеет стандартное нормальное распределение \( N(0,1) \). Для этого строится эмпирическая функция распределения \( F_{10}(x) \) и вычисляется максимальное отклонение от теоретической функции распределения \( \Phi(x) \). Если полученное значение \( D_{10} \) превышает критическое значение для уровня значимости 0.05 (например, 0.409), нулевая гипотеза отвергается. В данном примере, скорее всего, \( D_{10} \) будет велико, так как данные явно не соответствуют стандартному нормальному распределению.
Модификации и родственные критерии
- Критерий Андерсона-Дарлинга: модификация K-S-теста, придающая больший вес хвостам распределения. Более мощный для проверки нормальности.
- Критерий Крамера-фон Мизеса: основан на интегральном, а не супремальном расстоянии между функциями распределения.
- Критерий Лилиефорса: модификация одновыборочного теста для случая, когда параметры теоретического распределения (среднее и дисперсия) оцениваются по выборке. В этом случае стандартные критические значения K-S-теста неприменимы.
- Критерий Колмогорова-Смирнова для дискретных распределений: существуют версии, адаптированные для дискретных данных, например, с использованием поправки на непрерывность.
Программная реализация
Тест Колмогорова-Смирнова реализован во всех основных статистических пакетах и языках программирования:
- R: функция
ks.test()из базового пакетаstats. Позволяет выполнять как одновыборочный, так и двухвыборочный тесты. - Python: функция
scipy.stats.ks_1sampиscipy.stats.ks_2sampиз библиотеки SciPy. - MATLAB: функция
kstestдля одновыборочного иkstest2для двухвыборочного теста. - SPSS: в меню «Анализ» → «Непараметрические критерии» → «Одновыборочный критерий Колмогорова-Смирнова».
- Excel: не имеет встроенной функции, но может быть реализован с помощью макросов или надстроек.
Критика
Основная критика теста Колмогорова-Смирнова связана с его низкой мощностью по сравнению с более современными непараметрическими критериями, особенно при проверке нормальности. Критерий Андерсона-Дарлинга и критерий Шапиро-Уилка обычно предпочтительнее для этой задачи. Кроме того, чувствительность к связям и дискретности данных может приводить к неверным выводам. Некоторые исследователи отмечают, что тест Колмогорова-Смирнова часто отвергает нулевую гипотезу для больших выборок даже при незначительных отклонениях, что делает его чрезмерно консервативным на практике.
Источники
- Колмогоров А. Н. «Об эмпирическом определении закона распределения» (1933)
- Смирнов Н. В. «Об оценке расхождения между двумя эмпирическими распределениями» (1939)
- Lehmann E. L. «Testing Statistical Hypotheses» (3rd ed., 2005)
- Gibbons J. D., Chakraborti S. «Nonparametric Statistical Inference» (5th ed., 2011)
- Conover W. J. «Practical Nonparametric Statistics» (3rd ed., 1999)
- Документация к функциям
ks.testв R иscipy.stats.ks_1sampв Python
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →