CommencezCommencez gratuitement

Prévisions simples à partir d'un modèle AR estimé

Maintenant que vous avez modélisé vos données avec la commande arima(), vous êtes prêt à produire des prévisions simples à partir de votre modèle. La fonction predict() permet d'obtenir des prévisions à partir d'un modèle AR estimé. Dans l'objet généré par votre commande predict(), la valeur $pred correspond à la prévision et la valeur $se à l'erreur-type de la prévision.

Pour faire des prévisions sur plusieurs périodes au-delà des dernières observations, vous pouvez utiliser l'argument n.ahead dans votre commande predict(). Cet argument fixe l'horizon de prévision (h), soit le nombre de périodes à prévoir. Les prévisions sont générées de façon récursive de 1 jusqu'à h pas en avant à partir de la fin de la série chronologique observée.

Dans cet exercice, vous effectuerez des prévisions simples à l'aide d'un modèle AR appliqué aux données Nile, qui consignent des observations annuelles du débit du Nil de 1871 à 1970.

Cette activité fait partie du cours

Analyse des séries chronologiques en R

Voir le cours

Instructions de l’exercice

  • Utilisez arima() pour ajuster un modèle AR à la série chronologique Nile. Enregistrez-le sous le nom AR_fit.
  • Utilisez predict() pour produire une prévision du débit du Nil en 1971.
  • Utilisez predict_AR avec $pred[1] pour obtenir la prévision à 1 pas.
  • Faites un autre appel à predict() pour produire des prévisions de 1 à 10 pas en avant (de 1971 à 1980). Pour ce faire, fixez l'argument n.ahead à 10.
  • Exécutez le code déjà écrit pour tracer vos données Nile ainsi que les prévisions et un intervalle de prédiction à 95 %.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code