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
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_MAa$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 argumentn.aheadna hodnotu10. - Spusť předpřipravený kód, který vykreslí časovou řadu
Nilespolu 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)