Pruebas de normalidad inconsistentes: Kolmogorov-Smirnov vs Shapiro-Wilk

8

Actualmente estoy buscando algunos datos producidos por una simulación de MC que escribí: espero que los valores se distribuyan normalmente. Naturalmente, tracé un histograma y parece razonable (¿supongo?):

[Arriba a la izquierda: histograma con dist.pdf(), arriba a la derecha: histograma acumulativo con dist.cdf(), abajo: QQ-plot, datavs dist]

Entonces decidí profundizar en esto con algunas pruebas estadísticas. (Tenga en cuenta que dist = stats.norm(loc=np.mean(data), scale=np.std(data))). Lo que hice y lo que obtuve fue lo siguiente:

  1. Prueba de Kolmogorov-Smirnov:

    scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig))
    KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)
    
  2. Prueba de Shapiro-Wilk:

    scipy.stats.shapiro(dat)
    (0.9810476899147034, 1.3054057490080595e-05)
    # where the first value is the test statistic and the second one is the p-value.
    
  3. QQ-plot:

    stats.probplot(dat, dist=dist)

Mis conclusiones de esto serían:

  • Al mirar el histograma y el histograma acumulativo, definitivamente asumiría una distribución normal

  • Lo mismo ocurre después de mirar el gráfico QQ (¿alguna vez mejora mucho?)

  • la prueba de KS dice: 'sí, esta es una distribución normal'

Mi confusión es: la prueba SW dice que no está distribuida normalmente (valor p mucho menor que la significación alpha=0.05, y la hipótesis inicial era una distribución normal). No entiendo esto, ¿alguien tiene una mejor interpretación? ¿Me equivoqué en algún momento?

rammelmueller
fuente
55
Los gráficos de QQ para la normalidad pueden ser mejores que eso: intente trazar algunas normales al azar del mismo tamaño de muestra para obtener un punto de referencia. Tiene una ligera no normalidad, como lo indica la curvatura sistemática en el diagrama QQ. Los histogramas y los gráficos de distribución acumulativa son menos útiles para un trabajo preciso. No privilegiaría a KS aquí; tiende a ser más sensible en el medio de una distribución que en las colas, que es lo contrario de lo que necesita. SW es ​​una prueba y no mide (¡no puede!) Cuán problemática es la no normalidad.
Nick Cox
55
@Nick Esta aplicación de KS no es válida, porque compara los datos con una distribución Normal con parámetros determinados por los datos : necesita la versión de Lilliefors. (Sé que lo sabes, pero parece que has pasado por alto este error). En consecuencia, su valor p es demasiado alto.
whuber
44
@Nick Supuse que la aplicación era errónea, basada en dos pruebas: (1) el nombre de la función se refiere a KS y (2) no hay forma en el argsargumento de revelar si los parámetros se derivaron de los datos o no. La documentación no es clara , pero su falta de mención de estas distinciones sugiere fuertemente que no está realizando la prueba de Lilliefors. Esa prueba se describe, con un ejemplo de código, en stackoverflow.com/a/22135929/844723 .
whuber
1
Ah! Esto es algo que me pareció sospechoso, pero no estaba al tanto de ese método; lo cambiaré de inmediato. ¡Gracias por señalar eso @whuber!
rammelmueller
2
@Nick Me encanta la prueba de KS por varias razones: su simplicidad, su conexión directa con la trama QQ, su flexibilidad y su potencia. Sostengo que cada prueba estadística se puede visualizar y (casi) cada visualización sugiere una prueba correspondiente, y este es uno de los mejores ejemplos de esa tesis (especialmente si se trazan los residuos en un gráfico QQ, que es visualmente más poderoso) . Aunque he implementado muchas otras pruebas de GoF como SW y SF y AD, KS siempre ha sido mi prueba para esas ocasiones (relativamente raras) en las que se necesitaba una prueba formal de distribución.
whuber

Respuestas:

6

Hay innumerables formas en que una distribución puede diferir de una distribución normal. Ninguna prueba podría capturarlos a todos. Como resultado, cada prueba difiere en cómo verifica si su distribución coincide con la normal. Por ejemplo, la prueba KS analiza el cuantil donde su función de distribución acumulativa empírica difiere al máximo de la función de distribución acumulativa teórica de la normalidad. Esto suele estar en algún lugar en el medio de la distribución, que no es donde generalmente nos preocupamos por los desajustes. La prueba SW se centra en las colas, que es donde generalmente nos importa si las distribuciones son similares. Como resultado, generalmente se prefiere el SW. Además, la prueba KW no es válida si está utilizando parámetros de distribución que se estimaron a partir de su muestra (consulte:¿Cuál es la diferencia entre la prueba de normalidad de Shapiro-Wilk y la prueba de normalidad de Kolmogorov-Smirnov? ) Deberías usar el SW aquí.

Pero las parcelas generalmente se recomiendan y las pruebas no (ver: ¿Las pruebas de normalidad son 'esencialmente inútiles'? ). Puede ver en todas sus parcelas que tiene una cola derecha pesada y una cola izquierda ligera en relación con una verdadera normal. Es decir, tienes un poco de inclinación correcta.

gung - Restablece a Monica
fuente
2

No puedes elegir pruebas de normalidad basadas en los resultados. En este caso, o va con el rechazo en cualquier prueba realizada, o no los usa en absoluto. La prueba de KS no es muy poderosa, no es una prueba de normalidad "especializada". En todo caso, SW es ​​probablemente más confiable en este caso.

Para mí, su trama QQ tiene signos de grasa en la cola derecha o sesgada a la izquierda, o ambas. Sugeriría usar la herramienta de Tukey para estudiar la gordura de las colas. Le dará una indicación de cuánto es una distribución normal o Cauchy.

Aksakal
fuente
¿Cómo concluye desde los gráficos QQ hasta la gordura de las colas? Y: ¿qué distribución sugerirías?
rammelmueller
1
@rammelmuller, las colas más gruesas mostrarían una curva en S donde la izquierda se dobla hacia abajo y la derecha se dobla hacia arriba. En su caso, la izquierda también se dobla hacia arriba, lo que podría ser un signo de inclinación hacia la izquierda.
Aksakal
Gracias por señalar la herramienta, lo investigaré. En aras de la exhaustividad: tengo algunos otros conjuntos de datos y los resultados a veces son ligeramente diferentes: la cola superior de la gráfica QQ varía, pero la cola inferior es constantemente demasiado alta, ¿un signo de sesgo?
rammelmueller
1
Creo que debe preguntarse qué tan importante es para usted la prueba de suposición de normalidad, como sugirió @NickCox. ¿Por qué estás probando en primer lugar? La cola corta hacia arriba y hacia abajo a largo plazo podría ser un signo de colas cortas. Lo más importante es que todo esto puede ser intrascendente para usted
Aksakal
1
Soy consciente de que podría ser decapitado después de esta declaración, pero aquí voy: necesito que mis datos sean "razonablemente gaussianos", si hubiera algo muy sospechoso, es decir, colas extremadamente gordas o asimetría extrema, entonces tendría que cazar para algunos problemas fundamentales Este no parece ser el caso y el proyecto está bien. La razón de la pregunta aquí fue más para verificar si no estoy completamente equivocado en mi
actuación