Praktik yang baik saat melakukan perkiraan seri waktu

10

Saya telah bekerja selama berbulan-bulan tentang peramalan beban jangka pendek dan penggunaan data iklim / cuaca untuk meningkatkan akurasi. Saya memiliki latar belakang ilmu komputer dan untuk alasan ini saya mencoba untuk tidak membuat kesalahan besar dan perbandingan yang tidak adil bekerja dengan alat statistik seperti model ARIMA. Saya ingin mengetahui pendapat Anda tentang beberapa hal:

  1. Saya menggunakan kedua model (S) ARIMA dan (S) ARIMAX untuk menyelidiki pengaruh data cuaca pada peramalan, apakah menurut Anda perlu menggunakan metode Smoothing Eksponensial juga?

  2. Memiliki serangkaian waktu sampel 300 harian saya mulai dari dua minggu pertama dan saya melakukan perkiraan 5 hari ke depan menggunakan model yang dibangun dengan fungsi auto.arima R (paket perkiraan). Kemudian, saya menambahkan sampel lain ke set data saya dan saya mengkalibrasi lagi model dan saya melakukan perkiraan 5 hari lagi dan seterusnya sampai akhir data yang tersedia. Apakah menurut Anda cara pengoperasian ini benar?

Terima kasih atas saran Anda, meskipun target pekerjaan kami adalah artikel jurnal teknik, saya ingin melakukan pekerjaan sekeras mungkin dari sudut pandang statistik.

Matteo De Felice
sumber
1
Pertanyaan ini tampaknya terkait erat: stats.stackexchange.com/questions/16915/…
whuber
1
Berikut ini adalah jawaban lama stats.stackexchange.com/questions/6513/…
bill_080

Jawaban:

9
  1. Saya pikir akan ada baiknya mengeksplorasi model pemulusan eksponensial juga. Model pemulusan eksponensial adalah kelas model yang berbeda secara fundamental dari model ARIMA, dan dapat menghasilkan hasil yang berbeda pada data Anda.

  2. Ini kedengarannya seperti pendekatan yang valid, dan sangat mirip dengan metode cross-validasi deret waktu yang diusulkan oleh Rob Hyndman .

Saya akan menggabungkan kesalahan cross-validasi dari setiap perkiraan (pemulusan eksponensial, ARIMA, ARMAX) dan kemudian menggunakan kesalahan keseluruhan untuk membandingkan 3 metode.

Anda mungkin juga ingin mempertimbangkan "pencarian kisi" untuk parameter ARIMA, daripada menggunakan auto.arima. Dalam pencarian kotak, Anda akan menjelajahi setiap parameter yang mungkin untuk model arima, dan kemudian pilih yang "terbaik" menggunakan akurasi perkiraan.

Zach
sumber
Terima kasih atas jawabannya, saya menggunakan auto.arima dengan pencarian STEPWISE dinonaktifkan dan saya pikir dengan cara ini ia akan menjelajahi semua parameter antara rentang min-max (saya belum membaca makalah Hyndman & Kandahar 2008)
Matteo De Felice
@ Matteo De Felice: masalahnya adalah, ia mengoptimalkan parameter tersebut berdasarkan AIC. Saya menyarankan mungkin perlu mengoptimalkan parameter tersebut dengan kinerja out-of-sample mereka, yang dapat Anda nilai dengan cross-validation. Selain itu, jika Anda ingin membandingkan model lain (seperti ETS), Anda akan memerlukan metrik kinerja out-of-sample, karena Anda tidak dapat membandingkan AIC antara berbagai jenis model (seperti auto.arima dan ets).
Zach
saat ini saya melakukan pencarian grid (menggunakan auto.arima dengan stepwise = FALSE) dan kemudian saya mencoba model yang paling sering untuk mengevaluasi kinerja mereka.
Matteo De Felice
@Matteo De Felice: Jika Anda mengalami kesulitan menerapkan validasi silang seri-waktu, posting blog ini mungkin membantu: robjhyndman.com/researchtips/tscvexample
Zach
Perlu dicatat bahwa model ARIMA dan ETS tidak berbeda secara fundamental. Bahkan, model pemulusan eksponensial linier adalah kasus khusus model ARIMA. Lihat di sini: otexts.org/fpp/8/10 .
Kutil