Previsão com dados semanais
Com dados semanais, é difícil lidar com sazonalidade usando modelos ETS ou ARIMA, pois o período sazonal é muito grande (aproximadamente 52). Em vez disso, você pode usar regressão harmônica, que utiliza senos e cossenos para modelar a sazonalidade.
A função fourier() facilita a geração dos harmônicos necessários. Quanto maior a ordem (\(K\)), mais “ondulado” o padrão sazonal pode ser. Com \(K=1\), é uma curva seno simples. Você pode selecionar o valor de \(K\) minimizando o AICc. Como você viu no vídeo, fourier() recebe uma série temporal obrigatória, o número obrigatório de termos de Fourier a gerar e um número opcional de linhas para previsão:
> # fourier(x, K, h = NULL)
> fit <- auto.arima(cafe, xreg = fourier(cafe, K = 6),
seasonal = FALSE, lambda = 0)
> fit %>%
forecast(xreg = fourier(cafe, K = 6, h = 24)) %>%
autoplot() + ylim(1.6, 5.1)
Os dados pré-carregados gasoline reúnem observações semanais de produtos de gasolina automotiva finalizados nos EUA. Neste exercício, você vai ajustar uma regressão harmônica a esse conjunto de dados e prever os próximos 3 anos.
Este exercício faz parte do curso
Previsão em R
Instruções do exercício
- Crie uma matriz
xregchamadaharmonicsusando o métodofourier()emgasolinecom ordem \(K=13\), escolhida para minimizar o AICc. - Ajuste um modelo de regressão dinâmica em
fit. DefinaxregcomoharmonicseseasonalcomoFALSE, pois a sazonalidade é tratada pelos regressores. - Crie uma nova matriz
xregchamadanewharmonicsde forma semelhante e, em seguida, calcule as previsões para os próximos três anos comofc. - Por fim, faça o gráfico das previsões
fc.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Set up harmonic regressors of order 13
harmonics <- fourier(___, K = ___)
# Fit regression model with ARIMA errors
fit <- auto.arima(___, xreg = ___, seasonal = ___)
# Forecasts next 3 years
newharmonics <- fourier(___, K = ___, h = ___)
fc <- forecast(___, xreg = ___)
# Plot forecasts fc
___