Intento comprender la salida de la función de prueba de Kolmogorov-Smirnov (dos muestras, dos caras). Aquí está 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í.
-
Desde el 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 se puede decir que
X = Y
;b. Puede decir que
X = Z
;c. No se puede decir que
X = X
(!)
Además de parecer que x es diferente de sí mismo (¡!), también me resulta bastante extraño que x=z
ya que las dos distribuciones tienen soporte cero. ¿Cómo es 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)
debería serD = Max|P(x)-P(y)| = 4
(en caso de queP(x)
,P(y)
no están normalizados) oD=0.3
(si están normalizados). ¿Por qué D es diferente? -
He puesto intencionadamente un ejemplo con muchos corbatas ya que los datos con los que trabajo tienen muchos valores idénticos. ¿Por qué confunde esto a la prueba? Pensaba que calculaba una distribución de probabilidad que no debería verse afectada por valores repetidos. ¿Alguna idea?