Перейти к основному содержимому
Перейти к основному содержимому

kolmogorovSmirnovTest

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

Синтаксис

kolmogorovSmirnovTest([alternative, computation_method])(sample_data, sample_index)

Значения обеих выборок находятся в столбце sample_data. Если sample_index равно 0, то значение в этой строке принадлежит выборке из первой популяции. В противном случае оно принадлежит выборке из второй популяции. Выборки должны принадлежать непрерывным одномерным распределениям вероятностей.

Аргументы

Параметры

  • alternative — альтернативная гипотеза. (Необязательный, по умолчанию: 'two-sided'.) Строка. Пусть F(x) и G(x) — функции распределения (CDF) первой и второй выборок соответственно.
    • 'two-sided' Нулевая гипотеза заключается в том, что выборки происходят из одного и того же распределения, т.е. F(x) = G(x) для всех x. Альтернативная гипотеза заключается в том, что распределения не идентичны.
    • 'greater' Нулевая гипотеза заключается в том, что значения в первой выборке стохастически меньше значений во второй выборке, т.е. функция распределения первой выборки находится выше и, следовательно, слева от функции распределения второй. Это фактически означает, что F(x) >= G(x) для всех x. Альтернативная гипотеза в этом случае — F(x) < G(x) для хотя бы одного x.
    • 'less'. Нулевая гипотеза заключается в том, что значения в первой выборке стохастически больше значений во второй выборке, т.е. функция распределения первой выборки находится ниже и, следовательно, справа от функции распределения второй. Это фактически означает, что F(x) <= G(x) для всех x. Альтернативная гипотеза в этом случае — F(x) > G(x) для хотя бы одного x.
  • computation_method — метод, используемый для вычисления p-значения. (Необязательный, по умолчанию: 'auto'.) Строка.
    • 'exact' - расчет выполняется с использованием точного распределения вероятностей статистики теста. Требует значительных вычислительных ресурсов и неэффективен, кроме как для небольших выборок.
    • 'asymp' ('asymptotic') - расчет выполняется с использованием аппроксимации. Для больших размеров выборок точные и асимптотические p-значения очень похожи.
    • 'auto' - метод 'exact' используется, когда максимальное количество выборок меньше 10'000.

Возвращаемые значения

Кортеж с двумя элементами:

  • вычисленное значение статистики. Float64.
  • вычисленное p-значение. Float64.

Пример

Запрос:

SELECT kolmogorovSmirnovTest('less', 'exact')(value, num)
FROM
(
    SELECT
        randNormal(0, 10) AS value,
        0 AS num
    FROM numbers(10000)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(10000)
)

Результат:

┌─kolmogorovSmirnovTest('less', 'exact')(value, num)─┐
│ (0.009899999999999996,0.37528595205132287)         │
└────────────────────────────────────────────────────┘

Примечание: P-значение больше 0.05 (для уровня доверия 95%), поэтому нулевая гипотеза не отвергается.

Запрос:

SELECT kolmogorovSmirnovTest('two-sided', 'exact')(value, num)
FROM
(
    SELECT
        randStudentT(10) AS value,
        0 AS num
    FROM numbers(100)
    UNION ALL
    SELECT
        randNormal(0, 10) AS value,
        1 AS num
    FROM numbers(100)
)

Результат:

┌─kolmogorovSmirnovTest('two-sided', 'exact')(value, num)─┐
│ (0.4100000000000002,6.61735760482795e-8)                │
└─────────────────────────────────────────────────────────┘

Примечание: P-значение меньше 0.05 (для уровня доверия 95%), поэтому нулевая гипотеза отвергается.

См. Также