Kom igångKom igång gratis

Enkla prognoser från en skattad MA-modell

Nu när du har skattat en MA-modell med dina Nile-data är nästa steg att göra enkla prognoser med modellen. Precis som för andra modelltyper kan du använda funktionen predict() för att göra enkla prognoser från din skattade MA-modell. Kom ihåg att värdet $pred är prognosen och att $se är standardfelet för prognosen – båda baseras på den anpassade MA-modellen.

På samma sätt som tidigare kan du använda argumentet n.ahead = h i ditt anrop till predict() för att göra prognoser för flera perioder efter den sista observationen. Prognosen beräknas rekursivt från 1 upp till h steg framåt från slutet av tidsserien. Observera dock att alla prognoser från MA-modellen, förutom 1-stegs-prognosen, är lika med det skattade medelvärdet (intercept).

I den här övningen använder du MA-modellen som härletts från dina Nile-data för att göra enkla prognoser om framtida flödesnivåer i Nilen. Din MA-modell från föregående övning finns tillgänglig i din miljö.

Den här övningen är en del av kursen

Tidsserieanalys i R

Visa kurs

Övningsinstruktioner

  • Använd predict() för att göra en prognos för Nilens flödesnivå år 1971. Spara prognosen i predict_MA.
  • Använd predict_MA tillsammans med $pred[1] för att hämta 1-stegs-prognosen.
  • Gör ytterligare ett anrop till predict() för att skapa en prognos från 1971 till 1980. Ange argumentet n.ahead till 10.
  • Kör den färdigskrivna koden för att plotta tidserien Nile tillsammans med prognosen och 95-procentiga prediktionsintervall.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod