Я намагаюся зрозуміти вихід тестової функції Колмогорова-Смірнова (два зразки, двосторонній). Ось простий тест.
x <- c(1,2,2,3,3,3,3,4,5,6)
y <- c(2,3,4,5,5,6,6,6,6,7)
z <- c(12,13,14,15,15,16,16,16,16,17)
ks.test(x,y)
# Two-sample Kolmogorov-Smirnov test
#
#data: x and y
#D = 0.5, p-value = 0.1641
#alternative hypothesis: two-sided
#
#Warning message:
#In ks.test(x, y) : cannot compute exact p-value with ties
ks.test(x,z)
#Two-sample Kolmogorov-Smirnov test
#data: x and z
#D = 1, p-value = 9.08e-05
#alternative hypothesis: two-sided
#
#Warning message:
#In ks.test(x, z) : cannot compute exact p-value with ties
ks.test(x,x)
#Two-sample Kolmogorov-Smirnov test
#data: x and x
#D = 0, p-value = 1
#alternative hypothesis: two-sided
#
#Warning message:
#In ks.test(x, x) : cannot compute exact p-value with ties
Є кілька речей, яких я тут не розумію.
З довідки здається, що р-значення відноситься до гіпотези
var1=var2
. Однак, це означає, що тест говорить (p<0.05
):а. Не можна цього сказати
X = Y
;б. Можна сказати це
X = Z
;c. Не можу сказати, що
X = X
(!)
Окрім того, що здається, що x відрізняється від себе (!), Мені також досить дивно x=z
, оскільки два розподіли мають нульову підтримку, що перекривається. Як це можливо?
У відповідності з визначенням тесту,
D
повинна бути максимальна різниця між двома розподілу ймовірностей, але, наприклад , в разі ,(x,y)
він повинен бутиD = Max|P(x)-P(y)| = 4
(в разі , колиP(x)
,P(y)
НЕ нормалізовані) абоD=0.3
(якщо вони нормовані). Чому D відрізняється від цього?Я навмисно зробив приклад з багатьма зв’язками , оскільки дані, з якими я працюю, мають безліч однакових значень. Чому це плутає тест? Я думав, що він обчислив розподіл ймовірності, на який не повинні впливати повторні значення. Будь-яка ідея?