¿Por qué todas las pruebas de normalidad rechazarían la hipótesis nula?

12

La prueba de Kolgomorov-Smirnov, la prueba de Shapiro, etc. rechazan la hipótesis de que una distribución es normal. Sin embargo, cuando trazo los cuantiles y el histograma normales, los datos son claramente normales. ¿Quizás porque el poder de las pruebas es alto?

El tamaño de la muestra es de alrededor de 650. Entonces, ¿no debería al menos una de estas pruebas dejar de rechazar la hipótesis nula?

Resultados:

           Kolmogorov-Smirnov    D          0.05031          Pr > D       <0.010
           Cramer-von Mises      W-Sq       0.30003          Pr > W-Sq    <0.005
           Anderson-Darling      A-Sq       1.66965          Pr > A-Sq    <0.005
           Chi-Square            Chi-Sq  3250.43596     18   Pr > Chi-Sq  <0.001
Robbie
fuente
1
Bienvenido al sitio. El poder puede ser un problema. ¿Puedes publicar tus resultados, para que podamos ser más específicos?
StasK
1
Es casi imposible evaluar la normalidad con mucha precisión mirando un histograma o los cuantiles. Las primeras tres de estas pruebas miden las desviaciones en una gráfica de probabilidad (gráfica qq normal), entonces, ¿qué tan lineal se ve esa gráfica?
whuber

Respuestas:

13

Las pruebas de normalidad son una pérdida de tiempo y su ejemplo ilustra por qué. Con muestras pequeñas, la prueba de normalidad tiene poca potencia, por lo que las decisiones sobre qué modelos estadísticos usar deben basarse en el conocimiento a priori . En estos casos, el hecho de no rechazar el nulo no prueba que el nulo sea incluso aproximadamente cierto en el nivel de la población.

Cuando tienes muestras grandes, las pruebas de normalidad se vuelven ridículamente poderosas, pero no te dicen nada que no supieras. Ninguna cantidad real se distribuye exactamente de manera normal. La distribución normal es solo una abstracción matemática que es una aproximación suficientemente buena en muchos casos. La prueba más simple de esto es que no hay una cantidad real (al menos ninguna que se me ocurra) que pueda tomar cualquier número real como su valor. Por ejemplo, solo hay tantas moléculas en el universo. Solo hay tantos dólares en la oferta monetaria. La velocidad de la luz es finita. Las computadoras solo pueden almacenar números de un tamaño finito, por lo que incluso si algo tuviera soporte para todos los números reales, no sería capaz de medirlo.

El punto es que ya sabía que sus datos no se distribuían exactamente de manera normal, pero las pruebas de normalidad no le dicen nada acerca de cuán no normales son los datos. No le dan absolutamente ninguna pista sobre si sus datos se distribuyen aproximadamente de manera normal, de modo que los métodos de inferencia estadística que supongan normalidad darían respuestas correctas. Irónicamente, las pruebas comunes (por ejemplo, la prueba T y ANOVA) que suponen normalidad son más robustas que la no normalidad en muestras de gran tamaño.

