Saya memahami prinsip dasar filter partikel dan mencoba menerapkannya. Namun, saya terpaku pada bagian resampling.
Secara teori, ini cukup sederhana: Dari set partikel lama (dan berbobot), gambarkan set partikel baru dengan penggantian. Sambil melakukannya, nikmatilah partikel-partikel yang memiliki bobot tinggi. Partikel dengan bobot tinggi lebih sering ditarik dan partikel dengan bobot rendah lebih jarang. Mungkin hanya sekali atau tidak sama sekali. Setelah resampling, semua bobot diberi bobot yang sama.
Ide pertama saya tentang bagaimana mengimplementasikan ini pada dasarnya adalah ini:
- Menormalkan bobot
- Lipat gandakan setiap bobot dengan jumlah total partikel
- Bulatkan bobot yang diskalakan ke bilangan bulat terdekat (mis. Dengan dengan
int()
Python)
Sekarang saya harus tahu seberapa sering menggambar setiap partikel, tetapi karena kesalahan pembulatannya, saya akhirnya memiliki lebih sedikit partikel daripada sebelum langkah resampling.
Pertanyaan: Bagaimana cara saya "mengisi" partikel yang hilang untuk mendapatkan jumlah partikel yang sama seperti sebelum langkah resampling? Atau, kalau-kalau saya benar-benar keluar jalur di sini, bagaimana saya melakukan resample dengan benar?