R - QQPlot: cómo ver si los datos se distribuyen normalmente

48

He trazado esto después de hacer una prueba de normalidad de Shapiro-Wilk. La prueba mostró que es probable que la población se distribuya normalmente. Sin embargo, ¿cómo ver este "comportamiento" en esta trama?ingrese la descripción de la imagen aquí

ACTUALIZAR

Un histograma simple de los datos:

ingrese la descripción de la imagen aquí

ACTUALIZAR

La prueba de Shapiro-Wilk dice:

ingrese la descripción de la imagen aquí

Le Max
fuente
66
Re la edición: el resultado de la prueba SW rechaza la hipótesis de que estos datos se extrajeron independientemente de una distribución normal común: el valor p es muy pequeño. (Esto es evidente tanto en el gráfico qq, que muestra una cola izquierda corta, como en el histograma, que muestra asimetría positiva). Esto sugiere que usted malinterpretó la prueba. Cuando interpreta la prueba correctamente, ¿todavía tiene una pregunta que hacer?
whuber
44
Por el contrario: el software y todas las tramas son consistentes en lo que dicen. La gráfica qq y el histograma muestran formas específicas en que los datos se desvían de la normalidad; La prueba SW dice que es poco probable que tales datos provengan de una distribución normal.
whuber
2
¿Por qué las tramas dicen que no está distribuido normalmente? Qqplot crea una línea recta y el histograma también se ve distribuido normalmente. No lo entiendo; (
Le Max
77
La gráfica qq claramente no es recta y el histograma claramente no es simétrico (que es quizás el más básico de los muchos criterios que debe cumplir un histograma distribuido normalmente). La respuesta de Sven Hohenstein explica cómo leer la trama qq.
whuber
1
Puede resultarle útil generar un vector normal del mismo tamaño y crear un gráfico QQ con los datos normales para ver cómo podría aparecer cuando los datos, de hecho, provienen de una distribución normal.
Estadísticas Estudiante

Respuestas:

31

" La prueba mostró que es probable que la población esté normalmente distribuida " .

No; No lo demostró.

Las pruebas de hipótesis no le dicen qué tan probable es la anulación. De hecho, puedes apostar que este nulo es falso.

El gráfico QQ no da una fuerte indicación de no normalidad (el gráfico es bastante directo); quizás haya una cola izquierda ligeramente más corta de lo que cabría esperar, pero eso realmente no importará mucho

El histograma tal como está probablemente tampoco dice mucho; también insinúa una cola izquierda ligeramente más corta. Pero mira aquí

La distribución de la población de la que provienen sus datos no será exactamente normal. Sin embargo, el gráfico QQ muestra que la normalidad es probablemente una aproximación razonablemente buena.

Si el tamaño de la muestra no fuera demasiado pequeño, la falta de rechazo del Shapiro-Wilk probablemente estaría diciendo lo mismo.

Actualización: su edición para incluir el valor p real de Shapiro-Wilk es importante porque, de hecho, eso indicaría que rechazaría el valor nulo en niveles significativos típicos. Esa prueba indica que sus datos no se distribuyen normalmente y el sesgo leve indicado por las parcelas es probablemente lo que está recogiendo la prueba. Para los procedimientos típicos que pueden asumir la normalidad de la variable en sí (la prueba t de una muestra es la que viene a la mente), en lo que parece ser un tamaño de muestra bastante grande, esta leve no normalidad casi no tendrá consecuencias en todos: uno de los problemas con las pruebas de bondad de ajuste es que es más probable que rechacen solo cuando no importa (cuando el tamaño de la muestra es lo suficientemente grande como para detectar alguna no normalidad modesta); de manera similar, es más probable que no rechacen cuando más importa (cuando el tamaño de la muestra es pequeño).

Glen_b
fuente
De hecho, esto me hizo interpretar mal la declaración del OP: pensé que dijo improbable. Tenga en cuenta que Algo en desacuerdo con usted: mientras que una prueba normalmente se explica cómo una observación poco probable sería si la hipótesis nula fuera cierta, usamos esta argumentar que desde que hicimos conseguir esta observación, la hipótesis nula es poco probable que sea cierto.
Nick Sabbe
Gracias por tu respuesta! Estoy un poco confundido por todas las declaraciones que van en la otra dirección. Para decirlo claramente, mi ejercicio es hacer una declaración sobre la normalidad de la muestra. Entonces, ¿qué sugerirías decir como respuesta a mi profesor? ¿Y cómo mostrar la normalidad, incluso el tamaño de la muestra es enorme?; S
Le Max
2
Lo más fuerte que se podría decir sería algo así como: "El gráfico QQ es razonablemente consistente con la normalidad, pero la cola izquierda es un poco 'corta'; hay indicios leves de asimetría".
Glen_b
38

Si los datos se distribuyen normalmente, los puntos en el gráfico QQ-normal se encuentran en una línea diagonal recta. Puede agregar esta línea a su gráfico QQ con el comando qqline(x), donde xestá el vector de valores.

Ejemplos de distribución normal y no normal:

Distribución normal

set.seed(42)
x <- rnorm(100)

El gráfico QQ-normal con la línea:

qqnorm(x); qqline(x)

ingrese la descripción de la imagen aquí

Las desviaciones de la línea recta son mínimas. Esto indica distribución normal.

El histograma:

hist(x)

ingrese la descripción de la imagen aquí

Distribución no normal (gamma)

y <- rgamma(100, 1)

La trama QQ-normal:

qqnorm(y); qqline(y)

ingrese la descripción de la imagen aquí

Los puntos claramente siguen otra forma que la línea recta.

El histograma confirma la no normalidad. La distribución no tiene forma de campana sino que está sesgada positivamente (es decir, la mayoría de los puntos de datos están en la mitad inferior). Los histogramas de distribuciones normales muestran la frecuencia más alta en el centro de la distribución.

hist(y)

ingrese la descripción de la imagen aquí

Sven Hohenstein
fuente
Me parece útil poner los intervalos de confianza en qqplot. Nada es "perfectamente" normal, y el tamaño de la muestra puede conducir hasta qué punto algo puede ser inexacto y aún dentro de lo normal.
EngrStudent - Restablecer a Monica
@EngrStudent ¿Tiene código para compartir para incluir el intervalo de confianza en el qqplot?
danno
1
@danno Vea la qqPlotfunción en el carpaquete.
Sven Hohenstein
@danno: mira "qqPlot" en la biblioteca "car". Ha existido por un tiempo, y no lo logré. Agrega los intervalos de confianza. También puede especificar la distribución base para algunas distribuciones no normales. Está en mi respuesta a continuación.
EngrStudent - Restablece a Monica el
1
Creo que probablemente sea mejor que el novato también indique que los puntos deben estar en línea recta para que el supuesto de normalidad realmente se verifique. approximately
Estadísticas Estudiante
23

Algunas herramientas para verificar la validez del supuesto de normalidad en R

library(moments)
library(nortest)
library(e1071)

set.seed(777)
x <- rnorm(250,10,1)

# skewness and kurtosis, they should be around (0,3)
skewness(x)
kurtosis(x)

# Shapiro-Wilks test
shapiro.test(x)

# Kolmogorov-Smirnov test
ks.test(x,"pnorm",mean(x),sqrt(var(x)))

# Anderson-Darling test
ad.test(x)

# qq-plot: you should observe a good fit of the straight line
qqnorm(x)
qqline(x)

# p-plot: you should observe a good fit of the straight line
probplot(x, qdist=qnorm)

# fitted normal density
f.den <- function(t) dnorm(t,mean(x),sqrt(var(x)))
curve(f.den,xlim=c(6,14))
hist(x,prob=T,add=T)
Andres Henestrosa
fuente
11

Si bien es una buena idea verificar visualmente si su intuición coincide con el resultado de alguna prueba, no puede esperar que esto sea fácil cada vez. Si las personas que intentan detectar el Bosón de Higgs solo confiaran en sus resultados si pudieran evaluarlos visualmente, necesitarían un ojo muy agudo.

Especialmente con grandes conjuntos de datos (y, por lo tanto, generalmente con una potencia creciente), las estadísticas tienden a detectar las diferencias más pequeñas, incluso cuando son apenas perceptibles a simple vista.

Dicho esto: por normalidad, su diagrama QQ debe mostrar una línea recta: yo diría que no. Hay curvas claras en las colas, e incluso cerca del medio hay cierta conmoción. Visualmente, aún podría estar dispuesto a decir (dependiendo del objetivo de verificar la normalidad) estos datos son "razonablemente" normales.

Sin embargo, tenga en cuenta: para la mayoría de los propósitos en los que desea verificar la normalidad, solo necesita la normalidad de los medios en lugar de la normalidad de las observaciones, por lo que el teorema del límite central puede ser suficiente para rescatarlo. Además: aunque la normalidad es a menudo una suposición de que es necesario verificar "oficialmente", se ha demostrado que muchas pruebas son bastante insensibles a que esta suposición no se cumpla.

Nick Sabbe
fuente
2

Me gusta la versión del 'auto' de la biblioteca 'R' porque proporciona no solo la tendencia central, sino también los intervalos de confianza. Brinda orientación visual para ayudar a confirmar si el comportamiento de los datos es consistente con la distribución hipotética.

library(car)

qqPlot(lm(prestige ~ income + education + type, data=Duncan), 
       envelope=.99)

algunos enlaces:

EngrStudent - Restablece a Monica
fuente