dsimcha
fuente
Después de su respuesta, publiqué una pregunta sobre lo que constituye un buen índice de no normalidad: stats.stackexchange.com/questions/16646 / ... ¿ Alguna idea?
Jeromy Anglim
Con respecto a todo lo que se cuantifica en el mundo: ¿no se pueden distribuir normalmente datos discretos también?
xmjx
Un comentario más sobre el problema de la computadora: tenga en cuenta que el mecanismo utilizado a menudo para almacenar números decimales en las computadoras tiene una granularidad diferente para el rango de números pequeños y números grandes. Entonces, la diferencia mínima entre números que la computadora puede almacenar es menor para números pequeños y mayor para números grandes. Para una computadora, 100000.1 y 100000.2 pueden ser iguales, mientras que 0.1 y 0.2 no lo son. (Solo un ejemplo: en el mundo real no es tan malo)
Xmjx
@xmjx: los datos discretos se pueden distribuir aproximadamente de manera normal, lo que significa que están lo suficientemente cerca para casi cualquier propósito práctico. Sin embargo, en teoría, cualquier distribución discreta fallará en algunas pruebas de normalidad si el tamaño de la muestra es lo suficientemente grande. La distribución normal es continua y no hay forma de evitar eso.
dsimcha
@dsimcha Pero la distribución normal es solo una función de densidad de probabilidad que podría predecir el número de observaciones en un bin dado de la variable discreta. Por lo tanto, lo entendería si dijera "ninguna variable real se distribuye exactamente de manera normal y es por eso que las pruebas de normalidad fallarán en algún momento". Pero para "los datos discretos no se pueden distribuir normalmente ya que no son continuos" me gustaría alguna referencia. Estoy realmente interesado en ese tipo de cosas. No queriendo comenzar una pelea aquí.
xmjx
4

Esto no me sorprende --- con un tamaño de muestra lo suficientemente grande, cualquier buena prueba debería rechazar la hipótesis nula, a menos que la distribución de generación de datos sea verdaderamente (y exactamente) normal.

Con las pruebas de hipótesis, generalmente uno está interesado en encontrar una prueba "poderosa", que es una prueba que puede encontrar desviaciones muy pequeñas de la hipótesis nula, con la menor cantidad de datos posible.

Intente ejecutar la prueba con una submuestra de tamaño 20, 50, 100, 200 y vea a qué tamaño comienzan a rechazar las pruebas. Es fácil ver si un histograma es simétrico y generalmente tiene forma de campana, pero las colas de la distribución son más difíciles de evaluar a simple vista. ¿Quizás hay valores atípicos en los datos que están causando el rechazo de las pruebas? Si los hay, vea lo que sucede cuando los elimina.

DavidR
fuente
Gracias por la respuesta. El propósito es probar si los residuos son normales. ¿Supongo que mirar una gráfica de cuantiles normales y ver si se encuentra en y = x es la mejor apuesta?
Robbie
@Robbie Si solo está interesado en tratar de averiguar si sus residuos son normales, una inspección visual debería estar bien. Las pruebas estadísticas de la distribución no son realmente necesarias para eso, como se ha señalado, va a detectar cualquier desviación de la normalidad, incluso una que realmente no importa.
Fomite
@EpiGrad No estoy de acuerdo. Las pruebas de normalidad tienen una potencia notoriamente baja. Vea mi respuesta arriba. Editar, por otro lado, la regresión es bastante robusta a la no normalidad, por lo que estoy de acuerdo en que si parece normal, probablemente estés bien para ese propósito.
David J. Harris
@David J. Harris: "¿Notoriamente baja potencia"? Para tamaños de muestra de 650? Esto es contrario a todo lo que he leído o experimentado. ¿Tienes una cita?
whuber
@ DavidJ.Harris Creo que, en el fondo, baja potencia o importancia espuria debido a una muestra grande, todo el ejercicio es innecesario para el examen de rutina del supuesto de normalidad.
Fomite
3

La causa probable es que sus datos son ligeramente no normales y el tamaño de su muestra es lo suficientemente grande como para revelar esto.

Si la distribución es realmente normal, generalmente debería pasar estas pruebas, como en el siguiente ejemplo R donde se pasan todas las pruebas menos una.

> require(nortest)
> 
> set.seed(1)
> dat <- rnorm(650,mean=100, sd=5)
> 
> ad.test(dat)

        Anderson-Darling normality test

data:  dat 
A = 0.439, p-value = 0.2924

> cvm.test(dat)

        Cramer-von Mises normality test

data:  dat 
W = 0.0882, p-value = 0.1619

> lillie.test(dat)

        Lilliefors (Kolmogorov-Smirnov) normality test

data:  dat 
D = 0.0334, p-value = 0.08196

