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

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

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.