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

Como se comportou a Taxa de Participação no Brasil nos últimos anos? Uma Análise com a Linguagem R

O objetivo deste estudo é analisar a evolução da Taxa de Participação no Brasil, contrastando-a com a Taxa de Desocupação e decompondo suas variações para entender os vetores (populacionais e de força de trabalho) que influenciam o comportamento atual do mercado de trabalho. Para isso, utilizamos a linguagem R em todo o processo, desde a coleta e o tratamento das informações até a visualização dos resultados, empregando os principais pacotes disponíveis no ecossistema da linguagem.

Como se comportou a inflação de serviços no Brasil nos últimos anos?

Uma análise econométrica da inflação de serviços no Brasil comparando os cenários de 2014 e 2025. Utilizando uma Curva de Phillips própria e estimativas da NAIRU via filtro HP, investigamos se o atual desemprego nas mínimas históricas repete os riscos do passado. Entenda como as expectativas de inflação e o hiato do desemprego explicam o comportamento mais benigno dos preços atuais em relação à década anterior.

Como se comportou o endividamento e a inadimplência nos últimos anos? Uma análise utilizando a linguagem R

Neste exercício realizamos uma análise sobre a inadimplência dos brasileiros no período recente, utilizando a linguagem R para examinar dados públicos do Banco Central e do IBGE. Investigamos a evolução do endividamento, da inadimplência e das concessões de crédito, contextualizando-os com as dinâmicas da política monetária (Taxa Selic) e do mercado de trabalho (renda e desemprego).

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.