Estou tentando entender a saída da função de teste Kolmogorov-Smirnov (duas amostras, duas faces). Aqui está um teste simples.
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
Existem algumas coisas que não entendo aqui.
Com a ajuda , parece que o valor-p se refere à hipótese
var1=var2
. No entanto, aqui isso significaria que o teste diz (p<0.05
):uma. Não posso dizer isso
X = Y
;b. Pode dizer isso
X = Z
;c. Não posso dizer isso
X = X
(!)
Além de parecer que x é diferente de si mesmo (!), Também é bastante estranho para mim que x=z
, como as duas distribuições têm zero suporte sobreposto. Como isso é possível?
De acordo com a definição do teste,
D
deve ser a diferença máxima entre as duas distribuições de probabilidade, mas, por exemplo no caso(x,y)
deve serD = Max|P(x)-P(y)| = 4
(no caso em queP(x)
,P(y)
não são normalizadas) ouD=0.3
(se eles são normalizados). Por que D é diferente disso?Intencionalmente, fiz um exemplo com muitos vínculos , pois os dados com os quais estou trabalhando têm muitos valores idênticos. Por que isso confunde o teste? Eu pensei que calculava uma distribuição de probabilidade que não deveria ser afetada por valores repetidos. Qualquer ideia?