Cómo crear una gráfica QQ en Python

Actualizado por ultima vez el 7 de mayo de 2021, por .

Un gráfico QQ , abreviatura de gráfico «cuantiles-cuantiles», se utiliza a menudo para evaluar si un conjunto de datos proviene o no de alguna distribución teórica. En la mayoría de los casos, este tipo de gráfico se utiliza para determinar si un conjunto de datos sigue una distribución normal.

Este tutorial explica cómo crear una gráfica QQ para un conjunto de datos en Python.

Ejemplo: QQ Plot en Python

Supongamos que tenemos el siguiente conjunto de datos de 100 valores:

importar numpy como np

#create un conjunto de datos con 100 valores que sigan una distribución normal
 np.random.seed (0)
datos = np.random.normal (0,1, 1000)

#ver datos de los primeros 10 valores
 [: 10]

matriz ([1.76405235, 0.40015721, 0.97873798, 2.2408932, 1.86755799,
       -0,97727788, 0,95008842, -0,15135721, -0,10321885, 0,4105985])

Para crear una gráfica QQ para este conjunto de datos, podemos usar la función qqplot () de la biblioteca statsmodels:

importar statsmodels.api como sm
 importar matplotlib.pyplot como plt

#create la gráfica QQ con una línea de 45 grados agregada a la gráfica
fig = sm.qqplot (datos, línea = '45 ')
plt.show ()

Gráfico QQ en Python

En una gráfica QQ, el eje x muestra los cuantiles teóricos . Esto significa que no muestra sus datos reales, sino que representa dónde estarían sus datos si se distribuyeran normalmente.

El eje y muestra sus datos reales . Esto significa que si los valores de los datos caen a lo largo de una línea aproximadamente recta en un ángulo de 45 grados, entonces los datos se distribuyen normalmente.

Podemos ver en nuestro gráfico QQ anterior que los valores de los datos tienden a seguir de cerca los 45 grados, lo que significa que es probable que los datos se distribuyan normalmente. Esto no debería sorprendernos, ya que generamos los 100 valores de datos usando la función numpy.random.normal () .

Considere, en cambio, si generamos un conjunto de datos de 100 valores distribuidos uniformemente y creamos una gráfica QQ para ese conjunto de datos:

# crear un conjunto de datos de 100 valores distribuidos uniformemente
datos = np.random.uniform (0,1, 1000)

#generar gráfica QQ para el conjunto de datos
 fig = sm.qqplot (data, line = '45 ')
plt.show ()

Gráfico QQ con línea recta en Python usando matplotlib

Los valores de los datos claramente no siguen la línea roja de 45 grados, lo que es una indicación de que no siguen una distribución normal.

Notas sobre los gráficos QQ

Tenga en cuenta las siguientes notas sobre los gráficos QQ:

  • Aunque un gráfico QQ no es una prueba estadística formal, ofrece una manera fácil de verificar visualmente si un conjunto de datos se distribuye normalmente o no.
  • Tenga cuidado de no confundir los gráficos QQ con los gráficos PP , que se usan con menos frecuencia y no son tan útiles para analizar valores de datos que caen en las colas extremas de la distribución.

Puede encontrar más tutoriales de Python aquí .

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

Deja un comentario

En estadística, hay dos tipos diferentes de pruebas de chi-cuadrado: 1. Prueba de bondad de ajuste de chi-cuadrado : se…
statologos comunidad-2

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

You have Successfully Subscribed!