Blog

Postado em em 28 de março de 2022

Estatística para Data Science no Python – Por Que Estudar Estatística

Hoje eu quero te mostrar por que você deve estudar estatística para data science no Python e como isso vai te ajudar!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Estatística Para Data Science no Python

Hoje nós vamos continuar falando sobre ciência de dados no Python e hoje vamos falar sobre estatística em data Science.

A minha ideia é te mostrar por que estudar estatística e como ela vai poder te ajudar nas suas análises e na construção dos seus projetos!

Estatística em Ciência de Dados

Os conceitos estatísticos vão te ajudar a entender melhor os dados que estão sendo tratados e fazer com que a suas análises fiquem mais eficientes.

Você vai entender por que alguns desses conceitos podem confundir as pessoas nessa aula.

Para te mostrar esses conceitos, vamos utilizar o pandas no Python para fazer alguns cálculos e assim você vai entender que as vezes uma informação pode não trazer um entendimento global do que está sendo mostrado.

Nós vamos começar com um exemplo iniciando com os valores 5 e 7. Depois vamos adicionar o 9, 1 e por fim o número 100.

Isso é para você visualizar como esses valores vão influenciar na média, mediana e moda.

Antes de começar com esse exemplo vou te fazer algumas perguntas e você pode até responder agora, mas depois vamos fazer algumas análises.

Você está procurando o mesmo emprego e vê duas propostas para o mesmo cargo em 2 empresas diferentes. Qual delas você escolheria?

(Obs: considere que em todos os outros fatores as duas empresas são iguais, com exceção dos salários)

Perguntas para análise
Perguntas para análise

Pode dar uma resposta para cada item, então seriam 3 escolhas no total baseado nas informações que estão sendo dadas.

import matplotlib.pyplot as plt
valores = {
	'lista1': [5,7] # valores: 5, 7 -> 9 -> 1 -> 100
}

valores = pdDataFrame(valores)

media = valores.lista1.mean()

plt.hist(valores.lista1);
plt.axvline(x=media, color='r', linestyle='-')
plt.show()

print('média: '+ str(media))
Plotando o valor da média
Plotando o valor da média

Iniciando apenas com os valores 5 e 7 você vai notar que a média está bem no centro, pois a média nada mais é do que é a soma dos valores, dividido pela quantidade de valores que temos.

Então faríamos 5 + 7 que é igual a 12 e depois dividimos por 2, pois só temos 2 números. Isso dá o resultado 6 que foi mostrado no gráfico.

Média acrescentando os outros valores
Média acrescentando os outros valores

Aqui temos a média adicionando o valor 9, depois o 1 e por fim o valor 100. Com isso você vai notar que só com a média a gente não consegue saber como está a distribuição desses valores.

Pois quando você escuta falar em média já acha que boa parte dos valores vão estar próximos da média, mas não é o que acontece.

Então na questão do salário você já pode notar que não necessariamente a empresa com a maior média salarial vai ter os melhores salários.

Você já sabe o que é média, agora eu quero te explicar o que é mediana e o que é moda.

A mediana é o valor central dos dados que você tem, caso você tenha uma quantidade par de valores, então a sua mediana será a média dos 2 valores centrais.

Já a moda é o valor que mais se repete dentro dos seus dados, então se tiver um valor que se repete mais do que outro ele será sua mediana.

IMPORTANTE: Vale lembrar que para visualizar o valor que é a mediana os seus dados precisam estar em ordem crescente.

Agora nós vamos fazer alguns testes para que você possa visualizar como a média, mediana, moda e desvio padrão se comportam ao alterarmos os valores analisados.

valores = {
	'lista2': [5,7] # valores: 5, 7 -> 7 -> 1 -> 13 -> 100
}

valores = pdDataFrame(valores)

media = valores.lista2.mean()
mediana = valores.lista2.median()
moda = valores.lista2.mode()
desvio_padrao = valores.lista2.std()

plt.hist(valores.lista2);
plt.axvline(x=media, color='r', linestyle='-')
plt.xvline(x=mediana, color='b', linestyle='-')
plt.axvline(x=moda[0], color='g', linestyle='-')
plt.show()

