Previsão com Vetores Autoregressivos no Python

Previsões com Vetores Autoregressivos no Python

Modelos Vetoriais AutoRegressivos (VAR) são amplamente utilizados na análise de séries temporais macroeconômicas. Eles permitem modelar a dinâmica conjunta de várias variáveis, capturando como choques em uma afetam as demais ao longo do tempo. Neste exercício, mostramos como aplicar um modelo VAR a um conjunto de dados macroeconômicos brasileiros para gerar previsões.

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.

Vetores AutoRegressivos (VAR)

O modelo VAR(p) para um vetor de variáveis endógenas \mathbf{y}_t é dado por:

    \[\mathbf{y}_t = A_1 \mathbf{y}_{t-1} + A_2 \mathbf{y}_{t-2} + \dots + A_p \mathbf{y}_{t-p} + \varepsilon_t,\]

onde:
- \mathbf{y}_t é um vetor (k \times 1) de variáveis endógenas,
- A_i são matrizes de coeficientes (k \times k),
- \varepsilon_t é um vetor de inovações com média zero e covariância constante.

Exemplo econômico com Vetores AutoRegressivos

Vamos aplicar o modelo VAR a um conjunto de séries macroeconômicas mensais:

- Inflação acumulada em 12 meses (IPCA);

- Expectativas de inflação para os próximos 12 meses (EIPCA);

- IC-Br (Indicador de Commodities do Banco Central);

- Câmbio BRL/USD;

- Taxa Selic (anualizada);

- Taxa de desemprego (PNAD Contínua);

- IBC-Br (proxy mensal do PIB).

Dados

As séries são mensais, com origem em fontes como IBGE e BCB. Abaixo, visualizamos as séries presentes na modelagem.

Variáveis Selecionadas para previsão com Vetor AutoRegressivo

Passos para a Previsão de Vetores AutoRegressivos

1. Verificar estacionariedade das séries com o teste de Phillips-Perron (PP);

2. Diferenciar as séries quando necessário para garantir estacionariedade;

3. Dividir os dados em conjuntos de treino e teste;

4. Determinar a ordem ótima de defasagem do VAR;

5. Estimar o modelo VAR com as séries estacionárias;

6. Realizar previsões para o período de teste.

Obs. para aplicar VAR em variáveis não estacionárias em nível e estacionárias em I(1) é importante a verificação de cointegração, entretando, deixamos de lado esse procedimento.

Estacionariedade das variáveis

Realizamos o teste de Phillips-Perron (PP). O resultado está resumido abaixo:

Variável PP Nível (p-valor) PP 1ª Dif. (p-valor) Conclusão
IPCA 0.1564 0.0000 1ª Dif. Estacionária
Desemprego 0.6642 0.0000 1ª Dif. Estacionária
EIPCA 0.4175 0.0000 1ª Dif. Estacionária
Câmbio 0.7224 0.0000 1ª Dif. Estacionária
Selic 0.4578 0.0001 1ª Dif. Estacionária
IC-Br 0.7591 0.0000 1ª Dif. Estacionária
IBC-Br 0.0000 0.0000 Estacionária

Como a maioria das séries são integradas de ordem 1 (I(1)), utilizamos as primeiras diferenças para garantir estacionariedade no VAR.

Separacão Treino-Teste

Dividimos a amostra em duas partes:

  • Treino: Dados até 12 meses antes do fim da amostra.
  • Teste: Os últimos 12 meses, usados para avaliar a capacidade preditiva.

Determinação da Ordem de Defasagem do VAR

A ordem ideal do modelo foi determinada com base nos critérios AIC, BIC, FPE e HQIC:

  VAR Order Selection (* highlights the minimums)  
==================================================
       AIC         BIC         FPE         HQIC   
--------------------------------------------------
0       -3.241      -1.576     0.03921      -2.565
1       -10.70     -7.976*   2.279e-05     -9.593*
2       -10.88      -7.096   1.941e-05      -9.343
3       -11.10      -6.253  1.618e-05*      -9.129
4       -11.03      -5.125   1.831e-05      -8.630
5       -11.15      -4.191   1.754e-05      -8.325
6       -11.30      -3.281   1.696e-05      -8.043
7       -11.28      -2.193   2.044e-05      -7.585
8       -11.36      -1.220   2.319e-05      -7.240
9       -11.79     -0.5877   2.002e-05      -7.238
10     -12.03*      0.2321   2.277e-05      -7.047
--------------------------------------------------

Apesar do AIC sugerir ordem 10, usamos ordem 1 (com menor BIC e HQIC), para evitar sobreparametrização.

Previsão do Vetor Autoregressivo

Com o modelo estimado, realizamos previsões para os próximos 12 meses usando:

    \[\hat{\mathbf{y}}_{t+1} = A_1 \mathbf{y}_{t} + \hat{\varepsilon}_{t+1}\]

Assim comparamos as previsões dos dados de treinos com os valores observados contidos nos dados de teste.

Por conta da característica de um modelo Vetorial AutoRegressivo, é possível prever todas as séries do sistema, mas no gráfico abaixo mostramos somente a previsão da série do IPCA em 12 meses diferenciado.

Previsão do IPCA 12 meses diferenciado com Vetor AutoRegressivo

Quer aprender mais?

Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.


Referências:

  • Lütkepohl, H. (2005). New Introduction to Multiple Time Series Analysis.
  • Enders, W. (2014). Applied Econometric Time Series.
  • Statsmodels documentation - VAR

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é Agentic RAG e o que o diferencia de RAG?

Neste post, explicamos o que é o Agentic RAG, como ele se diferencia do RAG tradicional e apresentamos um estudo de caso construído com base nas Atas do COPOM, mostrando passo a passo como criar um agente que busca, avalia, reescreve e responde perguntas sobre política monetária.

Como Criar um Agente de IA Econometrista

Criar um Agente de IA Econometrista envolve construir um sistema autônomo capaz de entender uma solicitação em linguagem natural, buscar dados econômicos, realizar análises e aplicar modelos econométricos para entregar uma resposta completa. A abordagem mais eficaz é estruturar o sistema em múltiplos agentes especializados, cada um com um papel definido, que colaboram para resolver a tarefa. Neste post abordamos o desenvolvimento deste sistema de IA com Python.

Como criar um Agente de IA analista de dados

Agentes de IA podem automatizar a coleta, tratamento e análise de indicadores econômicos, entregando insights prontos para a tomada de decisão. Combinando modelos de linguagem (LLM) avançados com ferramentas de acesso a dados, é possível construir soluções que buscam informações em tempo real e as processam de forma autônoma. Neste post mostramos uma visão geral sobre como isso tudo funciona.

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.