Comparar auto.arima() y ets() en datos estacionales
¿Qué ocurre cuando quieres crear conjuntos de entrenamiento y prueba para datos con una frecuencia mayor que anual? Si hace falta, puedes usar un vector con la forma c(year, period) para las palabras clave start y/o end en la función window(). También debes asegurarte de usar los valores adecuados de h en las funciones de pronóstico. Recuerda que h debe ser igual a la longitud de los datos que componen tu conjunto de prueba.
Por ejemplo, si tus datos abarcan 15 años, tu conjunto de entrenamiento incluye los primeros 10 años y quieres pronosticar los últimos 5 años, usarías h = 12 * 5 y no h = 5 porque tu conjunto de prueba incluiría 60 observaciones mensuales. Si en cambio tu conjunto de entrenamiento incluye los primeros 9,5 años y quieres pronosticar los últimos 5,5 años, usarías h = 66 para tener en cuenta los 6 meses adicionales.
En el ejercicio final de este capítulo, compararás modelos ARIMA estacionales y ETS aplicados a los datos trimestrales de producción de cemento qcement. Como la serie es muy larga, puedes permitirte usar un conjunto de entrenamiento y otro de prueba en lugar de validación cruzada de series temporales. Esto es mucho más rápido.
Los datos qcement están disponibles en tu espacio de trabajo.
Este ejercicio forma parte del curso
Forecasting en R
Instrucciones del ejercicio
- Crea un conjunto de entrenamiento llamado
traincon 20 años de datos deqcementdesde 1988 hasta el último trimestre de 2007; debes usar un vector paraend. El resto de datos será tu conjunto de prueba. - Ajusta modelos ARIMA y ETS a los datos de entrenamiento y guárdalos en
fit1yfit2, respectivamente. - Igual que en ejercicios anteriores, comprueba que ambos modelos tienen residuos de ruido blanco.
- Genera pronósticos para los datos restantes con ambos modelos como
fc1yfc2, respectivamente. Establecehal número total de trimestres en tu conjunto de prueba. Ten cuidado: ¡la última observación enqcementno es el último trimestre del año! - Usando la función
accuracy(), encuentra el mejor modelo basándote en el valor de RMSE y guárdalo comobettermodel.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Use 20 years of the qcement data beginning in 1988
train <- window(___, start = ___, end = ___)
# Fit an ARIMA and an ETS model to the training data
fit1 <- ___
fit2 <- ___
# Check that both models have white noise residuals
___
___
# Produce forecasts for each model
fc1 <- forecast(___, h = ___)
fc2 <- forecast(___, h = ___)
# Use accuracy() to find better model based on RMSE
accuracy(___, ___)
accuracy(___, ___)
bettermodel <- ___