11.10 Prophet
Prophet é um modelo aditivo proposto por (S. J. Taylor and Letham 2018, 7) em que as tendências não lineares são ajustadas à sazonalidade anual, semanal e diária, além dos efeitos de feriados. Os autores utilizam um modelo de série temporal decomponível (Harvey and Peters 1990, 90) de três componentes:
- \(g(t)\): função de tendência que modela mudanças não periódicas no valor da série temporal
- \(s(t)\): mudanças periódicas (por exemplo, sazonalidade semanal e anual)
- \(h(t)\): efeitos de feriados que ocorrem em horários potencialmente irregulares ao longo de um ou mais dias
Estas componentes são combinadas conforme equação a seguir.
\[\begin{equation} y(t) = g(t) + s(t) + h(t) + a_t \tag{11.34} \end{equation}\]
Os autores apontam tabém que esta formulação fornece uma série de vantagens práticas em relação à modelagem ARIMA, tais como:
- Ajuste rápido;
- O modelo de previsão tem parâmetros facilmente interpretáveis;
- Flexibilidade para acomodar a sazonalidade com vários períodos;
- As medições não precisam ser regularmente espaçadas e não é necessário interpolar valores faltantes.
(S. J. Taylor and Letham 2023) apresentam o pacote prophet
21, no qual implementam o modelo que “funciona melhor com séries temporais com fortes efeitos sazonais e várias temporadas de dados históricos”. Os autores ainda comentam que “[o] Prophet é robusto para dados faltantes e mudanças na tendência, e usualmente lida bem com outliers”.
Exemplo 11.47 Exemplo baseado na documentação de prophet::prophet()
.
library(prophet)
set.seed(42)
history <- data.frame(ds = seq(as.Date('2023-01-01'),
as.Date('2024-01-01'), by = 'd'),
y = sin(1:366/200) + rnorm(366)/10)
plot(history, type = 'l', main = 'Dados diários simulados')
m <- prophet::prophet(history)
future <- prophet::make_future_dataframe(m, periods = 30)
forecast <- predict(m, future)
plot(m, forecast)
References
Conforme informação do repositório GitHub do prophet, “[a] versão CRAN do prophet está bem desatualizada. Para obter as últimas correções de bugs e dados atualizados de feriados do país, sugerimos instalar a versão mais recente”.↩︎