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

Resultado PIB - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PIB 3º trimestre de 2024, com gráficos e tabelas elaborados em Python para coleta, tratamento e visualização de dados.

Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Como treinar e selecionar os melhores modelos de previsão no Python?

Em previsão, há uma infinidade de modelos que podem ser usados. O processo de escolha do(s) modelo(s) deve ser empírico-científico, usando métodos que visem avaliar a generalização dos algoritmos para dados novos. Neste artigo, mostramos como implementar a metodologia de validação cruzada com algoritmos de machine learning no Python, exemplificando para a previsão do IPCA.

Como selecionar variáveis para modelos de previsão no Python?

Em oposição à crença popular, grande parte dos modelos de machine learning não produzem previsões magicamente. É papel do cientista de dados executar uma boa engenharia de variáveis para não cair no clássico problema de “garbage in, garbage out” (GIGO) em aprendizado de máquina. Neste sentido, aprender a fazer uma boa seleção de variáveis é fundamental e neste artigo exploramos algumas possibilidades práticas usando o Python.

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.