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

Coletando e integrando dados do BCB, IBGE e IPEA de forma automatizada

Quem trabalha com modelagem e previsão macroeconômica sabe o quanto é demorado reunir dados de diferentes fontes — Banco Central, IBGE, IPEA, FRED, IFI... Cada um com sua API, formato, frequência e estrutura. Esse gargalo de coleta e padronização consome tempo que poderia estar sendo usado na análise, nos modelos ou na comunicação dos resultados.

Foi exatamente por isso que criamos uma rotina de coleta automatizada, que busca, trata e organiza séries temporais econômicas diretamente das APIs oficiais, pronta para ser integrada a pipelines de previsão, dashboards ou agentes de IA econometristas.

Criando operações SQL com IA Generativa no R com querychat

No universo da análise de dados, a velocidade para obter respostas é um diferencial competitivo. Frequentemente, uma simples pergunta de negócio — “Qual foi nosso produto mais vendido no último trimestre na região Nordeste?” — inicia um processo que envolve abrir o RStudio, escrever código dplyr ou SQL, executar e, finalmente, obter a resposta. E se pudéssemos simplesmente perguntar isso aos nossos dados em português, diretamente no nosso dashboard Shiny?

Dashboard Financeiro com IA e Shiny Python: Análise de Dados Abertos da CVM

Este artigo apresenta um tutorial completo sobre como construir uma ferramenta de análise financeira de ponta. Utilizando Shiny for Python, demonstramos a automação da coleta de dados das Demonstrações Financeiras Padronizadas (DFP) da CVM e o tratamento dessas informações com Pandas. O ponto alto do projeto é a integração da IA Generativa do Google Gemini, que atua como um assistente de análise, interpretando os dados filtrados pelo usuário e fornecendo insights contábeis e financeiros em tempo real. O resultado é um dashboard dinâmico que democratiza a análise de dados complexos e acelera a tomada de decisão.

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.