Saya menggunakan filter Kalman dengan cara yang sangat standar. Sistem diwakili oleh persamaan keadaan dan persamaan observasi .
Buku ajar mengajarkan bahwa setelah menerapkan filter Kalman dan mendapatkan "prakiraan satu langkah ke depan" (atau "perkiraan terfilter"), kita harus menggunakannya untuk menghitung fungsi kemungkinan:
Pertanyaan saya adalah: Mengapa fungsi kemungkinan dihitung menggunakan "taksiran yang difilter" dan bukan "estimasi yang dihaluskan" ? Bukankah perkiraan yang lebih baik dari vektor keadaan?
likelihood
kalman-filter
Gustavo Amarante
sumber
sumber
Jawaban:
Untuk menjawab pertanyaan Anda: Anda dapat menggunakan kerapatan perataan. Tetapi Anda tidak harus melakukannya. Jawaban Jarle Tufto memiliki dekomposisi yang Anda gunakan. Tapi ada yang lain.
Menggunakan Rekursi Kalman
Di sini Anda mengevaluasi kemungkinan sebagai
Namun, mean dan varians tidak selalu sepenuhnya mendefinisikan distribusi probabilitas secara umum. Berikut ini adalah dekomposisi yang Anda gunakan untuk pergi dari memfilter distribusi ke kemungkinan kondisional :f(xi−1|y1,…,yi−1) f(yi|y1,…,yi−1)
Di sini adalah kepadatan transisi status ... bagian dari model, dan adalah densitas pengamatan ... bagian dari model lagi. Dalam pertanyaan Anda, Anda menulis ini sebagai dan masing-masing. Itu adalah hal yang sama.f(xi|xi−1) f(yi|xi) xt+1=Fxt+vt+1 yt=Hxt+Azt+wt
Ketika Anda mendapatkan distribusi prediksi keadaan satu langkah di depan, itu menghitung . Ketika Anda mengintegrasikan lagi, Anda memperoleh (1) sepenuhnya. Anda menuliskan kepadatan itu sepenuhnya dalam pertanyaan Anda, dan itu adalah hal yang sama.∫f(xi|xi−1)f(xi−1|y1,…,yi−1)dxi−1
Di sini Anda hanya menggunakan dekomposisi distribusi probabilitas, dan asumsi tentang model. Perhitungan kemungkinan ini adalah perhitungan yang tepat. Tidak ada kebijakan yang dapat Anda gunakan untuk melakukan ini dengan lebih baik atau lebih buruk.
Menggunakan Algoritma EM
Sepengetahuan saya, tidak ada cara lain untuk mengevaluasi kemungkinan secara langsung dalam model ruang keadaan seperti ini. Namun, Anda masih dapat melakukan estimasi kemungkinan maksimum dengan mengevaluasi fungsi yang berbeda: Anda dapat menggunakan algoritma EM. Pada langkah Ekspektasi (Langkah-E) Anda akan menghitung Di sini
Hal-hal lain
Saya telah membaca di tempat-tempat bahwa EM adalah cara "lebih stabil" untuk memaksimalkan kemungkinan, tetapi saya tidak pernah benar-benar melihat poin ini diperdebatkan dengan baik, saya juga belum melihat kata "stabil" ini didefinisikan sama sekali, tetapi saya juga belum benar-benar memeriksa ini lebih jauh. Tak satu pun dari algoritma ini menyiasati cobaan maxima lokal / global. Saya pribadi cenderung menggunakan Kalman lebih sering hanya karena kebiasaan.
Memang benar bahwa perkiraan yang dihaluskan dari negara bagian memiliki varian yang lebih kecil daripada penyaringan, jadi saya kira Anda benar untuk memiliki beberapa intuisi tentang ini, tetapi Anda tidak benar-benar menggunakan negara. Kemungkinan Anda mencoba untuk memaksimalkan bukanlah fungsi dari negara.
sumber
Secara umum, berdasarkan aturan produk, kemungkinan tepatnya dapat ditulis Dari asumsi model state space, dapat disimpulkan bahwa vektor ekspektasi dan matriks varians dari setiap kondisi pada pengamatan sebelumnya dapat dinyatakan sebagai dan
Meskipun Anda tentu saja dapat menggunakan perkiraan yang dihaluskan yang memang merupakan perkiraan yang lebih baik dari negara bagian yang tidak dikenal, ini tidak akan memberi Anda fungsi kemungkinan. Akibatnya, Anda akan menggunakan nilai yang diamati dari untuk memperkirakan nilai yang diharapkan sendiri sehingga kemungkinan hal ini akan menyebabkan beberapa bias dalam estimasi yang dihasilkan.yi
sumber
Saya pikir jawaban yang lebih baik untuk "mengapa" distribusi perataan tidak digunakan (biasanya) adalah efisiensi. Pada prinsipnya adalah langsung untuk menghitung kemungkinan marginal (menghaluskan) dalam arti tinggalkan satu sebagai berikut. Hapus pengamatan, jalankan Kalman lebih halus pada data yang tersisa. Kemudian evaluasi kemungkinan y (j) yang tidak terlihat. Ulangi ini untuk semua j. Ringkas kemungkinan log. Versi lebih cepat dari ini bekerja dengan blok (secara acak) sampel yang ditahan (seperti CV k-fold). Perhatikan bahwa skema ini memerlukan implementasi yang lebih umum dari filter / kalman Kalman yang secara sewenang-wenang dapat melewatkan pembaruan pengukuran jika diperlukan. Backward / smoothing pass tidak mengakses pengukuran (algoritma RTS) dan tetap sama.
Jika deret waktu "cukup lama" ada kemungkinan manfaat kecil dalam melakukan ini karena kemungkinan penyaringan "membakar" transien awalnya. Tetapi jika dataset pendek, kemungkinan smoothing yang lebih mahal mungkin sepadan. Fixed-lag smoother bisa menjadi solusi di antara keduanya.
sumber