Gerando previsões combinadas para a inflação a partir dos grupos do IPCA

[et_pb_section admin_label="section"][et_pb_row admin_label="row"][et_pb_column type="1_2"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Abel||||" text_font_size="21" use_border_color="off" border_color="#ffffff" border_style="solid"]

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.

[/et_pb_text][/et_pb_column][et_pb_column type="1_2"][et_pb_image admin_label="Imagem" src="https://analisemacro.com.br/wp-content/uploads/2018/08/ultimosdias4.png" show_in_lightbox="off" url="https://analisemacro.com.br/cursos-de-r/" url_new_window="off" use_overlay="off" animation="off" sticky="off" align="center" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid"]

 

[/et_pb_image][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Abel||||" text_font_size="21" use_border_color="off" border_color="#ffffff" border_style="solid"]

Com o uso do R, podemos baixar com o pacote sidrar, as variações e os pesos desses nove grupos do IPCA diretamente do site do SIDRA/IBGE, conforme o código abaixo.


## Carregar pacotes
library(sidrar)
## 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')

Uma vez que tenhamos baixado os dados, é preciso organizá-los, transformando-os em uma matriz legível. Isso é feito com o código a seguir.


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)

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

var1[,i] = tab1$Valor[tab1$`Variável (Código)`==63&
tab1$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

var2[,i] = tab2$Valor[tab2$`Variável (Código)`==63&
tab2$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

peso1[,i] = tab1$Valor[tab1$`Variável (Código)`==66&
tab1$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

peso2[,i] = tab2$Valor[tab2$`Variável (Código)`==66&
tab2$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]
}

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

colnames(variacao) = names
colnames(peso) = names

Pronto! Agora, temos uma matriz que contém a variação dos nove grupos, desde julho de 2006; e outra que contém os pesos desses grupos para o mesmo período. Desse modo, a inflação cheia será a soma das variações vezes os respectivos pesos. Isto é,


ipca = ts(round(rowSums(variacao*peso/100),2), 
start=c(2006,07), freq=12)

O gráfico a seguir ilustra...

Uma vez entendido o processo, fica fácil agora gerar previsões para a inflação cheia a partir dos nove grupos, não é mesmo? Basta que se gere previsões de n passos para cada um dos grupos e depois some essas previsões, ponderando pelos respectivos pesos, de modo a obter uma previsão da inflação cheia. Legal, né? 🙂

Saiba mais sobre modelagem e previsão com o R em nossos cursos de Macroeconometria usando o R, Séries Temporais usando o R e Construção de Cenários e previsões usando o R.

[/et_pb_text][et_pb_image admin_label="Imagem" src="https://analisemacro.com.br/wp-content/uploads/2017/11/cursosaplicados.png" show_in_lightbox="off" url="https://analisemacro.com.br/cursos-de-r/" url_new_window="off" use_overlay="off" animation="off" sticky="off" align="center" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid"]

 

[/et_pb_image][/et_pb_column][/et_pb_row][/et_pb_section]

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.