Cómo crear e interpretar una gráfica QQ en R

Un gráfico QQ , abreviatura de gráfico «cuantiles-cuantiles», es un tipo de gráfico que podemos usar para determinar si un conjunto de datos proviene o no de alguna distribución teórica.

Muchas pruebas estadísticas suponen que un conjunto de datos sigue una distribución normal y, a menudo, se utiliza una gráfica QQ para evaluar si se cumple o no este supuesto.

Aunque un gráfico QQ no es una prueba estadística formal, proporciona una manera fácil de verificar visualmente si un conjunto de datos sigue una distribución normal y, de no ser así, cómo se viola esta suposición y qué puntos de datos pueden causar esta violación.

Podemos crear una gráfica QQ trazando dos conjuntos de cuantiles entre sí. Si ambos conjuntos de cuantiles provienen de la misma distribución, los puntos del gráfico deben formar aproximadamente una línea diagonal recta.

Ejemplo de gráfico QQ en R
Ejemplo de gráfico QQ

Los cuantiles representan puntos en un conjunto de datos por debajo de los cuales se ubica una determinada parte de los datos. Por ejemplo, el cuantil 0,9 representa el punto por debajo del cual el 90% de los datos caen por debajo. El cuantil 0.5 representa el punto por debajo del cual el 50% de los datos cae por debajo, y así sucesivamente.

Los gráficos QQ identifican los cuantiles en los datos de la muestra y los grafican contra los cuantiles de una distribución teórica. En la mayoría de los casos se utiliza la distribución normal, pero en realidad se puede crear una gráfica QQ para cualquier distribución teórica.

Si los puntos de datos caen a lo largo de una línea diagonal recta en una gráfica QQ, es probable que el conjunto de datos siga una distribución normal.

Cómo crear una gráfica QQ en R

Podemos crear fácilmente una gráfica QQ para verificar si un conjunto de datos sigue una distribución normal usando la función incorporada qqnorm () .

Por ejemplo, el siguiente código genera un vector de 100 valores aleatorios que siguen una distribución normal y crea una gráfica QQ para este conjunto de datos para verificar que sí sigue una distribución normal:

#Haga que este ejemplo sea reproducible
semillas (11)

#generar vector de 100 valores que sigue una distribución normal
datos <- rnorm (100)

#cree un gráfico QQ para comparar este conjunto de datos con una distribución normal teórica
 qqnorm (datos)

Gráfico QQ normal

Para que sea aún más fácil ver si los datos caen a lo largo de una línea recta, podemos usar la función qqline () :

#create QQ plot
qqnorm (datos)

#add una línea diagonal recta para trazar
 qqline (datos)

Gráfico QQ con una línea diagonal en R

Podemos ver que los puntos de datos cerca de las colas no caen exactamente a lo largo de la línea recta, pero en su mayor parte estos datos de muestra parecen estar distribuidos normalmente (como debería ser ya que le dijimos a R que generara los datos a partir de una distribución normal ).

Considere en cambio el siguiente código que genera un vector de 100 valores aleatorios que siguen una distribución gamma y crea un gráfico QQ para estos datos para verificar si sigue una distribución normal:

#Haga que este ejemplo sea reproducible
 set.seed (11)

#generar vector de 100 valores que sigue una distribución gamma
 datos <- rgamma (100, 1)

#cree un gráfico QQ para comparar este conjunto de datos con una distribución normal teórica
 qqnorm (datos)
qqline (datos)

Gráfico QQ en R para una distribución gamma

Podemos ver la clara desviación de la línea recta en este gráfico QQ, lo que indica que este conjunto de datos probablemente no sigue una distribución normal.

Considere otro fragmento de código que genera un vector de 100 valores aleatorios que siguen una distribución Chi-Cuadrado con 5 grados de libertad y crea una gráfica QQ para estos datos para verificar si sigue una distribución normal:

#Haga que este ejemplo sea reproducible
 set.seed (11)

#generar vector de 100 valores que sigue una distribución de datos de Chi-Cuadrado
 <- rchisq (100, 5)

#cree un gráfico QQ para comparar este conjunto de datos con una distribución normal teórica
 qqnorm (datos)
qqline (datos)

QQplot para la distribución de chi-cuadrado

Una vez más, podemos ver que este conjunto de datos no parece seguir una distribución normal, especialmente cerca de las colas.

Modificación de la estética de una gráfica QQ en R

Podemos modificar parte de la estética del gráfico QQ en R, incluido el título, las etiquetas de los ejes, los colores de los puntos de datos, el color de la línea y el ancho de la línea.

El siguiente código modifica los títulos, las etiquetas de los ejes y el color de los puntos del gráfico:

#Haga que este ejemplo sea reproducible
 set.seed (11)

#generar vector de 100 valores que sigue una distribución normal
 datos <- rnorm (100)

#create QQ plot
 qqnorm (data, main = 'QQ Plot for Normality', xlab = 'Theoretical Dist',
       ylab = 'Sample dist', col = 'steelblue')

Gráfico QQ en R

A continuación, el siguiente código agrega una línea diagonal recta al gráfico con un color rojo, un ancho de línea de 2 (lwd = 2, el valor predeterminado es 1) y una línea discontinua (lty = 2, el valor predeterminado es 1):

qqline (datos, col = 'rojo', lwd = 2, lty = 2)

Gráfico QQ con línea recta diagonal

Notas técnicas

Tenga en cuenta que una gráfica QQ es simplemente una forma de verificar visualmente si un conjunto de datos sigue una distribución teórica. Para probar formalmente si un conjunto de datos sigue o no una distribución particular, se pueden realizar las siguientes pruebas (asumiendo que está comparando su conjunto de datos con una distribución normal):

Prueba de Anderson-Darling Prueba de
Shapiro-Wilk Prueba de
Kolmogorov-Smirnov

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

La regresión de potencia es un tipo de regresión no lineal que adopta la siguiente forma: y = ax b…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!