Regressão harmônica para sazonalidade múltipla
Regressões harmônicas também são úteis quando séries temporais têm múltiplos padrões sazonais. Por exemplo, taylor contém a demanda de eletricidade de meia em meia hora na Inglaterra e no País de Gales ao longo de alguns meses do ano 2000. Os períodos sazonais são 48 (sazonalidade diária) e 7 x 48 = 336 (sazonalidade semanal). Não há dados suficientes para considerar sazonalidade anual.
auto.arima() levaria muito tempo para ajustar uma série longa como esta, então, em vez disso, você vai ajustar um modelo de regressão padrão com termos de Fourier usando a função tslm(). Ela é muito semelhante a lm(), mas foi projetada para lidar com séries temporais. Com múltiplas sazonalidades, você precisa especificar a ordem K para cada um dos períodos sazonais.
# O argumento formula é uma descrição simbólica
# do modelo a ser ajustado
> args(tslm)
function (formula, ...)
tslm() é uma função recém-apresentada, então você deve conseguir acompanhar o código pré-escrito na maior parte. Os dados taylor já estão carregados no seu ambiente de trabalho.
Este exercício faz parte do curso
Previsão em R
Instruções do exercício
- Ajuste uma regressão harmônica chamada
fitataylorusando ordem 10 para cada tipo de sazonalidade. - Faça previsões para 20 dias úteis à frente como
fc. Lembre-se de que os dados são de meia em meia hora para definir corretamente o valor deh. - Crie um gráfico temporal das previsões.
- Verifique os resíduos do seu modelo ajustado. Como você pode ver,
auto.arima()teria feito um trabalho melhor.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___