Introdução ao Statsmodels
Statsmodels é uma biblioteca Python poderosa, projetada para realizar análises estatísticas de dados. Ela oferece ferramentas para construir modelos de regressão, estimar parâmetros, testar hipóteses estatísticas e analisar séries temporais. O Statsmodels é amplamente utilizado em econometria, bioestatística e ciências sociais, fornecendo uma interpretação estatística aprofundada dos resultados.
Principais recursos da biblioteca Statsmodels
Análise de regressão
O Statsmodels oferece recursos abrangentes para análise de regressão, incluindo Mínimos Quadrados Ordinários (OLS), Modelos Lineares Generalizados (GLM), regressão robusta e modelos de dados em painel. A biblioteca suporta métodos de estimativa paramétricos e não paramétricos.
Análise de séries temporais
O módulo de séries temporais inclui modelos ARIMA, SARIMA, suavização exponencial, autorregressão vetorial (VAR) e muitos outros. Funções para testar estacionariedade, decompor séries e fazer previsões estão disponíveis.
Teste de hipóteses estatísticas
A biblioteca contém um amplo conjunto de testes estatísticos: testes t, testes F, testes de normalidade, testes de igualdade de variâncias, testes de autocorrelação e muitos outros.
Análise de variância
Modelos ANOVA de um e múltiplos fatores, ANCOVA, medidas repetidas e efeitos mistos são suportados.
Métodos não paramétricos
Inclui métodos de estimativa de densidade por kernel, regressão não paramétrica e testes baseados em postos.
Instalação e importação do Statsmodels
Instalação da biblioteca
A instalação da biblioteca é feita com o comando padrão:
pip install statsmodels
Para obter funcionalidades adicionais, você pode instalar com todas as dependências:
pip install statsmodels[complete]
Importação dos componentes necessários
import statsmodels.api as sm
import statsmodels.formula.api as smf
import statsmodels.tsa.api as tsa
import statsmodels.stats.api as sms
Estrutura da biblioteca e módulos principais
Principais interfaces de API
statsmodels.api — interface clássica com especificação direta de matrizes de dados
statsmodels.formula.api — interface baseada em fórmulas, semelhante ao R
statsmodels.tsa — módulo para análise de séries temporais
statsmodels.stats — testes estatísticos e diagnóstico
statsmodels.graphics — visualização de resultados
Trabalhando com dados e preparação
O Statsmodels funciona de forma otimizada com pandas.DataFrame:
import pandas as pd
import numpy as np
# Carregar dados
data = pd.read_csv("dataset.csv")
# Verificar valores ausentes
print(data.isnull().sum())
# Estatísticas básicas
print(data.describe())
Regressão Linear (OLS)
Interface clássica
import statsmodels.api as sm
# Preparação dos dados
X = data[["x1", "x2", "x3"]]
X = sm.add_constant(X) # adicionar constante
y = data["y"]
# Construção do modelo
model = sm.OLS(y, X).fit()
print(model.summary())
# Extração dos coeficientes
print("Coeficientes:", model.params)
print("Valores-p:", model.pvalues)
print("R-quadrado:", model.rsquared)
Interface de fórmulas
import statsmodels.formula.api as smf
# Usando fórmulas
model = smf.ols("y ~ x1 + x2 + x3", data=data).fit()
print(model.summary())
# Interação entre variáveis
model_interaction = smf.ols("y ~ x1 * x2 + x3", data=data).fit()
# Variáveis categóricas
model_cat = smf.ols("y ~ C(category) + x1", data=data).fit()
Modelos Lineares Generalizados (GLM)
Também na biblioteca
AutoMapper para C# (.NET): guia completo com exemplos
Monitoramento de aplicativos Swift em iOS/macOS: bibliotecas e ferramentas
nlohmann/json para C++: guia completo com exemplos
Envio de email em Kotlin: bibliotecas, exemplos e configuração SMTP