Rolling Regression e Inércia Inflacionária no R

No nosso Curso de Macroeconometria II, nós vemos diversas técnicas econométricas aplicadas a variáveis macroeconômicas reais. Para ilustrar, vamos considerar nesse comentário de conjuntura o comportamento da inércia inflacionária no período recente através da técnica de rolling regression. A abordagem de regressão recursiva é frequentemente usada na análise de séries temporais para avaliar a estabilidade dos parâmetros do modelo em relação ao tempo.

Para isso, vamos precisar carregar alguns pacotes e coletar o dado da inflação mensal diretamente do Banco Central com o pacote BETS. Você também pode usar outros pacotes para isso, como o rbcb ou o Quandl ou ainda a própria API do Banco Central.


library(BETS)
library(lmtest)
library(forecast)
library(ggplot2)
library(scales)

### Importando a inflação mensal
ipca = BETSget(433, from='1999-06-01')

Eu peguei a inflação mensal a partir de junho de 1999, quando foi o publicado o decreto executivo sobre o regime de metas para inflação. Uma vez coletada a inflação, nós podemos construir nossa rolling regression. A ideia básica da regressão recursiva é tomar uma janela de observações e andar com ela ao longo da amostra disponível. Por exemplo, podemos criar uma janela com de 48 meses e estimar o nosso modelo para as primeiras 48 observações. Guardamos o parâmetro que interessa do modelo e andamos com a nossa janela, até chegar a última observação disponível.

Para fazer isso na prática, nós vamos precisar criar um loop, que basicamente automatiza o processo de andar com a nossa janela. Para não termos que repetir o processo acima n vezes.

Para fazer isso, primeiro, vamos setar algumas coisas, como o número de parâmetros a serem guardados e o tamanho da janela da rolling regression. Além disso, vamos criar matrizes para guardar os parâmetros estimados e os seus desvios-padrão.


### Criando matrizes que guardarão coeficientes e desvios-padrões
p <- 2 # Parâmetros a serem guardados
janela <- 48 # número de meses da janela
coefs <- matrix(NA, ncol = p, nrow = length(ipca)-janela)
dps <- matrix(NA, ncol = p, nrow = length(ipca)-janela)
colnames(coefs) <- c('AR(1)', 'Intercepto')
colnames(dps) <- c('AR(1)', 'Intercepto')

Uma vez que esteja tudo preparado para receber os valores, nós precisaremos estimar o nosso modelo. A ideia aqui é basicamente estimar um modelo AR(1), guardando assim o coeficiente autorregressivo que irá medir a inércia inflacionária ao longo do tempo.


### Loop para rodar o AR(1)
for (i in 1:nrow(coefs)){
ar1 <- Arima(ipca[(1+i-1):(janela+i-1)],
order=c(1,0,0))
coefs[i,] <- coef(ar1)
dps[i,] <- coeftest(ar1)[,2]
}

Uma vez estimado o modelo e guardado os parâmetros, nós podemos criar um gráfico como abaixo, que ilustrar o comportamento da inércia inflacionária ao longo do tempo. Isto é, o comportamento do coeficiente autorregressivo do nosso modelo AR(1).

Como se pode ver, há um recuo da inércia inflacionária a partir do início de 2018.

_____________________

(*) Isso e muito mais você irá aprender no nosso Curso de Macroeconometria II.


_____________________

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

Como usar modelos do Sklearn para previsão? Uma introdução ao Skforecast

Prever séries temporais é uma tarefa frequente em diversas áreas, porém exige conhecimento e ferramentas específicas. Os modelos de machine learning do Sklearn são populadores, porém são difíceis de aplicar em estruturas temporais de dados. Neste sentido, introduzimos a biblioteca Skforecast, que integra os modelos do Sklearn e a previsão de séries temporais de forma simples.

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.