Saya memiliki latar belakang pemula dalam deret waktu (beberapa estimasi / perkiraan ARIMA) dan saya menghadapi masalah yang tidak sepenuhnya saya pahami. Bantuan apa pun akan sangat dihargai.
Saya menganalisis beberapa seri waktu, semua dalam interval waktu yang sama dan semua dari frekuensi yang sama, semua menggambarkan tipe data yang serupa. Setiap seri hanya satu variabel, tidak ada prediktor lain yang sesuai yang saya lihat.
Saya telah diminta untuk memperkirakan model tunggal yang menggambarkan SEMUA seri - misalnya, bayangkan saya dapat menemukan satu ARIMA (p, d, q) dengan pesanan, koefisien, dll yang sama yang dapat cocok dengan semua seri. Atasan saya tidak ingin saya memperkirakan setiap seri secara terpisah, juga tidak ingin saya melakukan semacam model VAR dengan dependensi di antara seri.
Pertanyaan saya adalah: apa yang akan saya sebut model seperti itu, dan bagaimana saya bisa memperkirakan / memperkirakannya? Jika lebih mudah bagi Anda untuk menggunakan contoh kode, saya berbicara SAS dan R.
sumber
Salah satu cara untuk melakukannya adalah dengan membangun seri waktu yang lama dengan semua data Anda, dan dengan urutan nilai yang hilang antara seri untuk memisahkannya. Misalnya, dalam R, jika Anda memiliki tiga seri (
x
,y
danz
) masing-masing dengan panjang 100 dan frekuensi 12, Anda dapat bergabung dengan mereka sebagai berikutPerhatikan bahwa jumlah nilai yang hilang dipilih untuk memastikan periode musiman dipertahankan. Saya telah menyelesaikan tahun terakhir dengan 8 nilai yang hilang dan kemudian menambahkan empat tahun yang hilang (48 nilai) sebelum seri berikutnya. Itu harus cukup untuk memastikan korelasi serial hilang di antara seri.
Kemudian Anda dapat menggunakan
auto.arima()
untuk menemukan model terbaik:Terakhir, Anda dapat menerapkan model gabungan untuk setiap seri secara terpisah untuk mendapatkan perkiraan:
sumber
Memperkirakan model tunggal untuk beberapa seri waktu adalah bidang ekonometrik data panel . Namun dalam kasus Anda tanpa variabel penjelas @Rob jawaban Hyndman mungkin paling cocok. Namun jika ternyata rangkaian waktu berbeda (mengujinya, karena dalam kasus ini metode @Rob Hyndman harus gagal!), Tetapi struktur ARMA sama, maka Anda harus menggunakan Arellano-Bond (maaf wikipedia memiliki tidak ada halaman di atasnya, jadi cari di google) ketikkan estimator. Model dalam kasus itu adalah:
sumber
Alternatif untuk pendekatan Rob Hyndman, untuk membuat satu seri data, adalah dengan menggabungkan data. Ini mungkin tepat jika seri waktu berganda Anda mewakili pembacaan bising dari satu set mesin yang merekam peristiwa yang sama. (Jika setiap seri waktu berada pada skala yang berbeda, Anda perlu menormalkan data terlebih dahulu.)
CATATAN: Anda masih berakhir dengan 28 pembacaan, hanya sedikit noise, jadi ini mungkin tidak sesuai untuk situasi Anda.
sumber
Saya akan melihat model Markov yang tersembunyi dan jaringan Bayesian yang dinamis. Mereka memodelkan data deret waktu. Mereka juga dilatih menggunakan berbagai contoh rangkaian waktu, misalnya serangkaian waktu tekanan darah ganda dari berbagai individu. Anda harus menemukan paket dalam Python dan R untuk membangunnya. Anda mungkin harus menentukan struktur untuk model ini.
sumber
Saya mencoba melakukan hal yang sama. Rupanya, ada sesuatu yang disebut model 'Multivariate AutoRegressive' di luar sana. Saya sudah menemukan referensi untuk itu, tetapi tidak bagaimana menggunakannya. Berdasarkan kertas yang ditautkan, saya kira itu telah diterapkan di R.
http://journal.r-project.org/archive/2012-1/RJournal_2012-1_Holmes~et~al.pdf
sumber