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)