Trabalho Intermediário
Previsão de Série Temporal com Dados Reais
Objetivo
Aplicar os conceitos da Parte 1 (séries temporais, ARIMA, previsão e validação) a um problema real de previsão. Você receberá uma série temporal mensal real e deverá produzir as melhores previsões possíveis para os 12 meses seguintes.
- Notebook Jupyter (.ipynb) com código reprodutível
- Prazo: semana de 18 de maio (domingo 24/mai, 23h59)
- Individual ou dupla (indicar no notebook)
O Desafio
Você receberá uma série temporal mensal com dados até um certo ponto. Os últimos 12 meses foram ocultados — eles serão usados para avaliar suas previsões. Você não sabe qual é a série (e não deve tentar descobrir durante o desafio).
Dados
O dataset será disponibilizado no repositório do curso em formato CSV. A série:
- Tem frequência mensal
- Possui sazonalidade clara
- Tem pelo menos 5 anos de histórico
- É uma série real de negócios/economia
O que entregar
Seu notebook deve conter obrigatoriamente:
1. Análise Exploratória (20%)
- Gráfico da série temporal
- Decomposição (clássica ou STL) — explique os componentes considerando o aspecto da série
- ACF e PACF da série original e diferenciada
- Testes de estacionariedade (ADF e KPSS) com conclusão explícita sobre tendência estocástica
- Identificação de sazonalidade (e sua periodicidade), tendência e outliers
- Discussão: o que os dados “dizem”?
2. Modelagem (30%)
- Pelo menos 3 modelos candidatos (ex: ARIMA, SARIMA, ETS, Prophet)
- Justificativa para a escolha de cada modelo — critérios de informação e/ou etapa de identificação da abordagem Box-Jenkins
- Uso de
statsforecast.AutoARIMAou identificação manual via Box-Jenkins - Parâmetros estimados e sua interpretação
- Diagnóstico residual: verificar se os resíduos do modelo ARIMA/SARIMA escolhido se comportam como ruído branco (ACF dos resíduos, teste de Ljung-Box)
3. Validação Cruzada Temporal (25%)
- Implementação de time series cross-validation (expanding ou sliding window)
- Cálculo de MAE, RMSE e MASE para cada modelo
- Comparação dos modelos em tabela e/ou gráfico
- Discussão: qual modelo é melhor e por quê?
4. Previsão Final (15%)
- Previsão de 12 meses à frente com o melhor modelo
- Intervalos de confiança de 80% e 95%
- Gráfico com a série histórica + previsão + intervalos
- Arquivo
previsao.csvcom colunas:data,previsao,ic_80_inf,ic_80_sup,ic_95_inf,ic_95_sup
5. Discussão (10%)
- Limitações do modelo escolhido
- O que poderia melhorar com mais dados ou técnicas avançadas?
- Se esta fosse uma previsão para decisão de negócio, quais cuidados adicionais você teria?
Critérios de Avaliação
| Critério | Peso | Excelente | Adequado | Insuficiente |
|---|---|---|---|---|
| Exploratória | 20% | Completa, com insights | Básica mas correta | Incompleta |
| Modelagem | 30% | Múltiplos modelos justificados | 2-3 modelos sem justificativa profunda | Apenas 1 modelo |
| Validação | 25% | CV temporal correto, métricas comparadas | CV feito mas com falhas | Sem CV ou com leakage |
| Previsão | 15% | Acurácia alta, intervalos calibrados | Acurácia razoável | Previsão pobre |
| Discussão | 10% | Reflexão crítica e profunda | Superficial | Ausente |
- Não complique demais: um SARIMA bem ajustado geralmente supera modelos complexos mal calibrados
- Valide antes de prever: use cross-validation temporal, não apenas um split treino/teste
- Interprete seus resultados: não basta gerar números — explique o que eles significam
- Código limpo: use funções, comentários e organize seu notebook em seções claras
- statsforecast é seu amigo:
AutoARIMA,AutoETSeAutoCESfacilitam a comparação
Competição (Bônus)
As previsões serão avaliadas contra os dados reais ocultos usando MASE. Os 3 melhores resultados receberão bônus na nota:
| Posição | Bônus |
|---|---|
| 1º lugar | +1.0 ponto |
| 2º lugar | +0.7 ponto |
| 3º lugar | +0.5 ponto |
A métrica de ranking é o MASE (Mean Absolute Scaled Error) — ela permite comparação justa independente da escala da série.
Desafio adicional: série de periodicidade desconhecida (2 pontos extras)
dados_amostra.csv
Será disponibilizada no repositório do curso uma base contendo uma segunda série temporal cuja periodicidade não é informada (pode ser diária, horária, semanal etc.). As 18 observações mais recentes foram ocultadas propositalmente para avaliar a qualidade da sua previsão.
Seu objetivo:
- Ajustar modelos de séries temporais apropriados (pode escolher modelos vistos em sala e outros não vistos — DARTS, NBEATS, XGBoost, o que preferir).
- Escolher o melhor modelo via backtest e métricas de validação apropriadas.
- Usar o modelo para prever as próximas 18 observações.
- Exportar as previsões em
previsao_amostra.csve submeter junto com a entrega principal.
Essa questão será avaliada pelo RMSE sobre as 18 observações ocultadas; os grupos com melhores predições recebem bônus adicional na nota do trabalho.
Referências e materiais de apoio
- Notebooks originais da Profa. Paloma disponíveis em Materiais Complementares, em especial
aula03-darts-forecasting.ipynbpara alternativas ao SARIMA/Prophet. - Livro-base: Hyndman & Athanasopoulos, Forecasting: Principles and Practice (3ª ed., FPP3).