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

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

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.