Открыть сервис

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

Тест Колмогорова-Смирнова (критерий Колмогорова-Смирнова, 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 →