Data scientist #3 | Estatística básica para analise de dados em python.
---
Antes de tudo; estatística nunca poderá ser resumida em uma única publicação.
Ela abrange muitos conceitos matemáticos e é um campo próprio dentro de cálculo.
Esse como as outras publicações para aprendizado de
Data scientist são apenas as abordagens iniciais dos conteúdos e existe muito mais para ser estudado e analisado.
E quero agradecer os comentários da última publicação sobre
visualizando dados em python,
pois tive a oportunidade de conhecer novas ferramentas,
como a PlotLy e até mesmo sites como
The Python Graph Gallery
Está se tornando cada vez mais prazeroso poder compartilhar esse
pequeno guia e ter a colaboração dos membros da comunidade da TabNews.
O QUE É ESTATÍSTICA?
A estatística é uma disciplina da matemática que se concentra na coleta, análise, interpretação e visualização de dados.
Então ela permite a gente a identificar padrões, fazer previsões e tomar decisões. A estatística é muito velha, ela foi
utilizada até mesmo no antigo Egito para registro das colheitas. Há mais de dois mil anos, a China já se preocupava com o
crescimento populacional por meio de censos. Já no século XIV, o início do Renascimento na Europa também proporcionou novos rumos à ESTATÍSTICA, necessária especialmente para aprimorar
a administração de governos. E esses são otimos exemplos.
A estatística é amplamente aplicada em diversas áreas, não são apenas os cientistas de dados que utilizam estatística, há utilização em
ciências da natureza, ciências sociais, negócios, economia, engenharia e muitas outras áreas. É uma ferramenta poderosa para principalmente
compreender e lidar com a incerteza, fornecendo métodos para quantificar e avaliar a variabilidade nos dados. Em resumo, a estatística desempenha
um papel crucial na compreensão do mundo ao nosso redor por meio da análise e interpretação de dados.
E compreender essa área pelo menos na sua forma básica é uma parte fundamental da análise de dados, irei fornecer os conceitos e ferramentas necessários para entender e interpretar conjuntos de dados. Um dos primeiros passos na análise de dados é a descrição das características de nossas informações, o que inclui *medidas de tendência central* e *dispersão*.
Medidas de Tendência Central:
As medidas de tendência central descrevem onde os dados tendem a se concentrar. Qual é a maior quantidade em que eles existem por exemplo. Aqui estão três das principais medidas de tendência central. A média, mediana e moda. Mas antes de tudo, iremos primeiro usar bibliotecas para a utilização das fórmulas adequadas.
import numpy as np
from scipy import stats
python
sem adição de outras bibliotecas, e até mesmo com outras linguagens, como C++
ou Lua
existe uma certa
facilidade para criar esses cálculos. Mas eu utilizarei o Numpy
e o SciPy
porque já são bibliotecas que
teremos que constantemente utilizar durante as próximas publicações. Então é melhor usar agora do que depois, certo? Eu fiz aleatoriamente uma série de valores para ser nossa base de dados, pois o intuito no momento é apenas apresentar as fórmulas, mas sempre costume a testar com base de dados reais.
Base_De_Dados = [29, 34, 48, 47, 41, 38, 33, 42, 43, 22, 35, 43, 25, 34, 25, 28, 34, 32, 47,
46, 27, 44, 22, 35, 20, 49, 43, 34, 43, 42, 30, 26, 43, 33, 24, 27, 45, 49, 41, 28]
Caso seja difícil ver uma série de valores sem sentido nenhum e começar a analisar,
criarei um contexto; pense que é o registro de 50 pessoas numa sala, e esses valores
representam a idade de cada uma delas e queremos descobrir como está a distribuição desses dados
Vamos começar com a análise através da média, isso é um conteúdo que se estuda durante o
ensino médio, mas vou descrever como a soma de todos os valores dividida pela quantidade de produtos . Ela é utilizada para representarmos o valor típico central de nossos dados. Se você possui dois pontos, provavelmente
a média vai ser o meio do caminho entre eles. E quanto mais pontos você adiciona para alguma das direções, mais ele cresce ou diminui.
Caso visualize os dados e perceba que há valores muito extremos que alterem a média. Sempre será necessário uma limpeza na informação.
E a fórmula de forma prática é assim:
Olhando assim pode parecer bem complicado para alguns, afinal de conta, existem esses símbolos como Σ, que apenas representa somatória. E isso também é algo simples, para os que já sabem como média funciona, devem olhar para isso e até mesmo questionar o motivo de eu ter deixado dessa forma, e direi que as fórmulas são ferramentas importantes e fazem parte de trabalhos científicos, é importante treinar sua leitura. Principalmente caso queira entrar na parte mais técnica, e ler artigos mais difíceis. Mas eu irei trazer um exemplo para deixar mais claro.
Esse é um exemplo bem simples de uma das fórmulas de tendencia central, viu? Não é tão difícil assim,
foi soma e divisão. Apenas coisas que se utilizava no fundamental II. E é claro, caso sinta a dúvida em alguma das
fórmulas que aparecer posteriormente, procure exemplos na internet e vídeos no youtube. Matemática pode ser um assunto
delicado para alguns e para outros pode ser facilmente explicada. E está tudo bem!!! Nunca se julgue caso não entenda esses conceitos,
busque com calma e faça sempre no seu jeito e no seu tempo.
Mas bem, agora que temos um exemplo e base de dados, vamos executar em código, o que é muito mais fácil do que pegar um lápis e começar
a montar toda a fórmula para encontrar o resultado, e o código fica assim:
media = np.mean(Base_De_Dados)
print("Média:", media)
Fácil, não?
Agora vamos falar da mediana. A mediana é o valor que divide o conjunto de dados ao meio quando ordenado.
Ele é literalmente o valor do meio de nossa base de dados. Mas se houver um número ímpar de valores, a mediana é simplesmente o valor do meio.
Se houver um número par de observações, a mediana é a média dos dois valores do meio.
Um exemplo simples de mediana:
O valor do meio. Outro exemplo simples. Entretanto; a base de dados que normalmente utilizaremos vão ser em grande escala, então porque não fazemos isso em código?
mediana = np.median(Base_De_Dados)
print("Mediana:", mediana)
Um número bem próximo da média. Com a diferença de 1,2 para os resultados.
Mas repare por exemplo que diferente da média, a mediana não depende de cada
valor nos seus dados. Por exemplo, se você aumentar o maior ponto (ou diminuir o menor ponto),
os pontos do meio permanecem intactos, logo, a mediana também. Ela só iria se alterar caso os dois
valores do meio tivessem alteração. Então ela pode ser suspeita se apenas for usada sozinha.
Mas por último entre as medidas de tendencia central é a Moda, que descreve o
valor mais frequente no conjunto de dados. O que mais aparece. Isso tem como função principal uma certa limpeza nós dados.
moda = stats.mode(Base_De_Dados)
print("Moda:", moda)
Além do resultado da moda, que para nossa base de dados é 43, ele também nos fornece a quantidade de vezes que o valor aparece, sendo no caso 5 vezes.
As medidas de tendencia central são o básico da estatística, normalmente nem se utiliza tanto mediana ou moda. O que mais usaremos provavelmente será
a média. Mas também é necessário apresentar as medidas de dispersão desses dados.
Medidas de Dispersão:
A dispersão se refere à medida de como os nossos dados estão espalhados. Se eles têm valores muito distantes ou estão muito próximos, caso o resultado dos valores é perto de zero significam não estão espalhados de forma alguma e para valores maiores significa que estão muito espalhados. Por exemplo, uma simples medida é a amplitude, que é a diferença entre o maior e o menor elemento:
amplitude = np.max(Base_De_Dados) - np.min(Base_De_Dados)
print("Amplitude:", amplitude)
Amplitude alta significa que os dados estão bem espalhados, caso o resultado fosse 0,
obrigatoriamente todos os dados teriam o mesmo valor. Por outro lado, se a amplitude é ampla,
então o max é bem maior do que o min e os dados estão mais espalhados. E isso não necessariamente
significa algo bom, apenas depende da base de dados e a distribuição dos valores e quantidade de valores.
É preciso fazer análise e isso é algo consideravelmente difícil de se ensinar, é algo que precisamos fazer com calma e compreender o contexto para cada caso.
Mas agora vamos partir para a próxima medida de dispersão, a variância, essa é uma medida da dispersão dos dados em relação à média. Valores de dados que estão
mais distantes da média contribuem mais para a variância, enquanto valores mais próximos têm uma contribuição menor. Deixe-me apresentar a fórmula:
Esse pode parecer um pouco mais difícil de entender, mas como a última a da média, recomendo que busque tutoriais ou mais exemplos caso queira compreender afundo. Porém, vamos direto ao código desta vez:
variancia = np.var(Base_De_Dados)
print("Variância:", variancia)
A variância é um método mais complexo para a análise de dispersão, pois ela utiliza a média como base e ela torna o resultado mais
“preciso”. A variância apenas nos diz se os nossos valores estão distantes ou não da nossa média. Nesse nosso exemplo, como sabemos
a média é 35, e temos números como 20 e 49, existe uma grande taxa de variância em relação à média.
Vamos agora partir para algo mais intuitivo, uma medida onde a dispersão pode ser baseada na média,
mas ela é considerada mais visual para nós. E essa é o Desvio Padrão(σ). Que de forma prática, é simplesmente a raiz da variância.
desvio_padrao = np.std(Base_De_Dados)
print("Desvio Padrão:", desvio_padrao)
Normalmente a distribuição dos dados, tem uma diferença de 8 com a média. Então existe um desvio..padrão. Acho que o nome já diz bastante coisa. É um desvio padrão dá média. E muitos preferem usar ele diretamente do que a variância, pois o resultado é muito mais compreensível.
E agora?
Primeiramente quero reforçar a ideia de que a estatística é uma ferramenta poderosa para compreender e interpretar conjuntos de dados,
identificar padrões e tomar decisões informadas. No entanto, este é apenas o básico, e eu apenas quero apresentar alguns conceitos que utilizaremos.
Caso queira alguma recomendação para começar do zero, eu direi para ver a plataforma do Khan Academy
, que é um lugar gratuito e bom para reforçar os conteúdos do ensino fundamental e superior.
Se tiver mais experiencia e um inglês consideravelmente avançado, sempre existem recursos como opções de livros, como o
introdução para estatistica.
E para os programadores mais experientes, compartilhem aqui lugares que estudaram sobre estatística e até mesmo conceitos que acham importante. Logo mais quero falar de probabilidade, que é um ramo mais complexo e muito mais diversos em estatística.
-
Código:https://github.com/Borboleta-Vermelha/BLOGS/blob/main/Estatística_básica_para_analise_de_dados.ipynb
E logo mais terá mais postagens desse mundo de Data Science. 🦋