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

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

Teď, když jsi namodeloval/a data pomocí příkazu arima(), je čas sestavit jednoduché předpovědi na základě tohoto modelu. K vytváření předpovědí z odhadnutého AR modelu slouží funkce predict(). V objektu, který příkaz predict() vrátí, najdeš v hodnotě $pred samotnou předpověď a v hodnotě $se její standardní chybu.

Pokud chceš předpovídat více period dopředu za posledním pozorováním, použij v příkazu predict() argument n.ahead. Ten určuje horizont předpovědi (h), tedy počet period, pro které se předpověď sestavuje. Předpovědi se počítají rekurzivně od 1 do h kroků dopředu od konce pozorované časové řady.

V tomto cvičení sestavíš jednoduché předpovědi pomocí AR modelu aplikovaného na data Nile, která zaznamenávají roční průtok řeky Nil v letech 1871 až 1970.

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

Analýza časových řad v R

Zobrazit kurz

Pokyny k cvičení

  • Pomocí arima() nafituj AR model na časovou řadu Nile. Výsledek ulož jako AR_fit.
  • Pomocí predict() sestav předpověď průtoku Nilu pro rok 1971.
  • Použij predict_AR spolu s $pred[1] k získání předpovědi 1 krok dopředu.
  • Zavolej predict() znovu a sestav předpovědi od 1 do 10 kroků dopředu (1971 až 1980). K tomu nastav argument n.ahead na hodnotu 10.
  • Spusť předpřipravený kód, který vykreslí data Nile spolu s předpověďmi a 95% predikčním intervalem.

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

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

# Fit an AR model to Nile
AR_fit <- arima(___, order  = ___)
print(AR_fit)

# Use predict() to make a 1-step forecast
predict_AR <- predict(___)

# Obtain the 1-step forecast using $pred[1]


# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)

# Run to plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
AR_forecast <- predict(AR_fit, n.ahead = 10)$pred
AR_forecast_se <- predict(AR_fit, n.ahead = 10)$se
points(AR_forecast, type = "l", col = 2)
points(AR_forecast - 2*AR_forecast_se, type = "l", col = 2, lty = 2)
points(AR_forecast + 2*AR_forecast_se, type = "l", col = 2, lty = 2)
Upravit a spustit kód