Gráfico de dispersão

Ver a relação entre duas variáveis quantitativas: direção, forma, força e pontos fora do padrão.
GráficosGráficosAula 9← voltar ao mapa
Na prova · essencial Fazer gráficos de dispersão e dizer se a associação é positiva, negativa ou fraca, interpretando no contexto. Guia da prova

Os códigos desta página rodam no navegador, mas não sozinhos: clique em Run Code em cada bloco, de cima para baixo.

DicaEm uma frase

No gráfico de dispersão, cada ponto é uma observação, posicionado pelos seus valores em duas variáveis quantitativas; a nuvem de pontos mostra se as variáveis sobem juntas, se uma cai quando a outra sobe, ou se não há relação clara.

A ideia

O gráfico de dispersão (em inglês, scatter plot) é a ferramenta da Aula 9, com a base Mundo.xlsx: 85 países e indicadores como porcentagem de população urbana (X3), expectativa de vida feminina (X4) e mortalidade infantil (X7). Cada ponto do gráfico é um país.

Ao olhar a nuvem, faça quatro perguntas:

  1. Direção: quando x aumenta, y tende a aumentar (associação positiva) ou a diminuir (associação negativa)?
  2. Forma: os pontos seguem mais ou menos uma reta, uma curva, ou nenhum padrão?
  3. Força: os pontos estão apertados em torno de uma reta (associação forte) ou espalhados (fraca)?
  4. Pontos fora do padrão: há países muito longe da nuvem?

O gráfico responde a essas perguntas a olho. A covariância e a correlação transformam as respostas 1 e 3 em números. Por isso, na Aula 9, o gráfico vem primeiro e a conta depois: a correlação só faz sentido se você já viu a nuvem.

No código

1. O gráfico mais simples. Primeiro argumento no eixo x, segundo no eixo y.

Funciona, mas quem vê não sabe o que é X3 nem X4. Um gráfico precisa ser entendido sem ninguém do lado explicando.

2. O mesmo gráfico, completo. Título, nomes dos eixos com unidades, e transparência (alpha) para enxergar pontos sobrepostos: onde há muitos países juntos, a cor fica mais escura.

Países mais urbanizados tendem a ter expectativa de vida feminina maior: a nuvem sobe da esquerda para a direita, e os pontos seguem razoavelmente uma reta. É uma associação positiva, de moderada a forte.

3. Comparar duas relações lado a lado. Com subplots, colocamos duas dispersões na mesma figura e conferimos com a correlação.

A nuvem da esquerda sobe e a da direita desce: países mais urbanizados tendem a ter menor mortalidade infantil. Os números confirmam o que o olho viu: correlação de 0,748 (positiva) e de −0,724 (negativa), com intensidades parecidas.

4. Atalho pelo pandas. O DataFrame tem um método próprio, compatível com o plt.title, plt.xlabel etc.

Armadilhas comuns

  • Eixos sem nome. X3 e X4 não dizem nada a quem lê. Escreva o significado e a unidade em plt.xlabel e plt.ylabel.
  • Pontos escondidos. Sem alpha, dez países no mesmo lugar parecem um só. Use transparência.
  • Associação não é causalidade. A urbanização não “causa” diretamente a expectativa de vida: renda, acesso a saúde e educação podem mover as duas variáveis juntas.
  • Olhar só a correlação. A correlação mede associação linear. Uma nuvem em forma de curva pode ter correlação perto de zero e, ainda assim, uma relação forte. Por isso o gráfico vem antes da conta.
  • Dispersão de variável qualitativa. Para comparar uma quantitativa entre categorias (renda por plano), use boxplot, não dispersão.
  • Grupos misturados. Se os dados têm grupos (por exemplo, dois tipos de país), desenhe cada grupo com uma cor e use plt.legend(). Um padrão pode aparecer dentro de cada grupo e sumir na nuvem toda.

O jogo Guess the Correlation, sugerido na Aula 9, mostra nuvens de pontos e pede o valor da correlação. Em poucos minutos você passa a ler a força de uma associação só de olhar a nuvem.

Exercícios aqui na página

Complete os ______ e clique em Run Code: a correção aparece logo abaixo. Use Show Hint para uma dica e Show Solution para ver uma resolução. O Python roda no seu navegador; na primeira vez ele leva alguns segundos para carregar.

Exercício 1

Na base Mundo, faça o gráfico de dispersão da % de mulheres alfabetizadas (X9, eixo x) contra a mortalidade infantil (X7, eixo y) e calcule a correlação entre as duas.

serie1.corr(serie2).

plt.scatter(mundo['X9'], mundo['X7'], alpha=0.5)
plt.xlabel('% de mulheres alfabetizadas')
plt.ylabel('Mortalidade infantil')
plt.show()
r_x9_x7 = mundo['X9'].corr(mundo['X7'])
r_x9_x7

Exercício 2

A nuvem do exercício anterior sobe ou desce? Escreva o sinal da associação: 'positiva' ou 'negativa'.

Olhe o gráfico da esquerda para a direita e confira com o sinal da correlação.

sinal = 'negativa'
sinal

Exercício 3

Agora densidade populacional (X2, eixo x) contra crescimento populacional (X6, eixo y). Desenhe, calcule a correlação e escreva uma frase dizendo se a associação linear é forte ou fraca. A frase precisa conter uma dessas duas palavras.

Compare com o exercício 1: lá a correlação estava perto de -1; aqui, perto de 0.

plt.scatter(mundo['X2'], mundo['X6'], alpha=0.5)
plt.xlabel('Densidade populacional')
plt.ylabel('Crescimento populacional')
plt.show()
print('correlação:', mundo['X2'].corr(mundo['X6']))
resposta = 'A associação linear é fraca: os pontos não seguem uma reta e a correlação fica perto de zero.'
resposta

Comandos e documentação oficial

formulário o comando está no formulário que você pode consultar na prova.

Pratique

As listas novas de revisão abrem no Google Colab (use Arquivo → Salvar uma cópia no Drive). As listas das aulas estão no Blackboard, na pasta de cada aula.