Memperkirakan parameter model linear yang dinamis

11

Saya ingin menerapkan (dalam R) Model Dynamic Linear berikut yang sangat sederhana yang saya punya 2 parameter waktu yang tidak diketahui (varian kesalahan pengamatan dan varian kesalahan negara ).ϵt1ϵt2

Yt=θt+ϵt1θt+1=θt+ϵt2

Saya ingin memperkirakan parameter ini di setiap titik waktu, tanpa bias pandangan ke depan . Dari apa yang saya mengerti, saya dapat menggunakan MCMC (pada jendela bergulir untuk menghindari bias pandangan ke depan), atau filter partikel (atau Sequential Monte Carlo - SMC).

Metode mana yang akan Anda gunakan , dan
Apa pro dan kontra dari kedua metode ini?

Pertanyaan bonus: Dalam metode ini, bagaimana Anda memilih kecepatan perubahan parameter? Saya kira kita harus memasukkan informasi di sini, karena ada tawar-menawar antara menggunakan banyak data untuk memperkirakan parameter dan menggunakan lebih sedikit data untuk bereaksi lebih cepat terhadap perubahan parameter?

RockScience
sumber
Pertanyaan saya agak mirip dengan stats.stackexchange.com/questions/2149/… . Saya telah membuka pertanyaan dengan sengaja karena situasinya sedikit berbeda dan saya ingin pendapat yang berbeda. (Jawaban oleh gd047 terutama berfokus pada filter Kalman
unscented
Aneh bahwa karunia saya tidak membantu ... Apakah pertanyaan saya dirumuskan dengan buruk ... Tidak ada yang punya jawaban? Atau pertanyaan tentang pertanyaan saya?
RockScience
Cara itu diajukan, ini tampak seperti masalah yang merosot - kesalahan bisa juga dikaitkan dengan kebisingan pengamatan atau kebisingan proses. Apakah ada lebih banyak kendala? Apakah negara satu dimensi?
IanS
@lanS. Semua benda memang ada di sini hanya satu dimensi. Bisakah Anda mengembangkan sedikit lebih pada fakta bahwa kesalahan itu bisa berupa pengamatan atau kebisingan. Persis seperti itulah yang ingin saya capai. Saya ingin mendapatkan estimasi bergulir rasio sinyal terhadap noise dengan memperkirakan sd dari 2 suara yang berbeda-beda ....
RockScience
Mungkin saya harus mulai dengan memperbaiki sd dari kebisingan proses untuk memulai dan melihat bagaimana sd dari kebisingan pengamatan bereaksi?
RockScience

Jawaban:

4

Jika Anda memiliki parameter waktu yang bervariasi dan ingin melakukan hal-hal secara berurutan (memfilter), maka SMC paling masuk akal. MCMC lebih baik ketika Anda ingin mengkondisikan semua data, atau Anda memiliki parameter statis yang tidak diketahui yang ingin Anda perkirakan. Filter partikel memiliki masalah dengan parameter statis (degenerasi).

Darren Wilkinson
sumber
1
Terima kasih atas jawaban Anda. Di mana saya bisa belajar bagaimana melakukan SMC dan paket R mana yang akan Anda rekomendasikan?
RockScience
4

Lihatlah paket dlm dan skripnya . Saya pikir Anda mungkin menemukan apa yang Anda cari dari sketsa. Paket penulis juga telah menulis sebuah buku Model Dinamis Linear dengan R .

Matti Pastell
sumber
@ Matti Pastell: Saya punya buku ini. Memang sangat bagus. Pertanyaan saya adalah tentang perbedaan antara filter partikel (yang dari apa yang saya pahami adalah versi berurutan dari MCMC), dan MCMC pada jendela bergulir (pada yang terakhir, kami menjalankan proses optimisasi pada jendela bergulir). Metode mana yang lebih disukai, dan mengapa?
RockScience
Juga, saya tidak benar-benar menemukan mudah untuk membangun kali ini model yang bervariasi dengan dlm. Jujur paket ini sangat mudah digunakan untuk model yang berbeda waktu, tetapi mulai lebih rumit untuk yang lainnya. Sunting: Lebih rumit saya maksudkan bahwa tidak ada fungsi untuk memecahkan masalah. Anda harus memberi kode pada diri sendiri skrip.
RockScience
1
OK, saya juga punya buku itu tetapi saya belum punya waktu untuk membacanya. Maaf itu tidak membantu masalah Anda.
Matti Pastell
1
Terima kasih, ini buku yang bagus, pantas dikutip di sini
RockScience
3

Saya telah membaca Dynamic Linear Models dengan R (buku bagus), bab terakhir membahas tentang pengurutan partikel Monte Carlo / partikel. Ini juga mencakup beberapa Rkode; Namun, dalam kata penutup bab 5 mereka secara eksplisit memperingatkan bahwa SMC menjadi semakin tidak dapat diandalkan seiring waktu tambahan karena kesalahan menumpuk. Dengan demikian, mereka merekomendasikan "menyegarkan" filter partikel dengan distribusi posterior dari sampel MCMC lengkap setiap( 1000 × ( 50 - 1 ) × 10 ) ÷ 60 ÷ 24Ttitik. Mungkin saya salah membaca peringatan mereka, tetapi ini sepertinya menyiratkan bahwa Anda lebih baik dengan MCMC window bergulir. Namun, saya akan berpikir ada kendala pemrosesan komputer yang substansial dengan metode itu. Misalnya, dengan asumsi Anda memiliki 1.000 deret waktu univariat yang berbeda dengan masing-masing 50 pengamatan dan Anda memerlukan waktu 10 menit untuk menjalankan sampler MCMC Gibbs penuh. Kemudian, Anda memerlukan waktu 340 hari ( ) dari pemrosesan berkelanjutan untuk memperkirakan parameter tanpa bias pandangan ke depan. Mungkin perkiraan saya tentang waktu yang diperlukan untuk menjalankan MCMC tidak aktif, tapi saya pikir ini perkiraan yang konservatif namun masuk akal.(1000×(501)×10)÷60÷24

Sudah beberapa tahun sejak Anda mengajukan pertanyaan, jadi saya ingin tahu jika Anda sendiri punya jawaban sekarang.

Ursus Frost
sumber