Evaluar la precisión de pronósticos estacionales
Como aprendiste en el primer capítulo, la función window() especifica el start y el end de una serie temporal usando los tiempos relevantes en lugar de los valores de índice. Cualquiera de esos dos argumentos puede formatearse como un vector tipo c(year, period), que también has usado antes como argumento de ts(). De nuevo, aquí period se refiere al trimestre.
Aquí usarás los números trimestrales de visitantes de Melbourne (visnights[, "VICMetro"]) para crear tres conjuntos de entrenamiento distintos, omitiendo los últimos 1, 2 y 3 años, respectivamente. Inspecciona los datos pre-cargados visnights en tu consola antes de empezar el ejercicio; esto te ayudará a determinar el valor correcto para la palabra clave h (que especifica cuántos valores quieres pronosticar) en tus métodos de pronóstico.
Luego, para cada conjunto de entrenamiento, calcula el siguiente año de datos y, por último, compara el error porcentual absoluto medio (MAPE) de los pronósticos usando accuracy(). ¿Por qué crees que el MAPE varía tanto?
Este ejercicio forma parte del curso
Forecasting en R
Instrucciones del ejercicio
- Usa
window()para crear tres conjuntos de entrenamiento a partir devisnights[,"VICMetro"], omitiendo los últimos 1, 2 y 3 años; llámalostrain1,train2ytrain3, respectivamente. Ajusta la palabra claveenden consecuencia. - Calcula un año de pronósticos para cada conjunto de entrenamiento usando el método
snaive(). Llámalosfc1,fc2yfc3, respectivamente. - Siguiendo la estructura del código de ejemplo, compara el MAPE de los tres conjuntos de pronósticos usando la función
accuracy()con tu conjunto de prueba.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Create three training series omitting the last 1, 2, and 3 years
train1 <- window(visnights[, "VICMetro"], end = c(2015, 4))
train2 <- ___
train3 <- ___
# Produce forecasts using snaive()
fc1 <- snaive(___, h = ___)
fc2 <- ___
fc3 <- ___
# Use accuracy() to compare the MAPE of each series
accuracy(fc1, visnights[, "VICMetro"])["Test set", "MAPE"]
___
___