Modelos ARIMA e SARIMA
Componentes AR, MA e I, seleção de parâmetros com ACF/PACF e ajuste de ARIMA com statsmodels.
Modelos ARIMA e SARIMA é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
O que é ARIMA?
ARIMA modela uma série estacionária usando três partes: o componente AutoRegressive (autorregressivo) (p), a integração/diferenciação (d) e uma média móvel dos erros (q), representadas como ARIMA(p, d, q).
AR(p): autorregressivo
O termo AR prevê o próximo valor a partir de uma combinação linear de seus próprios p valores anteriores. Se o valor de hoje depender fortemente dos últimos dias, você precisará de um p diferente de zero.
Exemplo: p=2 usa as duas observações mais recentes como variáveis preditoras.
I(d): integração / diferenciação
O termo I é a ordem de diferenciação d necessária para tornar a série estacionária — exatamente o d que você encontrou com o teste ADF na lição anterior. d=1 remove uma tendência linear.
MA(q): média móvel
O termo MA modela o próximo valor usando os q erros de previsão anteriores (choques). Ele captura correções de curto prazo no ruído que a parte AR não consegue explicar.
Ajustando ARIMA no statsmodels
Passe sua série como endog e a tupla de ordem escolhida.
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(endog=series, order=(p, d, q))
fit = model.fit()
print(fit.summary())Fazendo previsões
Depois do ajuste, gere valores futuros com forecast ou get_forecast, que também fornece intervalos de confiança.
preds = fit.forecast(steps=12) # next 12 periods
fc = fit.get_forecast(steps=12)
ci = fc.conf_int() # confidence intervalsGráficos ACF e PACF
Para escolher p e q, examine os gráficos de autocorrelação:
- ACF (autocorrelação) ajuda a escolher q (ordem MA).
- PACF (autocorrelação parcial) ajuda a escolher p (ordem AR).
Procure a defasagem em que a correlação sofre um corte acentuado.
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(series.diff().dropna())
plot_pacf(series.diff().dropna())AIC e BIC para selecionar a ordem
AIC e BIC avaliam o ajuste do modelo, penalizando sua complexidade. Quanto menor, melhor. Ajuste vários candidatos (p,d,q) e escolha aquele com o menor AIC/BIC; o BIC penaliza parâmetros adicionais com mais intensidade.
print("AIC:", fit.aic)
print("BIC:", fit.bic)Busca em grade das ordens
Uma abordagem comum percorre pequenos intervalos de p, d e q, ajusta cada combinação e mantém aquela com o menor AIC. Bibliotecas como pmdarima.auto_arima automatizam essa busca.
best = None
for p in range(3):
for q in range(3):
try:
f = ARIMA(series, order=(p, 1, q)).fit()
if best is None or f.aic < best[1]:
best = ((p, 1, q), f.aic)
except Exception:
pass
print(best)SARIMA para sazonalidade
SARIMA adiciona um componente sazonal: (P, D, Q, m), em que m é a duração da estação (12 para dados mensais com padrão anual). Ele lida com padrões repetitivos que o ARIMA simples não consegue tratar.
from statsmodels.tsa.statespace.sarimax import SARIMAX
model = SARIMAX(series,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12))
fit = model.fit()ARIMA versus SARIMA
- ARIMA(p,d,q): tendência e dependência de curto prazo, sem sazonalidade.
- SARIMA(p,d,q)(P,D,Q,m): adiciona termos sazonais para ciclos repetitivos.
Se a sua decomposição mostrou uma sazonalidade clara, escolha SARIMA.
Verificação rápida
Teste seus conhecimentos sobre ARIMA.
Recapitulação
Você aprendeu ARIMA(p,d,q): AR usa valores anteriores, I é a ordem de diferenciação e MA usa erros anteriores. Você ajustou o modelo com ARIMA(endog, order=...), escolheu as ordens usando ACF/PACF e AIC/BIC e ampliou o modelo para SARIMA para lidar com a sazonalidade. A seguir: Prophet para previsões automatizadas.
Perguntas Frequentes
A aula “Modelos ARIMA e SARIMA” é grátis?
Sim — o texto completo de “Modelos ARIMA e SARIMA” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Modelos ARIMA e SARIMA”?
Componentes AR, MA e I, seleção de parâmetros com ACF/PACF e ajuste de ARIMA com statsmodels. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Modelos ARIMA e SARIMA”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Componentes de séries temporais e estacionariedade
- Modelos ARIMA e SARIMA
- Prophet para previsão automatizada
- LSTM para previsão de séries temporais