ComenzarEmpieza gratis

Pronósticos sencillos a partir de un modelo MA estimado

Ahora que has estimado un modelo MA con tus datos de Nile, el siguiente paso es hacer algunos pronósticos sencillos con tu modelo. Como con otros tipos de modelos, puedes usar la función predict() para generar pronósticos simples a partir de tu modelo MA estimado. Recuerda que el valor $pred es el pronóstico, mientras que $se es el error estándar de ese pronóstico; ambos se basan en el modelo MA ajustado.

Una vez más, para hacer predicciones para varios periodos más allá de la última observación puedes usar el argumento n.ahead = h en tu llamada a predict(). Los pronósticos se generan de forma recursiva de 1 a h pasos por delante desde el final de la serie temporal observada. No obstante, ten en cuenta que, salvo el pronóstico a 1 paso, todos los pronósticos del modelo MA son iguales a la media estimada (intercept).

En este ejercicio, usarás el modelo MA obtenido de tus datos de Nile para hacer pronósticos sencillos sobre los futuros caudales del río Nilo. Tu modelo MA del ejercicio anterior está disponible en tu entorno.

Este ejercicio forma parte del curso

Análisis de series temporales en R

Ver curso

Instrucciones del ejercicio

  • Usa predict() para hacer un pronóstico del caudal del río Nilo en 1971. Guarda el pronóstico en predict_MA.
  • Usa predict_MA junto con $pred[1] para obtener el pronóstico a 1 paso.
  • Haz otra llamada a predict() para generar un pronóstico desde 1971 hasta 1980. Para ello, establece el argumento n.ahead igual a 10.
  • Ejecuta el código ya escrito para representar la serie temporal Nile junto con el pronóstico y los intervalos de predicción al 95%.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Make a 1-step forecast based on MA
predict_MA <-

# Obtain the 1-step forecast using $pred[1]


# Make a 1-step through 10-step forecast based on MA


# Plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
MA_forecasts <- predict(MA, n.ahead = 10)$pred
MA_forecast_se <- predict(MA, n.ahead = 10)$se
points(MA_forecasts, type = "l", col = 2)
points(MA_forecasts - 2*MA_forecast_se, type = "l", col = 2, lty = 2)
points(MA_forecasts + 2*MA_forecast_se, type = "l", col = 2, lty = 2)
Editar y ejecutar código