ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește predict() pentru a genera o prognoză a debitului Nilului pentru 1971. Stochează prognoza în predict_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ă argumentul n.ahead la valoarea 10.
  • 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)
Editează și rulează codul