Contenido de este artículo
- 0
- 0
- 0
- 0
Actualizado el 17 de julio de 2024, por Luis Benites.
La prueba de Kolmogorov-Smirnov se utiliza para comprobar si una muestra procede o no de una determinada distribución.
Para realizar una prueba de Kolmogorov-Smirnov en Python, podemos usar scipy.stats.kstest () para una prueba de una muestra o scipy.stats.ks_2samp () para una prueba de dos muestras.
Este tutorial muestra un ejemplo de cómo utilizar cada función en la práctica.
Ejemplo 1: Prueba de Kolmogorov-Smirnov de una muestra
Supongamos que tenemos los siguientes datos de muestra:
de numpy.random importar semilla de numpy.random import poisson #set seed (por ejemplo, hacer que este ejemplo sea reproducible) semilla (0) # generar un conjunto de datos de 100 valores que sigan una distribución de Poisson con media = 5 datos = poisson (5, 100)
El siguiente código muestra cómo realizar una prueba de Kolmogorov-Smirnov en esta muestra de 100 valores de datos para determinar si provienen de una distribución normal:
de scipy.stats importar kstest # realizar la prueba kstest de Kolmogorov-Smirnov (datos, ' norma ') KstestResult (estadístico = 0.9072498680518208, pvalue = 1.0908062873170218e-103)
De la salida podemos ver que el estadístico de prueba es 0.9072 y el valor p correspondiente es 1.0908e-103 . Dado que el valor p es menor que .05, rechazamos la hipótesis nula. Tenemos evidencia suficiente para decir que los datos de la muestra no provienen de una distribución normal.
Este resultado tampoco debería sorprender, ya que generamos los datos de muestra utilizando la función poisson () , que genera valores aleatorios que siguen una distribución de Poisson .
Ejemplo 2: Prueba de Kolmogorov-Smirnov de dos muestras
Supongamos que tenemos los siguientes dos conjuntos de datos de muestra:
de numpy.random importar semilla de numpy.random importar randn de numpy.random importar lognormal #set seed (por ejemplo, hacer que este ejemplo sea reproducible) semilla (0) #generar dos conjuntos de datos data1 = randn (100) data2 = lognormal (3, 1, 100)
El siguiente código muestra cómo realizar una prueba de Kolmogorov-Smirnov en estas dos muestras para determinar si provienen de la misma distribución:
de scipy.stats importar ks_2samp # realizar la prueba de Kolmogorov-Smirnov ks_2samp (datos1, datos2) KstestResult (estadístico = 0,99, pvalue = 4,417521386399011e-57)
A partir de la salida, podemos ver que el estadístico de prueba es 0,99 y el valor p correspondiente es 4,4175e-57 . Dado que el valor p es menor que .05, rechazamos la hipótesis nula. Tenemos suficiente evidencia para decir que los dos conjuntos de datos de muestra no provienen de la misma distribución.
Este resultado tampoco debería sorprender, ya que generamos valores para la primera muestra usando la distribución normal estándar y valores para la segunda muestra usando la distribución lognormal.
Recursos adicionales
Cómo realizar una prueba de Shapiro-Wilk en Python
Cómo realizar una prueba de Anderson-Darling en Python
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: