BaşlayınÜcretsiz başlayın

Tahmin edilen bir AR modelinden basit öngörüler

Artık verini arima() komutuyla modellediğine göre, modeline dayalı basit öngörüler yapmaya hazırsın. Tahmin edilen bir AR modelinden öngörü üretmek için predict() fonksiyonunu kullanabilirsin. predict() komutunun ürettiği nesnede, $pred değeri öngörüleri, $se değeri ise öngörülerin standart hatasını verir.

Son gözlemlerin ötesindeki birkaç dönem için tahmin yapmak istersen, predict() komutunda n.ahead argümanını kullanabilirsin. Bu argüman, tahmin ufkunu (h) yani tahmin edilen dönem sayısını belirler. Öngörüler, gözlenen zaman serisinin sonundan itibaren 1’den h-adım öteye kadar özyinelemeli olarak üretilir.

Bu egzersizde, 1871’den 1970’e kadar Nil Nehri’nin yıllık akışını kaydeden Nile verisine uygulanmış bir AR modeliyle basit öngörüler yapacaksın.

Bu egzersiz, kursun bir parçasıdır

R ile Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • arima() kullanarak Nile zaman serisine bir AR modeli uydur. Bunu AR_fit olarak kaydet.
  • 1971 yılı için Nil’in akışı üzerine bir öngörü yapmak üzere predict() kullan.
  • 1-adımlık öngörüyü elde etmek için predict_AR ile birlikte $pred[1] kullan.
  • 1 adımdan 10 adıma kadar (1971’den 1980’e) öngörüler yapmak için predict()’i tekrar çağır. Bunu yapmak için n.ahead argümanını 10 olarak ayarla.
  • Nile verini, öngörüleri ve %95’lik bir tahmin aralığını birlikte çizmek için önceden yazılmış kodu çalıştır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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)
Kodu Düzenle ve Çalıştır