5
ตัวกรองอนุภาค: จะทำการ resampling ได้อย่างไร?
ฉันเข้าใจหลักการพื้นฐานของตัวกรองอนุภาคและพยายามนำไปใช้ อย่างไรก็ตามฉันได้วางสายในส่วนที่สุ่มใหม่ ในทางทฤษฎีการพูดมันค่อนข้างง่าย: จากชุดอนุภาค (และน้ำหนัก) แบบเก่าวาดชุดอนุภาคใหม่ที่มีการแทนที่ ในขณะที่ทำเช่นนั้นโปรดปรานอนุภาคเหล่านั้นที่มีน้ำหนักสูง อนุภาคที่มีน้ำหนักมากจะถูกดึงบ่อยขึ้นและอนุภาคที่มีน้ำหนักต่ำจะน้อยลง อาจจะแค่ครั้งเดียวหรือเปล่าเลย หลังจาก resampling น้ำหนักทั้งหมดจะถูกกำหนดน้ำหนักเดียวกัน แนวคิดแรกของฉันเกี่ยวกับวิธีการใช้สิ่งนี้คือ: ทำให้น้ำหนักปกติ คูณแต่ละน้ำหนักด้วยจำนวนอนุภาคทั้งหมด ปัดเศษน้ำหนักที่ปรับแล้วไปเป็นจำนวนเต็มที่ใกล้เคียงที่สุด (เช่นint()ใน Python) ตอนนี้ฉันควรรู้ความถี่ในการดึงแต่ละอนุภาคแต่เนื่องจากข้อผิดพลาดของการปัดเศษฉันจึงมีอนุภาคน้อยกว่าก่อนที่จะเริ่มขั้นตอนการสุ่มใหม่ คำถาม: ฉันจะ "เติม" อนุภาคที่หายไปได้อย่างไรเพื่อให้ได้อนุภาคจำนวนเท่าเดิมก่อนขั้นตอนการสุ่มตัวอย่างใหม่? หรือในกรณีที่ฉันไม่ได้ติดตามอย่างสมบูรณ์ที่นี่ฉันจะลองตัวอย่างใหม่อย่างถูกต้องได้อย่างไร