Como criar e interpretar um gráfico qq em r


Um gráfico QQ , abreviação de “quantil-quantil”, é um tipo de gráfico que podemos usar para determinar se um conjunto de dados potencialmente vem ou não de uma distribuição teórica.

Muitos testes estatísticos assumem que um conjunto de dados segue uma distribuição normal, e um gráfico QQ é frequentemente usado para avaliar se esta suposição é atendida ou não.

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 segue uma distribuição normal e, caso contrário, como esta suposição é violada e quais pontos de dados estão potencialmente na origem desta violação.

Podemos criar um gráfico QQ plotando dois conjuntos de quantis um contra o outro. Se ambos os conjuntos de quantis vierem da mesma distribuição, então os pontos no gráfico deverão formar aproximadamente uma linha reta diagonal.

Exemplo de gráfico QQ

Os quantis representam pontos em um conjunto de dados abaixo dos quais se encontra uma determinada parte dos dados. Por exemplo, o quantil 0,9 representa o ponto abaixo do qual cai 90% dos dados. O quantil 0,5 representa o ponto abaixo do qual se encontram 50% dos dados e assim por diante.

Os gráficos QQ identificam os quantis de suas amostras de dados e os comparam aos quantis de uma distribuição teórica. Na maioria dos casos, a distribuição normal é usada, mas um gráfico QQ pode realmente ser criado para qualquer distribuição teórica.

Se os pontos de dados estiverem ao longo de uma linha reta diagonal em um gráfico QQ, então o conjunto de dados provavelmente segue uma distribuição normal.

Como criar um gráfico QQ em R

Podemos facilmente criar um gráfico QQ para verificar se um conjunto de dados segue uma distribuição normal usando a função qqnorm() integrada.

Por exemplo, o código a seguir gera um vetor de 100 valores aleatórios que segue uma distribuição normal e cria um gráfico QQ para esse conjunto de dados para verificar se ele realmente segue uma distribuição normal:

 #make this example reproducible
set.seed(11)

#generate vector of 100 values that follows a normal distribution
data <- rnorm(100)

#create QQ plot to compare this dataset to a theoretical normal distribution
qqnorm(data)

Para tornar ainda mais fácil ver se os dados seguem uma linha reta, podemos usar a função qqline() :

 #create QQ plot
qqnorm(data)

#add straight diagonal line to plot
qqline(data)

Podemos ver que os pontos de dados próximos às caudas não seguem exatamente a linha reta, mas na maior parte desses dados de amostra parecem ser distribuídos normalmente (como deveriam ser, já que pedimos a R para gerar os dados a partir de uma distribuição normal ). ).

Em vez disso, considere o seguinte código que gera um vetor de 100 valores aleatórios que segue uma distribuição gama e cria um gráfico QQ para esses dados para verificar se eles seguem uma distribuição normal:

 #make this example reproducible
set.seed(11)

#generate vector of 100 values that follows a gamma distribution
data <- rgamma(100, 1)

#create QQ plot to compare this dataset to a theoretical normal distribution
qqnorm(data)
qqline(data)

Podemos ver um claro desvio da linha reta neste gráfico QQ, indicando que este conjunto de dados provavelmente não segue uma distribuição normal.

Considere outro trecho de código que gera um vetor de 100 valores aleatórios que segue uma distribuição qui-quadrado com 5 graus de liberdade e cria um gráfico QQ para esses dados para verificar se eles seguem uma distribuição normal:

 #make this example reproducible
set.seed(11)

#generate vector of 100 values that follows a Chi-Square distribution
data <- rchisq(100, 5)

#create QQ plot to compare this dataset to a theoretical normal distribution
qqnorm(data)
qqline(data)

Mais uma vez podemos ver que este conjunto de dados não parece seguir uma distribuição normal, especialmente perto das caudas.

Altere a estética de um gráfico QQ em R

Podemos alterar algumas estéticas do gráfico QQ em R, incluindo o título, rótulos dos eixos, cores dos pontos de dados, cor da linha e largura da linha.

O código a seguir altera os títulos, os rótulos dos eixos e a cor dos pontos do gráfico:

 #make this example reproducible
set.seed(11)

#generate vector of 100 values that follows a normal distribution
data <- rnorm(100)

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

Em seguida, o código a seguir adiciona uma linha reta diagonal ao gráfico com uma cor vermelha, uma largura de linha de 2 (lwd = 2, o padrão é 1) e uma linha tracejada (lty = 2, o padrão é 1):

 qqline(data, col = 'red', lwd = 2, lty = 2)

Notas técnicas

Tenha em mente que um gráfico QQ é simplesmente uma forma de verificar visualmente se um conjunto de dados segue uma distribuição teórica. Para testar formalmente se um conjunto de dados segue ou não uma distribuição específica, os seguintes testes podem ser realizados (supondo que você esteja comparando seu conjunto de dados com uma distribuição normal):

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *