Peramalan sederhana dari model MA yang diestimasi
Sekarang setelah Anda mengestimasi model MA dengan data Nile, langkah berikutnya adalah membuat beberapa peramalan sederhana menggunakan model Anda. Seperti pada jenis model lainnya, Anda dapat menggunakan fungsi predict() untuk membuat peramalan sederhana dari model MA yang diestimasi. Ingat bahwa nilai $pred adalah ramalannya, sedangkan nilai $se adalah galat baku untuk ramalan tersebut; keduanya didasarkan pada model MA yang dipasangkan.
Sekali lagi, untuk membuat prediksi beberapa periode melampaui observasi terakhir, Anda dapat menggunakan argumen n.ahead = h dalam pemanggilan predict(). Ramalan dibuat secara rekursif dari 1 hingga h-langkah ke depan dari akhir deret waktu yang diamati. Namun, perhatikan bahwa kecuali untuk ramalan 1-langkah, semua ramalan dari model MA sama dengan rataan ("intercept") yang diestimasi.
Dalam latihan ini, Anda akan menggunakan model MA yang diturunkan dari data Nile untuk membuat peramalan sederhana mengenai tingkat aliran Sungai Nil di masa depan. Model MA Anda dari latihan sebelumnya tersedia di lingkungan Anda.
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan R
Petunjuk latihan
- Gunakan
predict()untuk membuat ramalan tingkat aliran Sungai Nil pada tahun 1971. Simpan ramalan tersebut dalampredict_MA. - Gunakan
predict_MAbersama$pred[1]untuk memperoleh ramalan 1-langkah. - Lakukan pemanggilan
predict()lainnya untuk membuat ramalan dari 1971 hingga 1980. Untuk itu, setel argumenn.aheadsama dengan10. - Jalankan kode yang sudah disiapkan untuk memplot deret waktu
Nilebeserta ramalan dan selang prediksi 95%.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)