karena saya melangkah ke peramalan dengan model ARIMA, saya mencoba memahami bagaimana saya dapat meningkatkan ramalan berdasarkan ARIMA yang sesuai dengan musiman dan pergeseran.
Data saya adalah seri waktu berikut (lebih dari 3 tahun, dengan tren yang jelas ke atas dan musim yang terlihat, yang tampaknya tidak didukung oleh autokorelasi pada kelambatan 12, 24, 36 ??).
> bal2sum3years.ts
Jan Feb Mar Apr May Jun Jul Aug
2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729
2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888
2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416
Sep Oct Nov Dec
2010 2232261 2394644 2468479 2816287
2011 2480940 2699780 2760268 3206372
2012 2951516 3119176 3032960 3738256
Model yang disarankan oleh auto.arima(bal2sum3years.ts)
memberi saya model berikut:
Series: bal2sum3years.ts
ARIMA(0,0,0)(0,1,0)[12] with drift
Coefficients:
drift
31725.567
s.e. 2651.693
sigma^2 estimated as 2.43e+10: log likelihood=-321.02
AIC=646.04 AICc=646.61 BIC=648.39
Namun, acf(bal2sum3years.ts,max.lag=35)
tidak menunjukkan koefisien acf lebih tinggi dari 0,3. Namun, musiman data cukup jelas - lonjakan pada awal setiap tahun. Inilah yang terlihat seperti seri pada grafik:
Perkiraan menggunakan fit=Arima(bal2sum3years.ts,seasonal=list(order=c(0,1,0),period=12),include.drift=TRUE)
, disebut oleh fungsi forecast(fit)
, menghasilkan 12 bulan berikutnya berarti sama dengan 12 bulan terakhir dari data ditambah konstan. Ini bisa dilihat dengan menelepon plot(forecast(fit))
,
Saya juga telah memeriksa residu, yang tidak berkorelasi otomatis tetapi memiliki rata-rata positif (bukan nol).
Fit tidak memodelkan deret waktu asli dengan tepat, menurut saya (biru deret waktu asli, merah adalah fitted(fit)
:
Tamu adalah, apakah modelnya salah? Apakah saya melewatkan sesuatu? Bagaimana saya bisa meningkatkan model? Tampaknya model ini benar-benar membutuhkan 12 bulan terakhir dan menambahkan konstanta untuk mencapai 12 bulan ke depan.
Saya seorang pemula relatif dalam model dan statistik perkiraan waktu.
Jawaban:
Ya, memang, model yang disarankan adalah "Juni ini = Juni lalu + konstanta + kesalahan", dan juga untuk bulan-bulan lainnya.
Apa yang salah dengan itu tepatnya? Tampaknya ini adalah deskripsi yang sangat baik untuk data Anda.
Anda mungkin menemukan dekomposisi deret waktu lebih intuitif dan lebih mudah untuk dijelaskan, mungkin bahkan sesuatu yang didasarkan pada Model Struktural Dasar - model dengan musiman - tetapi itu tidak selalu menyiratkan model yang berfungsi lebih baik daripada yang Anda miliki. Masih satu atau lebih teknik dekomposisi standar mungkin layak untuk dicoba - ada banyak yang bisa dikatakan untuk model yang Anda pahami dengan baik.
sumber
Saya percaya bahwa masalah kita adalah bahwa kita melompat langsung ke model ARIMA tanpa mencoba model tradisional. untuk alasan ini, Anda dapat menemukan model tidak memberikan hasil yang dibutuhkan. Dalam kasus Anda, saya menguji data Anda, saya menemukan bahwa ada musiman setiap 12 bulan yang jelas untuk Anda, tetapi juga saya menemukan bahwa rata-rata bergerak sederhana dari 3 istilah Penyesuaian musiman: Multiplicative adalah model terbaik. Menurut pendapat saya, Kami harus mencoba algoritma peramalan tradisional sebelum beralih ke teknik canggih apa pun.
sumber