print('média: '+ str(media))
print('mediana: '+ str(mediana))
print('moda: '+ str(moda))
print('desvio padrão: '+ str(desvio_padrao))
Cálculo de média, mediana, moda e desvio padrão
Cálculo de média, mediana, moda e desvio padrão

Abaixo vou te mostrar os resultados acrescentando os números 7, 9, 1 e 100.

Estatística para Data Science
Alterações nos cálculos ao inserir novos dados

Você vai notar que tanto a média quanto o desvio padrão aumentam bastante quando colocamos o valor 100 dentro dos nossos números.

Então esse valor acaba “atrapalhando” um pouco a análise, pois você não consegue saber como essas informações estão distribuídas.

Agora quando você tem a moda, mediana e o desvio padrão já começa a verificar como esses valores se comportam.

O desvio padrão, quanto maior, mais distante da média, então quanto menor mais próximo da média.

Com isso você já conclui que um desvio padrão baixo você vai ter valores que estão próximos a média, então já tem uma boa noção de como eles estão variando.

Agora quando tem um número muito grande já fica difícil saber como eles estão distribuídos.

x = range(0,len(valores.lista2))

plt.scatter(x,valores.lista2)
plt.axhline(y=media, color'r', linestyle='-')
plt.show()
Estatística para Data Science
Visualização dos valores em relação a média

Aqui temos um gráfico para que você possa verificar como os dados estão em relação a média, então claramente você nota que o valor 100 está bem distante e acaba levando a média desses valores bem para cima.

Agora sabendo os conceitos e entendendo todos eles nós podemos voltar a questão inicial para fazer uma análise dos valores.

# Base de salários de 13 pessoas
salarios = {
    'funcionario': [1,2,3,4,5,6,7,8,9,10,11,12],
    'cargos': ['assistente1','assistente2','analista1','analista2','analista3','analista4','coordenador1','coordenador2','coordenador3','gerente1','gerente2','CEO'],
    'empresa1': [1000,1080,1500,1520,1600,1670,2640,2730,2710,5000,5000,57000],
    'empresa2': [3000,3000,4200,4200,4200,4200,6000,6000,6000,8000,8000,15000]
}

salarios = pd.DataFrame(salarios)
Estatística para Data Science
Análise das duas empresas

Aqui você vai notar que temos duas empresas e que a média salarial da empresa 1 é maior do que a média salarial da empresa 2, só que isso não significa que o seu salário vai ser mais próximo dessa média na empresa 1.

Se notar em std (que é o desvio padrão) vai ver que o desvio da empresa 1 é muito maior do que o da empresa 2.

Aqui temos um valor de salário de 57.000 que se assemelha muito ao valor 100 do nosso exemplo.

Ele acaba levando a média pra cima, o que pode levar as pessoas a tomarem decisões erradas ou pensarem que o salário dessa empresa tende a ser maior.

Outra maneira de analisar essas informações é utilizando o boxplot, pois ele possui informações mais completas.

Estatística para Data Science
Descrição do boxplot

Dessa forma você consegue analisar muito melhor as informações com esse gráfico, pois ele traz muitas informações.

salarios.empresa1.plot(kind='box');

salarios.empresa2.plot(kind='box');
Estatística para Data Science
Gráfico boxplot das duas empresas

Lembrando que o Q1 e Q3 são os quartis, que seria a divisão dos seus dados por 4, então com isso, você já consegue fazer uma análise muito mais precisa.

Fora que você ainda tem essa bolinha que fica lá em cima, ela mostra o outlier, que é um valor muito fora da curva.

Você vai notar que nos dois casos temos outliers, mas na empresa 2 ele não é tão distante dos nossos dados.

Agora você já sabe como fazer uma análise mais detalhada dos seus dados e não levar em conta uma única medida para tirar suas conclusões.

Conclusão de Estatística para Data Science

Nessa aula eu te mostrei alguns conceitos de estatística para data Science no Python para facilitar sua análise de dados.

Dessa forma você poderá ser mais crítico e utilizar todos esses conceitos para fazer suas análises ao invés de tirar suas conclusões utilizando uma única medida!

Hashtag Treinamentos

Para acessar outras publicações de Ciência de Dados, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer ter acesso a um Minicurso de Finanças no Excel de forma 100% gratuita? Preencha seu e-mail abaixo!