Como criar um gráfico qq em python
Um gráfico QQ , abreviação de “quantil-quantil”, é frequentemente usado para avaliar se um conjunto de dados potencialmente vem ou não de uma distribuição teórica.
Na maioria dos casos, esse tipo de gráfico é usado para determinar se um conjunto de dados segue ou não uma distribuição normal .
Este tutorial explica como criar um gráfico QQ para um conjunto de dados em Python.
Exemplo: gráfico QQ em Python
Suponha que temos o seguinte conjunto de dados de 100 valores:
import numpy as np #create dataset with 100 values that follows a normal distribution np.random.seed(0) data = np.random.normal(0,1, 1000) #view first 10 values data[:10] array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799, -0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
Para criar um gráfico QQ para este conjunto de dados, podemos usar a função qqplot() da biblioteca statsmodels:
import statsmodels.api as sm import matplotlib.pyplot as plt #create QQ plot with 45-degree line added to plot fig = sm.qqplot(data, line='45') plt.show()
Em um gráfico QQ, o eixo x exibe os quantis teóricos . Isso significa que ele não mostra seus dados reais, mas representa onde seus dados estariam se fossem distribuídos normalmente.
O eixo Y exibe seus dados atuais . Isso significa que se os valores dos dados seguirem uma linha aproximadamente reta em um ângulo de 45 graus, os dados serão distribuídos normalmente.
Podemos ver em nosso gráfico QQ acima que os valores dos dados tendem a seguir de perto os 45 graus, o que significa que os dados provavelmente são distribuídos normalmente. Isso não deveria ser surpreendente, já que geramos os 100 valores de dados usando a função numpy.random.normal() .
Em vez disso, considere se gerássemos um conjunto de dados de 100 valores distribuídos uniformemente e criássemos um gráfico QQ para esse conjunto de dados:
#create dataset of 100 uniformly distributed values data = np.random.uniform(0,1, 1000) #generate QQ plot for the dataset fig = sm.qqplot(data, line='45') plt.show()
Os valores dos dados claramente não seguem a linha vermelha de 45 graus, indicando que não seguem uma distribuição normal.
Notas sobre gráficos QQ
Tenha em mente as seguintes notas sobre gráficos QQ:
- Embora um gráfico QQ não seja um teste estatístico formal, ele fornece uma maneira simples de verificar visualmente se um conjunto de dados é normalmente distribuído ou não.
- Tenha cuidado para não confundir gráficos QQ com gráficos PP , que são menos comumente usados e menos úteis para analisar valores de dados que ficam nas caudas da distribuição.
Você pode encontrar mais tutoriais de Python aqui .