Qual o melhor modelo para prever a inflação medida pelo IPCA?

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:

Note que este modelo pode errar entre ~0,01 a ~0.14, em termos absolutos, a taxa de inflação mensal. Vale frisar que estes são resultados médios esperados, sendo obtidos sob “cenário perfeito”, ou seja, quando o cenário de previsão utiliza os próprios dados observados no período. Ao usar este modelo fora da amostra, você pode esperar erros maiores devido a incerteza advinda do cenário. Isso acontece com todos os modelos.Para detalhes sobre os procedimentos do exercício, veja o código anexo ao mesmo e/ou o curso Previsão Macroeconômica usando IA e Python.

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.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como criar janelas móveis de séries temporais usando o Python

Janelas Móveis/Deslizantes, ou Rolling Windows, são termos frequentes na análise de séries temporais. Mas o que são e como aplicá-las no Python? Neste tutorial, mostramos como essa ferramenta é essencial para a análise de dados utilizando como exemplo a correlação móvel de ações brasileiras.

Como incorporar choques em cenários de previsão?

Neste exercício mostramos como incorar choques no cenário de variáveis exógenas para fins de previsão. Usando como exemplo a previsão do IPCA, através de um modelo de machine learning, mostramos os cuidados a serem tomados e uma forma simples de definir o cenário com os choques. Ao final, apresentamos uma previsão com um suposto choque e uma previsão sem o choque para comparação.

Como preparar os dados para um modelo preditivo?

Modelos de previsão macroeconômica podem facilmente alcançar um número elevado de variáveis. Mesmo modelos simplificados, como o Modelo de Pequeno Porte (MPP) do Banco Central, usam cerca de 30 variáveis. Isso impõe um grande desafio ao nosso dia a dia: como fazer a gestão destes dados para uso em modelos, desde a coleta até o tratamento?

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.