wilk two test stats smirnov shapiro ppf normality normal kolmogorov distributions python numpy statistics scipy

python - two - scipy stats continuous distributions



Prueba de Kolmogorov-Smirnov de dos muestras en Python Scipy (2)

Estás usando la prueba KS de una muestra. Probablemente quieras ks_2samp :

>>> from scipy.stats import ks_2samp >>> import numpy as np >>> >>> np.random.seed(12345678) >>> x = np.random.normal(0, 1, 1000) >>> y = np.random.normal(0, 1, 1000) >>> z = np.random.normal(1.1, 0.9, 1000) >>> >>> ks_2samp(x, y) Ks_2sampResult(statistic=0.022999999999999909, pvalue=0.95189016804849647) >>> ks_2samp(x, z) Ks_2sampResult(statistic=0.41800000000000004, pvalue=3.7081494119242173e-77)

No puedo entender cómo hacer una prueba KS de dos muestras en Scipy.

Después de leer la documentación scipy kstest

Puedo ver cómo probar dónde una distribución es idéntica a la distribución normal estándar

from scipy.stats import kstest import numpy as np x = np.random.normal(0,1,1000) test_stat = kstest(x, ''norm'') #>>> test_stat #(0.021080234718821145, 0.76584491300591395)

Lo que significa que al valor p de 0.76 no podemos rechazar la hipótesis nula de que las dos distribuciones son idénticas.

Sin embargo, quiero comparar dos distribuciones y ver si puedo rechazar la hipótesis nula de que son idénticas, algo así como:

from scipy.stats import kstest import numpy as np x = np.random.normal(0,1,1000) z = np.random.normal(1.1,0.9, 1000)

y prueba si x y z son idénticos

Probé la ingenuidad:

test_stat = kstest(x, z)

y obtuve el siguiente error:

TypeError: ''numpy.ndarray'' object is not callable

¿Hay alguna manera de hacer una prueba KS de dos muestras en Python? Si es así, ¿cómo debería hacerlo?

Gracias de antemano


Esto es lo que dicen los scipy:

Si la estadística KS es pequeña o el valor p es alto, no podemos rechazar la hipótesis de que las distribuciones de las dos muestras son las mismas.

No puedo rechazar no significa que confirmemos.