UP | HOME |

Gráfico qqPlot en R

Gráfico qqPlot en R

El gráfico qqplot, o gráfico cuantil-cuantil, comprueba si dos muestras provienen de la misma distribución. De un vistazo permite comparar dos distribuciones o determinar la presencia de datos aislados que contaminan alguna muestra.

¡Oh noche que guiaste!
¡oh noche amable más que el alborada!
¡oh noche que juntaste
Amado con amada,
amada en el Amado transformada! - San Juan de la Cruz.

Subida al Monte Carmelo.

Representa un diagrama de puntos que dibuja las funciones de distribución acumuladas. En caso de provengan de una misma distribución, los puntos aparecen alineados.

Habitualmente se utiliza para determinar si la muestra sigue una distribución teórica, normalmente la distribución normal. No compare dos distribuciones superponiendo los histogramas, sino mediante el gráfico cuantil-cuantil.

Comparación con la distribución normal

Generamos una muestra que provengan de una distribución normal y otra muestra obtenida de una distribución \( \chi^{2}\).

suppressPackageStartupMessages(library(car)) # for qqPlot()

## Sample data
set.seed(654)
x <- rnorm(100, mean = 34, sd = 3) # From a Normal distribution
y <- rchisq(100, df = 3) # From a Chi square distribution

Si comparamos la primera muestra con una distribución normal, aproximadamente los puntos aparecen alineados. Existen dos puntos, el 74 y el 93 que aparecen fuera del intervalo de confianza (la zona entre las lineas a rayas):

qqPlot(x) # Compare with a Normal distribution
qqplots-norm-norm.png

Al comparar la segunda muestra con una distribución normal, se observa una cola ubicada fuera del intervalo de confianza. Esto implica que no sigue una distribución normal: en realidad esos datos provienen de una distribución \( \chi^{2}\).

qqPlot(y) # Compare with a Normal distribution
qqplots-norm-chi.png

Comparación con una distribución arbitraria

Existe la opción de utilizar otras distribuciones probabilísticas como referencia de comparación. En los siguientes ejemplos empleamos la distribución \( \chi_{3}^{2}\) para comparar los datos simulados.

qqPlot(x, dist = "chisq", df = 3) # Compare with a Chi square distribution
qqplots-chi-norm.png

Los datos generados a partir de una distribución normal no ajustan bien a una distribución chi-cuadrado, mientras que la segunda muestra sí que sigue tal distribución.

qqPlot(y, dist = "chisq", df = 3) # Compare with a Chi square distribution
qqplots-chi-chi.png