Gerando Previsões Combinadas para a Inflação a partir dos grupos do IPCA

A inflação cheia medida pelo IPCA em um período t qualquer nada mais é do que a soma da contribuição da inflação em cada um dos seus nove grupos, de acordo com os pesos dos mesmos no índice. Em outros termos,

(1)   \begin{align*} \pi_t = \sum_{i=1}^{9} \pi_{t,i}^{g} p_{t,i}^{g} \end{align*}

onde \pi_t é a inflação cheia, \pi_{t,i}^{g} é a inflação em t no grupo i e p_{t,i}^{g} é o peso em t do grupo i no índice cheio. De modo a ilustrar, podemos baixar com o pacote sidrar, as variações e os pesos desses nove grupos do IPCA, conforme o código abaixo.


## Pacotes
library(sidrar)
library(ggplot2)
library(forecast)
library(timetk)
library(zoo)
library(scales)
library(tidyverse)

## Baixar e tratar os dados
tab1 = get_sidra(api='/t/2938/n1/all/v/63,66/p/all/c315/7170,7445,7486,7558,7625,7660,7712,7766,7786/d/v63%202,v66%204')
tab2 = get_sidra(api='/t/1419/n1/all/v/63,66/p/all/c315/7170,7445,7486,7558,7625,7660,7712,7766,7786/d/v63%202,v66%204')
tab3 = get_sidra(api='/t/7060/n1/all/v/63,66/p/all/c315/7170,7445,7486,7558,7625,7660,7712,7766,7786/d/v63%202,v66%204')

series = c(7170, 7445, 7486, 7558, 7625, 7660,
7712, 7766, 7786)

names = c('Alimentos', 'Habitação', 'Art de Resid',
'Vestuário', 'Transporte', 'Saúde e cuid pessoais',
'Despesas Pessoas', 'Educação', 'Comunicação')

var1 <- matrix(NA, ncol=length(series),
nrow=nrow(tab1)/length(series)/2)

peso1 <- matrix(NA, ncol=length(series),
nrow=nrow(tab1)/length(series)/2)

var2 <- matrix(NA, ncol=length(series),
nrow=nrow(tab2)/length(series)/2)

peso2 <- matrix(NA, ncol=length(series),
nrow=nrow(tab2)/length(series)/2)

var3 <- matrix(NA, ncol=length(series),
nrow=nrow(tab3)/length(series)/2)

peso3 <- matrix(NA, ncol=length(series),
nrow=nrow(tab3)/length(series)/2)

for(i in 1:length(series)){

var1[,i] <- tab1Valor[tab1`Variável (Código)`==63&
tab1`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]  var2[,i] <- tab2Valor[tab2`Variável (Código)`==63& tab2`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

var3[,i] <- tab3Valor[tab3`Variável (Código)`==63&
tab3`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]  peso1[,i] <- tab1Valor[tab1`Variável (Código)`==66& tab1`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

peso2[,i] <- tab2Valor[tab2`Variável (Código)`==66&
tab2`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]  peso3[,i] <- tab3Valor[tab3`Variável (Código)`==66& tab3`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]
}

variacao = ts(rbind(var1, var2, var3), start=c(2006,07), freq=12)
peso = ts(rbind(peso1, peso2, peso3), start=c(2006,07), freq=12)

Assim, a inflação medida pelo IPCA nada mais será do que a variação vezes o respectivo peso do grupo. Com isso em mente, nós podemos gerar a previsão para cada grupo e depois recuperar a previsão da inflação cheia a partir dessas previsões individuais. O resultado é exposto no gráfico abaixo.

A previsão para a inflação em janeiro, por essa metodologia, é de 0,47%.

________________

(*) Para aprender a fazer esse tipo de projeção, veja nossos cursos de Previsão Macroeconométrica e Modelos Preditivos aplicados à Macroeconomia.

(**) Os códigos completos do exercício estão disponíveis no Clube AM.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise regional do mercado de trabalho com dados do CAGED usando Python

Os microdados dos CAGED fornecem informações detalhadas a nível de cidade, sexo, raça, nível de instrução, idade, salário e outras sobre os trabalhadores formais do Brasil, possibilitando ricas análises regionais de dados. Neste artigo mostramos como acessar, processar e analisar estes dados utilizando o Python.

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

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.