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
Instrucciones del ejercicio
- Usa
predict()para hacer un pronóstico del caudal del río Nilo en 1971. Guarda el pronóstico enpredict_MA. - Usa
predict_MAjunto 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 argumenton.aheadigual a10. - Ejecuta el código ya escrito para representar la serie temporal
Nilejunto 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)