Pronosticar datos semanales
Con datos semanales, es difícil manejar la estacionalidad usando modelos ETS o ARIMA porque la longitud estacional es demasiado grande (aproximadamente 52). En su lugar, puedes usar regresión armónica, que emplea senos y cosenos para modelar la estacionalidad.
La función fourier() facilita generar las armónicas necesarias. Cuanto mayor es el orden (\(K\)), más “ondulado” puede ser el patrón estacional. Con \(K=1\), es una simple curva seno. Puedes seleccionar el valor de \(K\) minimizando el AICc. Como viste en el vídeo, fourier() recibe una serie temporal obligatoria, el número obligatorio de términos de Fourier a generar y un número opcional de filas para las que necesita pronosticar:
> # 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)
Los datos precargados gasoline recogen información semanal sobre productos de gasolina de motor terminados en EE. UU. En este ejercicio, ajustarás una regresión armónica a este conjunto de datos y pronosticarás los próximos 3 años.
Este ejercicio forma parte del curso
Forecasting en R
Instrucciones del ejercicio
- Crea una matriz
xregllamadaharmonicsusando el métodofourier()sobregasolinecon orden \(K=13\), elegido para minimizar el AICc. - Ajusta un modelo de regresión dinámica en
fit. Establecexregigual aharmonicsyseasonalaFALSEporque la estacionalidad la gestionan los regresores. - Crea una nueva matriz
xregllamadanewharmonicsde forma similar y, después, calcula los pronósticos para los próximos tres años comofc. - Por último, representa los pronósticos
fc.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
___