nonlinear filtering using particles and
play

Nonlinear Filtering using Particles and Outline Nonlinear - PowerPoint PPT Presentation

Nonlinear Filtering Andreas Kl ockner Nonlinear Filtering using Particles and Outline Nonlinear Quadrature Filtering Monte Carlo Filters Particle Filters Importance Andreas Kl ockner Sampling Quadrature Filters Error Estimates


  1. Joint Posterior Update Nonlinear Filtering p ( x 0: t | y 1: t ) Andreas Kl¨ ockner p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y 1: t | x 0: t ) p ( x 0: t ) p ( y 1: t − 1 ) = · Nonlinear p ( y 1: t ) p ( y 1: t − 1 | x 0: t − 1 ) p ( x 0: t − 1 ) Filtering Monte Carlo p ( y t | x 0: t ) p ( x 0: t ) · p ( y 1: t − 1 ) CI Filters = Particle Filters p ( y 1: t ) p ( x 0: t − 1 ) Importance Sampling p ( y t | x 0: t ) p ( x 0: t ) p ( x t | x t − 1 ) · p ( y 1: t − 1 ) Markov Quadrature = Filters p ( y 1: t ) p ( x 0: t ) Error Estimates p ( y t | x 0: t ) p ( x t | x t − 1 ) Continuous- · p ( y 1: t − 1 ) = Time p ( y 1: t ) Filtering Andreas Kl¨ ockner Nonlinear Filtering

  2. Joint Posterior Update Nonlinear Filtering p ( x 0: t | y 1: t ) Andreas Kl¨ ockner p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y 1: t | x 0: t ) p ( x 0: t ) p ( y 1: t − 1 ) = · Nonlinear p ( y 1: t ) p ( y 1: t − 1 | x 0: t − 1 ) p ( x 0: t − 1 ) Filtering Monte Carlo p ( y t | x 0: t ) p ( x 0: t ) · p ( y 1: t − 1 ) CI Filters = Particle Filters p ( y 1: t ) p ( x 0: t − 1 ) Importance Sampling p ( y t | x 0: t ) p ( x 0: t ) p ( x t | x t − 1 ) · p ( y 1: t − 1 ) Markov Quadrature = Filters p ( y 1: t ) p ( x 0: t ) Error Estimates p ( y t | x 0: t ) p ( x t | x t − 1 ) Continuous- · p ( y 1: t − 1 ) = Time p ( y 1: t ) Filtering p ( y t | x t ) p ( x t | x t − 1 ) = p ( y t | y 1: t − 1 ) Andreas Kl¨ ockner Nonlinear Filtering

  3. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  4. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear We can expand the denominator as Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  5. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear We can expand the denominator as Filtering Monte Carlo � Filters Particle Filters p ( y t | y 1: t − 1 ) = p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t . Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  6. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear We can expand the denominator as Filtering Monte Carlo � Filters Particle Filters p ( y t | y 1: t − 1 ) = p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t . Importance Sampling Quadrature Filters Two drawbacks: Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  7. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear We can expand the denominator as Filtering Monte Carlo � Filters Particle Filters p ( y t | y 1: t − 1 ) = p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t . Importance Sampling Quadrature Filters Two drawbacks: Error Estimates Denominator not explicitly known Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  8. Joint Posterior Update Nonlinear Filtering Andreas Kl¨ ockner p ( x 0: t | y 1: t ) = p ( y t | x t ) p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) Outline p ( y t | y 1: t − 1 ) Nonlinear We can expand the denominator as Filtering Monte Carlo � Filters Particle Filters p ( y t | y 1: t − 1 ) = p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t . Importance Sampling Quadrature Filters Two drawbacks: Error Estimates Denominator not explicitly known Continuous- Time Filtering Don’t care about the joint posterior–only want p ( x t | y 1: t ) Andreas Kl¨ ockner Nonlinear Filtering

  9. Recursive Posterior Update Nonlinear Filtering Andreas p ( x t | y 1: t ) Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  10. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  11. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner � p ( y t | x t ) p ( x t | x t − 1 ) Outline JointUp p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Nonlinear p ( y t | y 1: t − 1 ) Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  12. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner � p ( y t | x t ) p ( x t | x t − 1 ) Outline JointUp p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Nonlinear p ( y t | y 1: t − 1 ) Filtering � p ( y t | x t ) Monte Carlo = p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 Filters p ( y t | y 1: t − 1 ) Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  13. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner � p ( y t | x t ) p ( x t | x t − 1 ) Outline JointUp p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Nonlinear p ( y t | y 1: t − 1 ) Filtering � p ( y t | x t ) Monte Carlo = p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 Filters p ( y t | y 1: t − 1 ) Particle Filters Importance � Sampling p ( y t | x t ) Markov p ( x t | x 0: t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Quadrature p ( y t | y 1: t − 1 ) Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  14. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner � p ( y t | x t ) p ( x t | x t − 1 ) Outline JointUp p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Nonlinear p ( y t | y 1: t − 1 ) Filtering � p ( y t | x t ) Monte Carlo = p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 Filters p ( y t | y 1: t − 1 ) Particle Filters Importance � Sampling p ( y t | x t ) Markov p ( x t | x 0: t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Quadrature p ( y t | y 1: t − 1 ) Filters Error Estimates p ( y t | x t ) Continuous- = p ( y t | y 1: t − 1 ) p ( x t | y 1: t − 1 ) Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  15. Recursive Posterior Update Nonlinear Filtering � Andreas p ( x t | y 1: t ) = p ( x 0: t | y 1: t ) d x 0: t − 1 Kl¨ ockner � p ( y t | x t ) p ( x t | x t − 1 ) Outline JointUp p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Nonlinear p ( y t | y 1: t − 1 ) Filtering � p ( y t | x t ) Monte Carlo = p ( x t | x t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 Filters p ( y t | y 1: t − 1 ) Particle Filters Importance � Sampling p ( y t | x t ) Markov p ( x t | x 0: t − 1 ) p ( x 0: t − 1 | y 1: t − 1 ) d x 0: t − 1 = Quadrature p ( y t | y 1: t − 1 ) Filters Error Estimates p ( y t | x t ) Continuous- = p ( y t | y 1: t − 1 ) p ( x t | y 1: t − 1 ) Time Filtering p ( y t | x t ) p ( x t | y 1: t − 1 ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Andreas Kl¨ ockner Nonlinear Filtering

  16. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  17. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  18. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Posterior t − 1 → Prediction t : Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  19. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Posterior t − 1 → Prediction t : Filtering Monte Carlo Start with Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  20. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Posterior t − 1 → Prediction t : Filtering Monte Carlo Start with Filters Particle Filters � Importance p ( x t ) = p ( x t | x t − 1 ) p ( x t − 1 ) d x t − 1 , Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  21. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Posterior t − 1 → Prediction t : Filtering Monte Carlo Start with Filters Particle Filters � Importance p ( x t ) = p ( x t | x t − 1 ) p ( x t − 1 ) d x t − 1 , Sampling Quadrature Filters Error Estimates and obtain Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  22. The Complete Recursion Nonlinear Prediction t → Posterior t : Filtering Andreas p ( y t | x t ) p ( x t | y 1: t − 1 ) Kl¨ ockner p ( x t | y 1: t ) = � p ( y t | x t ) p ( x t | y 1: t − 1 ) d x t Outline Nonlinear Posterior t − 1 → Prediction t : Filtering Monte Carlo Start with Filters Particle Filters � Importance p ( x t ) = p ( x t | x t − 1 ) p ( x t − 1 ) d x t − 1 , Sampling Quadrature Filters Error Estimates and obtain Continuous- Time � Filtering p ( x t | y 1: t − 1 ) = p ( x t | x t − 1 ) p ( x t − 1 | y 1: t − 1 ) d x t − 1 . Andreas Kl¨ ockner Nonlinear Filtering

  23. Outline Nonlinear Filtering Andreas 1 Nonlinear Filtering Kl¨ ockner Outline 2 Monte Carlo Filters Nonlinear Filtering Particle Filters Monte Carlo Importance Sampling Filters Particle Filters Importance Sampling 3 Quadrature Filters Quadrature Filters Error Estimates Error Estimates Continuous- Time 4 Continuous-Time Filtering Filtering Andreas Kl¨ ockner Nonlinear Filtering

  24. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  25. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner 1 x t − 1 Outline x t = 2 x t − 1 + 25 1 + x 2 Nonlinear t − 1 Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  26. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner 1 x t − 1 Outline x t = 2 x t − 1 + 25 1 + x 2 Nonlinear t − 1 Filtering Monte Carlo Filters x �→ x x t Particle Filters Importance Sampling x t Quadrature Filters Error Estimates Continuous- x t − 1 Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  27. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner 1 x t − 1 Outline x t = 2 x t − 1 + 25 + 8 cos (1 . 2 t ) + v t , 1 + x 2 Nonlinear t − 1 Filtering Monte Carlo Filters x �→ x x t Particle Filters Importance Sampling x t Quadrature Filters Error Estimates Continuous- x t − 1 Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  28. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner 1 x t − 1 Outline x t = 2 x t − 1 + 25 + 8 cos (1 . 2 t ) + v t , 1 + x 2 Nonlinear t − 1 Filtering x 2 Monte Carlo t = 20 + w t , y t Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  29. Our Example Process Throughout this presentation, we will stick to the following Nonlinear Filtering model: Andreas Kl¨ ockner 1 x t − 1 Outline x t = 2 x t − 1 + 25 + 8 cos (1 . 2 t ) + v t , 1 + x 2 Nonlinear t − 1 Filtering x 2 Monte Carlo t = 20 + w t , y t Filters Particle Filters Importance Sampling where x 0 ∼ N (0 , σ 2 1 ), v t ∼ N (0 , σ 2 v ), w t ∼ N (0 , σ 2 w ). Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  30. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  31. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  32. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters N t p ( d x t +1 | y 1: t ) = 1 � p ( d x t +1 | x ( i ) Particle Filters ˆ t ) Importance N t Sampling i =1 Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  33. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters N t p ( d x t +1 | y 1: t ) = 1 � p ( d x t +1 | x ( i ) Particle Filters ˆ t ) Importance N t Sampling i =1 Quadrature Filters and the update formula: Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  34. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters N t p ( d x t +1 | y 1: t ) = 1 � p ( d x t +1 | x ( i ) Particle Filters ˆ t ) Importance N t Sampling i =1 Quadrature Filters and the update formula: Error Estimates Continuous- Time N t 1 � Filtering p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . ˜ C t +1 · N t i =1 Andreas Kl¨ ockner Nonlinear Filtering

  35. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters N t p ( d x t +1 | y 1: t ) = 1 � p ( d x t +1 | x ( i ) Particle Filters ˆ t ) Importance N t Sampling i =1 Quadrature Filters and the update formula: Error Estimates Continuous- Time N t 1 � Filtering p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . ˜ C t +1 · N t i =1 Problem: Andreas Kl¨ ockner Nonlinear Filtering

  36. Particle Approximations Assume a discrete approximation of the posterior density Nonlinear Filtering N t Andreas p ( d x t | y 1: t ) = 1 � Kl¨ ockner ˆ δ x ( i ) t ( d x t ) . N t Outline i =1 Nonlinear Then insert that into the prediction formula: Filtering Monte Carlo Filters N t p ( d x t +1 | y 1: t ) = 1 � p ( d x t +1 | x ( i ) Particle Filters ˆ t ) Importance N t Sampling i =1 Quadrature Filters and the update formula: Error Estimates Continuous- Time N t 1 � Filtering p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . ˜ C t +1 · N t i =1 Problem: (Generally) Nontrivial to sample from! Andreas Kl¨ ockner Nonlinear Filtering

  37. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  38. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  39. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline . . . that may only be known up to a proportionality Nonlinear constant. Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  40. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline . . . that may only be known up to a proportionality Nonlinear constant. Filtering Recall our particle update formula: Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  41. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline . . . that may only be known up to a proportionality Nonlinear constant. Filtering Recall our particle update formula: Monte Carlo Filters Particle Filters N t Importance 1 � Sampling p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . Quadrature ˜ C t +1 · N t Filters i =1 Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  42. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline . . . that may only be known up to a proportionality Nonlinear constant. Filtering Recall our particle update formula: Monte Carlo Filters Particle Filters N t Importance 1 � Sampling p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . Quadrature ˜ C t +1 · N t Filters i =1 Error Estimates Continuous- That’s exactly our situation. Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  43. Importance Sampling Nonlinear Filtering Importance Sampling lets you sample. . . Andreas Kl¨ ockner . . . from an (almost) arbitrary density. . . Outline . . . that may only be known up to a proportionality Nonlinear constant. Filtering Recall our particle update formula: Monte Carlo Filters Particle Filters N t Importance 1 � Sampling p ( y t +1 | x t +1 ) p ( x t +1 | x ( i ) p ( x t +1 | y 1: t +1 ) = ˆ t ) . Quadrature ˜ C t +1 · N t Filters i =1 Error Estimates Continuous- That’s exactly our situation. Time Filtering Trick: Give each particle a weight in addition to its position. Andreas Kl¨ ockner Nonlinear Filtering

  44. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  45. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  46. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  47. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering –the importance density Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  48. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering –the importance density Monte Carlo Then assign Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  49. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering –the importance density Monte Carlo Then assign Filters Particle Filters Importance Sampling w ( i ) ∝ p ( x ( i ) ) Quadrature Filters π ( x ( i ) ) Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  50. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering –the importance density Monte Carlo Then assign and normalize the weights Filters Particle Filters Importance Sampling w ( i ) ∝ p ( x ( i ) ) w ( i ) w ( i ) := Quadrature ˜ j w ( j ) . � Filters π ( x ( i ) ) Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  51. Importance Sampling in Detail Nonlinear Filtering Suppose we have: Andreas Kl¨ ockner p ( x ) ∝ q ( x ) not easy to sample from, q known exactly Outline π ( x ) a different density that is easy to sample from Nonlinear Filtering –the importance density Monte Carlo Then assign and normalize the weights Filters Particle Filters Importance Sampling w ( i ) ∝ p ( x ( i ) ) w ( i ) w ( i ) := Quadrature ˜ j w ( j ) . � Filters π ( x ( i ) ) Error Estimates Continuous- Any unkown proportionality constant in p or w goes away in Time Filtering the normalization step. Andreas Kl¨ ockner Nonlinear Filtering

  52. Why and How Importance Sampling Works Nonlinear Filtering Now Andreas N Kl¨ ockner � w ( i ) δ ( x − x ( i ) ) , p ( x ) ≈ ˆ p ( x ) := ˜ Outline i =1 Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  53. Why and How Importance Sampling Works Nonlinear Filtering Now Andreas N Kl¨ ockner � w ( i ) δ ( x − x ( i ) ) , p ( x ) ≈ ˆ p ( x ) := ˜ Outline i =1 Nonlinear assuming the particles x ( i ) have been drawn using π ( x ). Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  54. Why and How Importance Sampling Works Nonlinear Filtering Now Andreas N Kl¨ ockner � w ( i ) δ ( x − x ( i ) ) , p ( x ) ≈ ˆ p ( x ) := ˜ Outline i =1 Nonlinear assuming the particles x ( i ) have been drawn using π ( x ). Filtering Monte Carlo Why? Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  55. Why and How Importance Sampling Works Nonlinear Filtering Now Andreas N Kl¨ ockner � w ( i ) δ ( x − x ( i ) ) , p ( x ) ≈ ˆ p ( x ) := ˜ Outline i =1 Nonlinear assuming the particles x ( i ) have been drawn using π ( x ). Filtering Monte Carlo Why? Filters Particle Filters A uniformly weighted distribution sampled from p ( x ) is Importance Sampling (approximately) the same as a distribution weighted with Quadrature p ( x ) /π ( x ) sampled from π ( x ). Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  56. Why and How Importance Sampling Works Nonlinear Filtering Now Andreas N Kl¨ ockner � w ( i ) δ ( x − x ( i ) ) , p ( x ) ≈ ˆ p ( x ) := ˜ Outline i =1 Nonlinear assuming the particles x ( i ) have been drawn using π ( x ). Filtering Monte Carlo Why? Filters Particle Filters A uniformly weighted distribution sampled from p ( x ) is Importance Sampling (approximately) the same as a distribution weighted with Quadrature p ( x ) /π ( x ) sampled from π ( x ). Filters Error Estimates � � Continuous- f ( x ) p ( x ) Time π ( x ) π ( x ) d x = f ( x ) p ( x ) d x . Filtering Andreas Kl¨ ockner Nonlinear Filtering

  57. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  58. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  59. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  60. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Recall the joint update equation Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  61. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Recall the joint update equation Monte Carlo Filters Particle Filters p ( x 0: t | y 1: t ) ∝ p ( x 0: t − 1 | y 1: t − 1 ) p ( y t | x t ) p ( x t | x t − 1 ) . Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  62. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Recall the joint update equation Monte Carlo Filters Particle Filters p ( x 0: t | y 1: t ) ∝ p ( x 0: t − 1 | y 1: t − 1 ) p ( y t | x t ) p ( x t | x t − 1 ) . Importance Sampling Quadrature Filters This yields the weight update equation Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  63. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Recall the joint update equation Monte Carlo Filters Particle Filters p ( x 0: t | y 1: t ) ∝ p ( x 0: t − 1 | y 1: t − 1 ) p ( y t | x t ) p ( x t | x t − 1 ) . Importance Sampling Quadrature Filters This yields the weight update equation Error Estimates Continuous- ∝ p ( x ( i ) Time 0: t | y 1: t ) Filtering w ( i ) = t π ( x ( i ) 0: t | y 1: t ) Andreas Kl¨ ockner Nonlinear Filtering

  64. Sequential Importance Sampling Nonlinear Particle Framework + Importance Sampling = ? Filtering Andreas To maintain the recursive update property, demand Kl¨ ockner Outline π ( x 0: t | y 1: t ) = π ( x 0: t − 1 | y 1: t − 1 ) π ( x t | x 0: t − 1 , y 1: t ) . Nonlinear Filtering Recall the joint update equation Monte Carlo Filters Particle Filters p ( x 0: t | y 1: t ) ∝ p ( x 0: t − 1 | y 1: t − 1 ) p ( y t | x t ) p ( x t | x t − 1 ) . Importance Sampling Quadrature Filters This yields the weight update equation Error Estimates Continuous- p ( y t | x ( i ) t ) p ( x ( i ) t | x ( i ) ∝ p ( x ( i ) Time t − 1 ) 0: t | y 1: t ) Filtering w ( i ) = w ( i ) . t t − 1 π ( x ( i ) π ( x ( i ) t | x ( i ) 0: t | y 1: t ) 0: t − 1 , y 1: t ) Andreas Kl¨ ockner Nonlinear Filtering

  65. Choice of Importance Density Nonlinear Filtering Andreas Kl¨ ockner Choosing a good π ( x ) is extremely important. Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  66. Choice of Importance Density Nonlinear Filtering Andreas Kl¨ ockner Choosing a good π ( x ) is extremely important. It can direct particles to interesting parts of the state space–or Outline far away from there. Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  67. Choice of Importance Density Nonlinear Filtering Andreas Kl¨ ockner Choosing a good π ( x ) is extremely important. It can direct particles to interesting parts of the state space–or Outline far away from there. Nonlinear Filtering Goal: Keep the weights as uniform as possible. Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  68. Choice of Importance Density Nonlinear Filtering Andreas Kl¨ ockner Choosing a good π ( x ) is extremely important. It can direct particles to interesting parts of the state space–or Outline far away from there. Nonlinear Filtering Goal: Keep the weights as uniform as possible. Monte Carlo Filters Particle Filters Optimal choice: Importance Sampling Quadrature π opt ( x t | x ( i ) t − 1 , y t ) = p ( x t | x ( i ) Filters t − 1 y t ) . Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  69. Choice of Importance Density Nonlinear Filtering Andreas Kl¨ ockner Choosing a good π ( x ) is extremely important. It can direct particles to interesting parts of the state space–or Outline far away from there. Nonlinear Filtering Goal: Keep the weights as uniform as possible. Monte Carlo Filters Particle Filters Optimal choice: Importance Sampling Quadrature π opt ( x t | x ( i ) t − 1 , y t ) = p ( x t | x ( i ) Filters t − 1 y t ) . Error Estimates Continuous- Not usually easy to sample from → back to original problem. Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  70. Choice of Importance Density Nonlinear Filtering Popular choice: Andreas Kl¨ ockner π prior ( x t | x ( i ) t − 1 , y t ) := p ( x t | x ( i ) t − 1 ) Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  71. Choice of Importance Density Nonlinear Filtering Popular choice: Andreas Kl¨ ockner π prior ( x t | x ( i ) t − 1 , y t ) := p ( x t | x ( i ) t − 1 ) Outline Nonlinear Filtering Readily available and often Gaussian → easy choice. Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  72. Choice of Importance Density Nonlinear Filtering Popular choice: Andreas Kl¨ ockner π prior ( x t | x ( i ) t − 1 , y t ) := p ( x t | x ( i ) t − 1 ) Outline Nonlinear Filtering Readily available and often Gaussian → easy choice. Monte Carlo Ignores observations → not always a good choice. Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  73. Choice of Importance Density Nonlinear Filtering Popular choice: Andreas Kl¨ ockner π prior ( x t | x ( i ) t − 1 , y t ) := p ( x t | x ( i ) t − 1 ) Outline Nonlinear Filtering Readily available and often Gaussian → easy choice. Monte Carlo Ignores observations → not always a good choice. Filters Particle Filters Weight update for π prior : Importance Sampling Quadrature Filters p ( y t | x ( i ) t ) p ( x ( i ) t | x ( i ) t − 1 ) Error Estimates w ( i ) ∝ w ( i ) = w ( i ) t − 1 p ( y t | x ( i ) t ) . t t − 1 Continuous- π ( x ( i ) t | x ( i ) t − 1 , y t ) Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  74. Choice of Importance Density Nonlinear Filtering Popular choice: Andreas Kl¨ ockner π prior ( x t | x ( i ) t − 1 , y t ) := p ( x t | x ( i ) t − 1 ) Outline Nonlinear Filtering Readily available and often Gaussian → easy choice. Monte Carlo Ignores observations → not always a good choice. Filters Particle Filters Weight update for π prior : Importance Sampling Quadrature Filters p ( y t | x ( i ) t ) p ( x ( i ) t | x ( i ) t − 1 ) Error Estimates w ( i ) ∝ w ( i ) = w ( i ) t − 1 p ( y t | x ( i ) t ) . t t − 1 Continuous- π ( x ( i ) t | x ( i ) t − 1 , y t ) Time Filtering → Actually implementable algorithm. Andreas Kl¨ ockner Nonlinear Filtering

  75. SIS Implementation Nonlinear def s i s ( model , n=1000, max time =20): Filtering p a r t i c l e s = [ model . s a m p l e i n i t i a l () for i in range (n ) ] p a r t i c l e h i s t o r y = [ p a r t i c l e s ] Andreas Kl¨ ockner weights = [1/ n for i in range (n ) ] w e i g h t h i s t o r y = [ weights ] Outline Nonlinear x = model . s a m p l e i n i t i a l () Filtering x h i s t o r y = [ x ] Monte Carlo Filters for t in range (1 , max time ) : Particle Filters x = model . s a m p l e t r a n s i t i o n ( t , x ) Importance Sampling y = model . sampl e observation ( t , x ) Quadrature x h i s t o r y . append ( x ) Filters Error Estimates e v o l v e d p a r t i c l e s = [ model . s a m p l e t r a n s i t i o n ( t , xp ) xp for Continuous- weights = [ weight ∗ model . o b s e r v a t i o n d e n s i t y ( t , y , xtp ) Time weight , xtp z i p ( weights , e v o l v e d p a r t i c l e s ) for in Filtering weight sum = sum( weights ) weights = [ weight / weight sum weight weights ] for in p a r t i c l e h i s t o r y . append ( p a r t i c l e s ) w e i g h t h i s t o r y . append ( weights ) Andreas Kl¨ ockner Nonlinear Filtering

  76. SIS Results Nonlinear SIS Method Filtering trajectory Andreas posterior Kl¨ ockner Outline Nonlinear Filtering Density Density Monte Carlo Filters 1 Particle Filters 0.8 20 Importance Sampling 0.6 18 16 Quadrature 0.4 14 Filters 0.2 12 Error Estimates 0 10 Time Continuous- 8 Time 6 Filtering 40 4 30 20 10 0 2 -10 -20 -30 0 -40 x Andreas Kl¨ ockner Nonlinear Filtering

  77. Sequential Importance Resampling Pure SIS degenerates → all weight on one particle. Nonlinear Filtering Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

  78. Sequential Importance Resampling Pure SIS degenerates → all weight on one particle. Nonlinear Filtering Idea: Andreas Kl¨ ockner Outline Nonlinear Filtering Monte Carlo Filters Particle Filters Importance Sampling Quadrature Filters Error Estimates Continuous- Time Filtering Andreas Kl¨ ockner Nonlinear Filtering

Recommend


More recommend