ComenzarEmpieza gratis

Pronósticos simples a partir de un modelo AR estimado

Ahora que has modelado tus datos usando el comando arima(), estás listo para hacer pronósticos simples basados en tu modelo. La función predict() se puede usar para generar pronósticos a partir de un modelo AR estimado. En el objeto que genera tu comando predict(), el valor $pred es el pronóstico y el valor $se es el error estándar del pronóstico.

Para hacer predicciones para varios periodos más allá de las últimas observaciones, puedes usar el argumento n.ahead en tu comando predict(). Este argumento establece el horizonte de pronóstico (h), es decir, el número de periodos que se pronostican. Los pronósticos se realizan recursivamente desde 1 hasta h pasos por delante desde el final de la serie temporal observada.

En este ejercicio, harás pronósticos simples usando un modelo AR aplicado a los datos de Nile, que registran observaciones anuales del caudal del río Nilo de 1871 a 1970.

Este ejercicio forma parte del curso

Análisis de series temporales en R

Ver curso

Instrucciones del ejercicio

  • Usa arima() para ajustar un modelo AR a la serie temporal Nile. Guárdalo como AR_fit.
  • Usa predict() para hacer un pronóstico del caudal del Nilo en 1971.
  • Usa predict_AR junto con $pred[1] para obtener el pronóstico a 1 paso.
  • Haz otra llamada a predict() para generar pronósticos desde 1 hasta 10 pasos por delante (1971 a 1980). Para ello, establece el argumento n.ahead igual a 10.
  • Ejecuta el código ya escrito para representar tus datos de Nile más los pronósticos y un intervalo de predicción del 95%.

Ejercicio interactivo práctico

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

# Fit an AR model to Nile
AR_fit <- arima(___, order  = ___)
print(AR_fit)

# Use predict() to make a 1-step forecast
predict_AR <- predict(___)

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


# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)

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