Dicas de R: o pacote seasonal

Fala galera, nessa semana no Dicas de R vamos fazer um overview do pacote seasonal. Criado para a dessazonalização de séries, o pacote é uma interface em R para o X13-ARIMA-SEATS, permitindo que você possa utilizar as funcionalidades desse programa dentro do próprio R. Vamos testar utilizar ele para a série da variação mensal do IPCA, então começamos a análise importando os dados:

library(sidrar)
library(tidyverse)
library(lubridate)
library(ggplot2)
library(scales)

ipca_base <- get_sidra(api = "/t/1737/n1/all/p/all/v/63")

ipca <- ipca_base %>% #ipca trimestralizado
mutate(date = parse_date_time(`Mês (Código)`, "ym")) %>%
select(Valor, date) %>%
filter(date > "2003-05-01")

ggplot(ipca, aes(x=as.Date(date), y=Valor, color=factor(year(date))))+geom_line(size=1.05)+
scale_color_manual(values = rep(c("#36879c", "#26ed6c"), times = 10)) +
scale_x_date(breaks = date_breaks("2 years"),
labels = date_format("%Y")) +
labs(x='', y='%', title = 'Variação mensal do IPCA',
caption = 'Fonte: SIDRA e Análise Macro') +
theme_light() +
theme(axis.text.x=element_text(angle=45, hjust=1),
legend.position = 'none',
strip.text = element_text(size=10, face='bold'))

Como podemos ver no gráfico, a inflação aparenta apresentar uma sazonalidade forte, sendo mais alta nos meses iniciais e finais do ano. Isso indica que parte de sua trajetória é descrita por equações predeterminadas, logo se quisermos analisar o impacto de outras variáveis sobre a inflação, precisamos extrair os componentes idiossincráticos de cada período, ou seja, o "ruído" que realmente pode ter sido impactado por tais variáveis. A extração pode ser feita com diversos métodos, como a função decompose() do R base. Vamos agora fazer ela com o seasonal:

library(seasonal)

ipcats <- ts(ipca$Valor, start = c(2003, 6), frequency = 12)

dessaz <- seas(ipcats, x11 = "")

plot(dessaz)

No código acima, importamos o pacote, transformamos os dados em série temporal, e rodamos a função seas() que faz o ajuste sazonal, utilizando o método X11. É possível converter quase toda especificação de código do X13-ARIMA-SEATS para o R, como apresentado na página de exemplos do site do pacote. Uma especificação interessante é o gráfico da sazonalidade estimada:

plot(dessaz$series$d10, xlab = "Sazonalidade", ylab="Ano", main = "Componente sazonal do IPCA")


Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Aplicando o Time Series Transformer para prever inflação (IPCA)

Neste exercício, exploramos a previsão de séries temporais utilizando o Temporal Fusion Transformer (TFT). O TFT é uma arquitetura de Deep Learning baseada em mecanismos de atenção, desenhada especificamente para lidar com múltiplas variáveis e horizontes de previsão longos, mantendo a interpretabilidade — uma característica frequentemente ausente em modelos de "caixa-preta".

Análise do Payroll norte-americano com Python

O Payroll norte-americano é o termômetro da economia global. No post de hoje, mostro como analisar esse indicador usando Python e as bibliotecas Pandas e Plotnine. Saia do básico e aprenda a visualizar a geração de empregos nos EUA de forma profissional.

O papel da credibilidade do Banco Central na desinflação da economia

O objetivo deste trabalho é mensurar a credibilidade da política monetária brasileira através de diferentes métricas e verificar empiricamente se uma maior credibilidade contribui para a redução da inflação. Realizamos a modelagem econométrica usando o pacote {systemfit} disponível na linguagem. Ao fim, criamos um relatório reprodutível com a combinação Quarto + R.

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.