A previsão da taxa de inflação é objeto de grande interesse entre economistas e analistas de mercado, dada a forte influência deste indicador na economia do país. Ao mesmo tempo, trata-se de uma variável complexa e desafiadora em termos de previsão. Com a crescente disponibilidade de modelos e ferramentas aplicadas, é natural se perguntar: qual é o melhor modelo para projetar a inflação?
Neste exercício, testamos 18 modelos diferentes com um conjunto fixo de regressores para previsão da taxa de inflação, medida pelo IPCA. Implementamos o método da validação cruzada, visando obter resultados robustos para comparação de métricas de performance. Apresentamos os resultados gerais e desagregados por horizontes de previsão, além de automatizar todo o processo utilizando a linguagem Python.
Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.
Objetivo do exercício
O objetivo do exercício é encontrar o melhor modelo de previsão até 12 meses à frente para o IPCA, medido em variação % mensal. As variáveis utilizadas para projeção incluem:
- Expectativas de inflação
- Preço de commodities
- Taxa de câmbio
- Dummies
- Indicadores de alta frequência
Para saber mais detalhes confira o curso Previsão Macroeconômica usando IA e Python.
Modelos de previsão
Os modelos escolhidos para o exercício são descriminados na tabela abaixo:
Como comparar modelos de previsão?
Quando o objetivo é escolher um ou mais modelos para fins de previsão, é necessário realizar uma comparação de performance entre os modelos para fazer a escolha certa. Essa comparação pode ser feita por métodos simples, como separação de amostras treino/teste, ou por métodos mais robustos, como a validação cruzada.
A validação cruzada separa os dados em diversas amostras e treina os modelos nestas amostras, gerando previsões para o período correspondente. Ao final do processo, é possível calcular o erro de previsão e métricas derivadas para cada amostra/previsão gerada. A partir disso, costuma-se obter um resultado agregado (médio) destas métricas para facilitar a comparação dos modelos. Saiba mais sobre validação cruzada nos cursos/blog da Análise Macro.
Resultados
Para cumprir o objetivo do exercício utilizamos a linguagem de programação Python, que possibilita automatizar todo o processo.
O gráfico abaixo apresenta a métrica MSE média de validação cruzada:
Podemos ver que modelos econométricos, como SARIMA, VAR e Passeio Aleatório, não apresentaram boas performances. Em contraposição, modelos de machine learning, como Ridge, Ensemble e Gradient Boosting, apresentaram os melhores resultados (menores erros médios).
O gráfico abaixo apresenta as previsões realizadas no processo de validação cruzada pelo melhor modelo, além dos dados observados para comparação.
Além destes resultados, é interessante analisar os resíduos dos modelos e as métricas de erro por horizonte de previsão. Esta última apresentamos no gráfico abaixo para o melhor modelo encontrado acima:
Conclusão
Neste exercício, testamos 18 modelos diferentes com um conjunto fixo de regressores para previsão da taxa de inflação, medida pelo IPCA. Implementamos o método da validação cruzada, visando obter resultados robustos para comparação de métricas de performance. Apresentamos os resultados gerais e desagregados por horizontes de previsão, além de automatizar todo o processo utilizando a linguagem Python.
Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!
Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.