Introdução:
A Estatística Descritiva é a espinha dorsal da análise exploratória de dados em Data Science. Neste artigo, vamos mergulhar fundo nos conceitos da Estatística Descritiva, utilizando Python e a biblioteca Numpy. Para tornar os exemplos mais tangíveis, usaremos um dataset fictício gerado com Numpy, permitindo uma compreensão prática e aplicada desses conceitos essenciais.
1. O que é Estatística Descritiva?
A Estatística Descritiva é o ramo da estatística que se concentra em resumir, organizar e apresentar dados de maneira informativa. Ela ajuda a extrair padrões, identificar outliers e fornecer uma visão inicial dos dados.
2. Criando um Dataset Fictício com Numpy:
Antes de entrarmos nas análises, vamos criar um conjunto de dados fictício que representará nosso universo de estudo.
import numpy as np
import pandas as pd
# Definir semente para reproducibilidade
np.random.seed(42)
# Criar dataset fictício com duas variáveis
dados = pd.DataFrame({
'Altura': np.random.normal(loc=170, scale=10, size=1000),
'Peso': np.random.normal(loc=70, scale=5, size=1000),
})
3. Medidas de Tendência Central com Numpy:
-
Média:
- Calculada como a soma de todos os valores dividida pelo número de elementos.
# Calcular a média da altura e peso
media_altura = np.mean(dados['Altura'])
media_peso = np.mean(dados['Peso'])
-
Mediana:
- O valor que divide os dados em duas partes iguais quando organizados em ordem crescente.
# Calcular a mediana da altura e peso
mediana_altura = np.median(dados['Altura'])
mediana_peso = np.median(dados['Peso'])
-
Moda:
- O valor mais frequente no conjunto de dados.
# Calcular a moda da altura e peso
moda_altura = stats.mode(dados['Altura'])[0][0]
moda_peso = stats.mode(dados['Peso'])[0][0]
4. Medidas de Dispersão com Numpy:
-
Desvio Padrão:
- Indica a dispersão dos dados em relação à média.
# Calcular o desvio padrão da altura e peso
desvio_padrao_altura = np.std(dados['Altura'])
desvio_padrao_peso = np.std(dados['Peso'])
-
Variância:
- Medida do quão distantes os valores estão da média.
# Calcular a variância da altura e peso
variancia_altura = np.var(dados['Altura'])
variancia_peso = np.var(dados['Peso'])
-
Amplitude Interquartil (IQR):
- Diferença entre o terceiro quartil (Q3) e o primeiro quartil (Q1).
# Calcular o IQR da altura e peso
iqr_altura = np.percentile(dados['Altura'], 75) - np.percentile(dados['Altura'], 25)
iqr_peso = np.percentile(dados['Peso'], 75) - np.percentile(dados['Peso'], 25)
5. Visualização Descritiva:
Além das medidas numéricas, a visualização é uma ferramenta poderosa na Estatística Descritiva. Utilizaremos gráficos de boxplot para ilustrar a dispersão dos dados.
import matplotlib.pyplot as plt
import seaborn as sns
# Boxplot da altura e peso
plt.figure(figsize=(10, 6))
sns.boxplot(data=dados[['Altura', 'Peso']], palette='Set2')
plt.title('Boxplot da Altura e Peso')
plt.show()
6. Correlação e Relações entre Variáveis:
Outro aspecto crucial da análise exploratória de dados é entender as relações entre variáveis. A correlação é uma medida estatística que indica a direção e a força dessa relação. Vamos explorar a correlação entre altura e peso no nosso dataset fictício.
# Calcular a matriz de correlação
correlacao = dados[['Altura', 'Peso']].corr()
# Visualizar a matriz de correlação com um heatmap
plt.figure(figsize=(8, 6))
sns.heatmap(correlacao, annot=True, cmap='coolwarm', fmt=".2f")
plt.title('Matriz de Correlação entre Altura e Peso')
plt.show()
7. Outliers e Anomalias:
Identificar outliers é uma parte crucial da análise exploratória. Esses pontos podem fornecer informações valiosas ou indicar problemas nos dados. Vamos identificar outliers na variável 'Peso' usando boxplot e z-score.
# Boxplot para identificar outliers em Peso
plt.figure(figsize=(6, 4))
sns.boxplot(x=dados['Peso'], color='skyblue')
plt.title('Boxplot de Peso para Identificação de Outliers')
plt.show()
# Calcular o z-score para identificar outliers
z_scores = (dados['Peso'] - np.mean(dados['Peso'])) / np.std(dados['Peso'])
outliers = dados[np.abs(z_scores) > 3]
8. Estatísticas Descritivas Avançadas:
Para explorar ainda mais os dados, podemos calcular estatísticas descritivas mais avançadas, como a assimetria (skewness) e a curtose (kurtosis), que indicam a forma e a "pesagem" da distribuição dos dados.
# Calcular assimetria e curtose para Altura e Peso
assimetria_altura = dados['Altura'].skew()
curtose_altura = dados['Altura'].kurtosis()
assimetria_peso = dados['Peso'].skew()
curtose_peso = dados['Peso'].kurtosis()
9. Considerações Éticas e Interpretação Responsável:
Ao explorar e interpretar os dados, é fundamental adotar uma abordagem ética. Isso inclui a transparência na comunicação dos métodos utilizados, a consideração de possíveis viéses e a proteção da privacidade dos indivíduos representados nos dados.
10. Conclusão Final:
A Estatística Descritiva é uma ferramenta essencial que fornece uma visão detalhada e compreensível dos dados. Neste artigo, exploramos conceitos fundamentais, aplicamos técnicas com Numpy e visualizações, e destacamos aspectos avançados como correlação, identificação de outliers e estatísticas descritivas mais complexas.
Ao dominar essas técnicas, os profissionais de Data Science podem não apenas entender melhor seus dados, mas também realizar análises mais sofisticadas e informadas. A Estatística Descritiva, quando aplicada de maneira ética e cuidadosa, é a base sólida sobre a qual se constrói uma análise de dados significativa e confiável.
Top comments (0)