Estoy tratando de entender el resultado de la función de prueba de Kolmogorov-Smirnov (dos muestras, dos caras). Aquí hay una prueba simple.
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
Hay algunas cosas que no entiendo aquí.
De la ayuda , parece que el valor p se refiere a la hipótesis
var1=var2
. Sin embargo, aquí eso significaría que la prueba dice (p<0.05
):a. No puedo decir eso
X = Y
;si. Puede decir eso
X = Z
;C. No puedo decir eso
X = X
(!)
Además de parecer que x es diferente de sí mismo (!), También es bastante extraño para mí x=z
, ya que las dos distribuciones tienen cero soporte superpuesto. ¿Cómo es eso posible?
Según la definición de la prueba,
D
debería ser la máxima diferencia entre las dos distribuciones de probabilidad, pero por ejemplo en el caso(x,y)
que debe serD = Max|P(x)-P(y)| = 4
(en el caso cuandoP(x)
,P(y)
no están normalizados) oD=0.3
(si es que se normalizan). ¿Por qué D es diferente de eso?He hecho un ejemplo intencionalmente con muchos vínculos , ya que los datos con los que estoy trabajando tienen muchos valores idénticos. ¿Por qué esto confunde la prueba? Pensé que calculaba una distribución de probabilidad que no debería verse afectada por los valores repetidos. ¿Alguna idea?