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

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.

Econometria, ML ou IA para previsão da PMS?

Prever a Pesquisa Mensal de Serviços (PMS/IBGE) é um desafio por natureza: trata-se de uma série mensal, sujeita a volatilidade e choques que vão de fatores sazonais a mudanças estruturais no setor. Para enfrentar esse problema, realizamos um exercício de comparação entre três abordagens de modelagem: econometria tradicional (ARIMA), machine learning (XGBoost) e inteligência artificial (TimeGPT).

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.