Prognoze simple dintr-un model MA estimat
Acum că ai estimat un model MA pe datele Nile, pasul următor este să faci câteva prognoze simple cu ajutorul acestuia. Ca și în cazul altor tipuri de modele, poți folosi funcția predict() pentru a genera prognoze simple dintr-un model MA estimat. Reține că valoarea $pred reprezintă prognoza, iar $se este eroarea standard asociată acesteia – ambele bazate pe modelul MA ajustat.
Pentru a face predicții pentru mai multe perioade după ultima observație, poți folosi argumentul n.ahead = h în apelul funcției predict(). Prognozele sunt generate recursiv, de la 1 până la h pași înainte față de sfârșitul seriei de timp observate. Totuși, reține că, exceptând prognoza pentru 1 pas înainte, toate prognozele modelului MA sunt egale cu media estimată (intercept).
În acest exercițiu, vei folosi modelul MA derivat din datele Nile pentru a face prognoze simple despre nivelurile viitoare ale debitului Nilului. Modelul MA din exercițiul anterior este disponibil în mediul tău de lucru.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în R
Instrucțiuni pentru exercițiu
- Folosește
predict()pentru a genera o prognoză a debitului Nilului pentru 1971. Stochează prognoza înpredict_MA. - Folosește
predict_MAîmpreună cu$pred[1]pentru a obține prognoza pentru 1 pas înainte. - Apelează din nou
predict()pentru a genera o prognoză pentru perioada 1971–1980. Pentru aceasta, setează argumentuln.aheadla valoarea10. - Rulează codul pregătit în avans pentru a reprezenta grafic seria de timp
Nile, împreună cu prognoza și intervalele de predicție de 95%.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)