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

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

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.