Začněte nyníZačněte zdarma

Jednoduché předpovědi z odhadnutého modelu MA

Teď, když máš odhadnutý model MA pro data Nile, je dalším krokem udělat jednoduché předpovědi. Stejně jako u jiných typů modelů můžeš k vytváření předpovědí z odhadnutého modelu MA použít funkci predict(). Připomeň si, že hodnota $pred je samotná předpověď, zatímco $se je její standardní chyba — obojí vychází z natrénovaného modelu MA.

Pro předpovědi několik období za posledním pozorováním použij argument n.ahead = h ve volání predict(). Předpovědi se počítají rekurzivně od 1 až po h kroků dopředu od konce pozorované časové řady. Všimni si ale, že všechny předpovědi modelu MA s výjimkou té na 1 krok dopředu jsou rovny odhadnutému průměru (intercept).

V tomto cvičení použiješ model MA odvozený z dat Nile k vytvoření jednoduchých předpovědí budoucích průtoků řeky Nil. Model MA z předchozího cvičení máš k dispozici ve svém prostředí.

Toto cvičení je součástí kurzu

Analýza časových řad v R

Zobrazit kurz

Pokyny k cvičení

  • Pomocí predict() vytvoř předpověď průtoku řeky Nil pro rok 1971. Výsledek ulož do proměnné predict_MA.
  • Pomocí predict_MA a $pred[1] získej předpověď na 1 krok dopředu.
  • Dalším voláním predict() vytvoř předpověď pro období 1971 až 1980. K tomu nastav argument n.ahead na hodnotu 10.
  • Spusť předpřipravený kód, který vykreslí časovou řadu Nile spolu s předpovědí a 95% predikčními intervaly.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód