EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea un conjunto de entrenamiento llamado train con 20 años de datos de qcement desde 1988 hasta el último trimestre de 2007; debes usar un vector para end. El resto de datos será tu conjunto de prueba.
  • Ajusta modelos ARIMA y ETS a los datos de entrenamiento y guárdalos en fit1 y fit2, 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 fc1 y fc2, respectivamente. Establece h al número total de trimestres en tu conjunto de prueba. Ten cuidado: ¡la última observación en qcement no 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 como bettermodel.

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 <- ___
Editar y ejecutar código