Prévisions simples à partir d'un modèle MA estimé
Maintenant que vous avez estimé un modèle MA avec vos données Nile, l'étape suivante consiste à produire quelques prévisions simples avec ce modèle. Comme pour d'autres types de modèles, vous pouvez utiliser la fonction predict() pour obtenir des prévisions simples à partir de votre modèle MA estimé. Rappelez-vous que la valeur $pred correspond à la prévision, tandis que la valeur $se est l'erreur-type de cette prévision, chacune étant calculée à partir du modèle MA ajusté.
Encore une fois, pour faire des prévisions sur plusieurs périodes au-delà de la dernière observation, vous pouvez utiliser l'argument n.ahead = h dans votre appel à predict(). Les prévisions sont générées de façon récursive de 1 à h étapes à partir de la fin de la série chronologique observée. Toutefois, notez qu'à l'exception de la prévision à 1 étape, toutes les prévisions d'un modèle MA sont égales à la moyenne estimée (intercept).
Dans cet exercice, vous utiliserez le modèle MA obtenu à partir de vos données Nile pour faire des prévisions simples des débits futurs du Nil. Votre modèle MA de l'exercice précédent est disponible dans votre environnement.
Cette activité fait partie du cours
Analyse des séries chronologiques en R
Instructions de l’exercice
- Utilisez
predict()pour produire une prévision du débit du Nil en 1971. Stockez la prévision danspredict_MA. - Utilisez
predict_MAavec$pred[1]pour obtenir la prévision à 1 étape. - Faites un autre appel à
predict()pour obtenir des prévisions de 1971 à 1980. Pour ce faire, fixez l'argumentn.aheadà10. - Exécutez le code fourni pour tracer la série
Nileainsi que la prévision et les intervalles de prédiction à 95 %.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)