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
Övningsinstruktioner
- Använd
predict()för att göra en prognos för Nilens flödesnivå år 1971. Spara prognosen ipredict_MA. - Använd
predict_MAtillsammans 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 argumentetn.aheadtill10. - Kör den färdigskrivna koden för att plotta tidserien
Niletillsammans 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)