DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Uma Exploração Abrangente da Estatística Descritiva em Data Science com Python: Exemplos Práticos com Dataset Fictício

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),
})
Enter fullscreen mode Exit fullscreen mode

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'])
Enter fullscreen mode Exit fullscreen mode
  • 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'])
Enter fullscreen mode Exit fullscreen mode
  • 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]
Enter fullscreen mode Exit fullscreen mode

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'])
Enter fullscreen mode Exit fullscreen mode
  • 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'])
Enter fullscreen mode Exit fullscreen mode
  • 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)
Enter fullscreen mode Exit fullscreen mode

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()
Enter fullscreen mode Exit fullscreen mode

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()
Enter fullscreen mode Exit fullscreen mode

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]
Enter fullscreen mode Exit fullscreen mode

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()
Enter fullscreen mode Exit fullscreen mode

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)