|
Hi all, I am currently implementing a bootstrap particle filter with a particular observation distribution that I am not sure how to incorporate. I think it's best I explain in an example. Suppose I have state variables distributed according to P(x_t|x_{t-1}) and observations according to P(y_t|x_t). Let's assume that the density of x_t|x_{t-1} is ||Normal(x_{t-1},sigma^2)||. Now let's assume that the density of y_t|x_t is proportional to N(0,1) between -x_t and +x_t, a delta at -x_t with mass proportional to the integral of N(0,1) from -infinity to -x_t, and another delta at x_t with mass proportional to the integral of N(0,1) from +x_t to infinity. In a bootstrap particle filter, I would usually "propagate" my samples distributed approximately according to P(x_t|y_{1:t}) forward to approximate P(x_{t+1}|y_{1:t}), then give each particle weight proportional to the probability density function P(y_{t+1}|x_{t+1}). However, my density included delta functions which would evaluate to infinity, giving samples of |x_{t+1}| == y_{t+1} infinite weight and finite weight to |x_{t+1}| > y_{t+1}. Were my observations entirely discrete, I would use the probability mass function instead. However, this would give zero weight to samples where |x_{t+1}| > y_{t+1} and finite weight to those where |x_{t+1}| == y_{t+1}. Is there something in between I should be doing? This all comes down to measure theory, a field I'm admittedly weak in. |