O gráfico de dispersão é útil para verificarmos se existe alguma relação entre duas variáveis numéricas.
Aqui, vamos fazer um gráfico de dispersão de duas variáveis aleatórias que iremos criar usando um gerador de *números aleatórios no Python.
Vamos gerar duas amostra de 1.000 dados cada uma de duas variáveis com uma forte correlação positiva. A primeira variável será gerada por números aleatórios de uma distribuição normal com média 100 e um desvio padrão 20. A segunda variável será gerada com valores da primeira variável adicionando valores aleatórios gerados de uma distribuição normal com média de 50 e um desvio padrão de 10 .
Para fazer isso, usaremos a função randn () que gera valores aleatórios de uma distribuíção normal com uma média de 0 e um desvio padrão de 1, depois multiplicaremos os resultados pelo nosso próprio desvio padrão e adicionaremos a média para mudar os valores para o intervalo que queremos.
Abaixo vamos usar as funções que calculam média, desvio padrao, correlação, função que gera valores aleatórios do pacote numpy e usaremos a função pyplot do pacote gráfico matplotlib para gerar o grafico de dispersão
# funcoes usadas dos pacotes numpy e matplotlib
from numpy import mean
from numpy import std
from numpy import correlate
from numpy.random import randn
from numpy.random import seed
from matplotlib import pyplot
Para que você possa reproduzir os resultados vou usar a semente geradora de numeros aleatorios como sendo 1(seed(1)), assim você poderá reproduzir os mesmos números aleatórios(pseudoaleatórios) que obtive
# semente para gerar o mesmos numeros pseudoaleatorios- isso garante a reprodução dos mesmos resultados que obtive
seed(1)
# prepação:
data1 = 20 * randn(1000) + 100
data2 = data1 + (10 * randn(1000) + 50)
# media e desvio padrao de data1
print('média de data1:' '', str(round(mean(data1),2)))
print('desvio padrão de data1:' '', str(round(std(data1),2)))
média de data1: 100.78
desvio padrão de data1: 19.62
# media e desvio padrao de data2
print('média de data2:' '', str(round(mean(data2),2)))
print('desvio padrão de data1:' '', str(round(std(data2),2)))
média de data2: 151.05
desvio padrão de data1: 22.36
Agora vamos fazer o gráfico de dispersão:
# plot
pyplot.scatter(data1, data2)
pyplot.title('Gráfico de Dispersão entre data1 e data2')
pyplot.show()
Era isso que queria mostrar. Não é simples?!
Até a próxima!
Keep calm and analysing data!