EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Usa window() para crear tres conjuntos de entrenamiento a partir de visnights[,"VICMetro"], omitiendo los últimos 1, 2 y 3 años; llámalos train1, train2 y train3, respectivamente. Ajusta la palabra clave end en consecuencia.
  • Calcula un año de pronósticos para cada conjunto de entrenamiento usando el método snaive(). Llámalos fc1, fc2 y fc3, 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"]
___
___
Editar y ejecutar código