Тест Колмогорова-Смирнова дает результат, отличный от max(abs(difference(x, y)))

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

max(abs(difference(x, y)))

Согласно определению теста Колмогорова-Смирнова в Википедии, результаты должны быть эквивалентным.

Кто-нибудь знает, почему?


person syko    schedule 24.09.2016    source источник
comment
Вы должны предоставить воспроизводимый пример. Если вы хотите найти это самостоятельно, просмотрите код в ks.test.   -  person lmo    schedule 24.09.2016


Ответы (1)


Статистика KS не должна быть равна max(|x-y|). Он применяется к кумулятивной функции (функциям) распределения (CDF). Таким образом, он представляет скорее долю наблюдений, отличающихся между выборкой и эталонным распределением.

См. приведенные ниже два примера, выполненные в MATLAB (хотя я ожидаю, что результаты будут идентичными в R):

    x = [1 2 3 4 5 6 7 8 9 10];
    y = [1 2 3 4 5 6 7 8 9 11];

    [~, ~, ks2s] = kstest2(x,y)

    ks2s =

        0.1000                       (1)



    x = [1 2 3 4 5 6 7 8 9 10];
    y = [1 2 3 4 5 6 7 8 9 12];

    [~, ~, ks2s] = kstest2(x,y)

    ks2s =

        0.1000                        (2)

Таким образом, хотя максимальная разница абсолютной величины между x и y больше в (2), статистика KS одинакова, потому что пропорция различных выборок одинакова.

Например, если y имеет дополнительную выборку, результат изменится:

    x = [1 2 3 4 5 6 7 8 9 10];
    y = [1 2 3 4 5 6 7 8 9 10 11];

    [h, p, ks2s] = kstest2(x,y)

    ks2s =

        0.0909
person vkehayas    schedule 27.09.2016