Modelo Prophet no R

O Prophet é um modelo produzido pelo Facebook, com o objetivo de prever dados diários com sazonalidade semanal e anual, mais efeitos de feriados. No post de hoje, utilizaremos o modelo no R aplicando um exemplo com os dados de demanda de energia elétrica no Brasil.

O modelo Prophet é um modelo de séries temporais que leva em consideração diversos componentes. Em geral, é considerado um modelo de regressão não linear na seguinte forma:

     $$y_t = g(t) + s(t) + h(t) + \varepsilon_t$$

Onde g(t) descreve o termo de crescimento (a tendência linear) , s(t) descreve os vários padrões sazonais, h(t) captura os efeitos de feriados e $\varepsilon_t$ é o termo de erro em forma de ruído branco.

Podemos ilustrar o uso do modelo Prophet no R utilizando o pacote {fable.prophet}, que faz parte da família de pacotes de séries temporais, tidyverts, no uso de dados da Curva de demanda de energia por hora disponibilizada pela ONS. Os dados referem-se ao ano de 2022.

Abaixo, carregamos os pacotes.


library(tidyverse)
library(fable.prophet)
library(fable)
library(tsibbledata)
library(feasts)

Para obter o código de importação do dataset, da construção dos gráficos e também dos códigos subsequentes, faça parte do Clube AM, o repositório especial da Análise Macro.

Vamos olhar os dados da Curva para cada região. Vemos que há um padrão de várias sazonalidades nas curvas. Podemos entender que há a possibilidade usa-las no modelo Prophet.

Aplicando o modelo, o resultado será a decomposição das séries. Vemos abaixo o resultado para a região Norte.

Em ordem para verificar se o modelo produziu estimativas corretas, verificamos os termos de erros para confirmar se são de fato ruído branco.

O gráfico sugere que há autocorrelação nos termos de erros, o que implica que não é ruído branco, bem como podemos adicionar mais variáveis para explicar o uso de energia elétrica (tal como o efeito de feriados e a temperatura).

________________________________________________

Quer se aprofundar no assunto?

Alunos da trilha de Ciência de dados para Economia e Finanças podem aprender a como construir projetos que envolvem dados reais usando modelos econométricos e de Machine Learning com o R.

Referências
Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts: Melbourne, Australia. OTexts.com/fpp3.

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.