> pearson.test(dat)

        Pearson chi-square normality test

data:  dat 
P = 37.96, p-value = 0.035

> sf.test(dat)

        Shapiro-Francia normality test

data:  dat 
W = 0.9978, p-value = 0.5186

> shapiro.test(dat)

        Shapiro-Wilk normality test

data:  dat 
W = 0.9981, p-value = 0.675

Es posible que desee hacer un qqplot y si está lo suficientemente cerca de una línea recta, entonces puede decidir tratarlo como lo suficientemente cerca de la normalidad para sus propósitos. Más bien depende de cuáles son esos propósitos.

Enrique
fuente
Los propósitos son para probar si los residuos son normales en regresión lineal.
Robbie
1
@Robbie. Aparentemente no lo son, pero pueden estar lo suficientemente cerca como para que esto no importe demasiado. Prueba el qqplot.
Henry
El resultado del chi cuadrado de Pearson parece que los datos no se distribuyen normalmente. Solo digo. ¿Qué hacer con tal resultado?
xmjx
@xmjx: No mucho: si aplica un criterio de 0.05, no debería sorprenderse si obtiene un falso positivo el 5% del tiempo.
Henry
@ Henry lo sé. Lo que quiero decir: elegir cualquier prueba de normalidad por adelantado tiene alguna probabilidad de elegir una que diga "significativo". Entonces, ¿es mejor usar una batería y luego ... qué? ¿Promedio? ¿Ir con el voto mayoritario?
xmjx
2

Permítanme estar en desacuerdo con la respuesta de dsimcha: "La prueba de normalidad es una pérdida de tiempo y su ejemplo ilustra por qué". Las pruebas de normalidad nunca son una pérdida de tiempo, siempre puede aprender de sus datos. Además, hay algunas condiciones que debe probar antes de realizar algún análisis (es decir, ANOVA, regresión, etc.). Los tamaños de muestra grandes relativos son mejores para ser probados con plot (QQplot, histogram). En tales casos, la visualización proporciona mucha más información sobre el comportamiento multimodal, etc.

ANOVA y la regresión son robustos a la no normalidad cuando se trata de grandes tamaños de muestra, pero el tipo principal de datos que causan problemas son las muestras de datos multimodales.

Con un tamaño de muestra pequeño, la prueba de Kolgomorov-Smirnov es la mejor opción, principalmente debido a su sensibilidad.

Jose Zubcoff
fuente
1

Voy a estar un poco en desacuerdo con las otras respuestas publicadas hasta ahora: estas pruebas de normalidad tienen notoriamente poca potencia, incluso con tamaños de muestra relativamente grandes, al menos para ciertos tipos de desviaciones.

Aquí hay un ejemplo rápido. Generé una mezcla de dos normales cuyos medios están separados por un SD completo.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(c(rnorm(325, mean = 0), rnorm(325, mean = 1)))$p.value
)
mean(reps < .05)
[1] 0.0525

Teniendo en cuenta que "detectaría" desviaciones de la normalidad el 5% del tiempo, incluso si fuera realmente normal, eso no es muy impresionante.

Aquí hay otro ejemplo: agrego ruido uniforme en un rango del tamaño de dos desviaciones estándar. Este es bastante visiblemente no normal.

set.seed(1)
reps = replicate(
  10000, 
  shapiro.test(rnorm(650) + 2 * runif(650))$p.value
)
mean(reps < .05)
[1] 0.0523

Nuevamente, potencia extremadamente baja para una gran desviación de la normalidad.

¿Estás seguro de que estás leyendo qqplot correctamente? ¿Podrías subirlo para que podamos verlo?

Editar, por otro lado, la regresión es bastante robusta a la no normalidad, por lo que estoy de acuerdo en que es probable que la inspección visual sea suficiente para la mayoría de los propósitos.

David J. Harris
fuente
3
073/2575/25