Re: [Bayes++] Observation model for SIR scheme
Brought to you by:
mistevens
From: Nicola B. <nb...@es...> - 2006-11-18 14:47:33
|
Steven, I modified my model inheriting from Likelihood_observe_model and copying the likelihood function code, but I had continuosly exceptions like "Roughening X not PSD" or "zero cumulative weight sum". So I went back to the simplest example, the PV_SIR.cpp, and modified just a little the observation model multiplying z_pred[0] and Hx(0,0) by 2 (see attached file). This caused again a "zero cumulative weight sum" exception. I looked through the library's code but I could not really understand the reason of the problem. What am I doing wrong? Regards, Nicola On Thursday 16 Nov 2006 11:57, Michael Stevens wrote: > On Wednesday, 15. November 2006 22:01, Nicola Bellotto wrote: > > Steven, > > > > I am trying to implement a particle filter using the "SIR_schee", but I > > have some problem with the observation model. The filter needs a model > > derived from "Likelihood_observe_model" and four classes are already > > implemented for linear-linearized/correlated-uncorrelated models. > > OK. I think you are refering to the four General_XX_observe_model classes > in models.hpp. > > > Unfortunately my observation model is not linear (with uncorrelated > > noises), indeed I used a "Correlated_addative_observe_model" for a > > previous UKF implementation. Do you have an example of non-linear > > observation model for the SIR_scheme? > > Looking at the class 'General_LzCoAd_observe_mode', the implementation only > needs a 'Correlated_addative_observe_model' to generalise. Sadly I have > restricted the interface to a 'Linrz_correlated_observe_model' which is > unnecessary. I think I should change this in the future. > > You can easily generalise you own 'Correlated_addative_observe_model' by > inheriting from Likelihood_observe_model and copying the addition > likelihood function code from the class 'General_LzCoAd_observe_model'. The > function definitions, which compute the likelihood of a correlated Gaussian > noise are, at the end of 'bayesFltAlg.hpp'. > > > Do I have to define a new likelihood "L"? If so, I do > > not understand exactly what it is... > > For the SIR_scheme your observe model must define a likelihood function. > > I like the following from Wikipedia... > Informally, if "probability" allows us to predict unknown outcomes based > on known parameters, then "likelihood" allows us to determine unknown > parameters based on known outcomes. > > The likelihood function is at the core of all Bayesian inference. > Fundementally, all the observation models in Bayes++ define a likelihood. > Most of the definitions restrict the form the function takes however. > > These restrictions (such as Gaussian noise) allow for simple numeric > solutions. So when you use a Kalman filter, the observation likelihood is > expressed as a few matrices rather then an arbitary likelihood function. > The SIR_scheme, and other sampled solutions to Bayesian inference, have the > advantage that they can find an approximate solution when an arbitary > likelihood function is defined. > > How to define a likelihood function: > > Imagine you can define the conditional probability of some observation z, > given the system state x as p( z | x ). > > If you knew x (which you generally don't!) then you can use this function > to find the probability of a observation z. > > Conversely if you know z (which is true in our case) then fixing z in p( z > | x ) defines a function of x. This is the Likelihood function, and can be > writen L( x ). It is not a probability, for example, a continues likelihood > function will not in general integrate to 1. I has many similar properties. > > All this said, you only need to use the SIR_scheme when you have a complex > likelihood function which cannot be well approximated by any of the simpler > models. Building likelihood function of real observations can be quite > difficult however. "Bayesian Multiple Target Tracking" Lawrence D Stone, > Carl A Barlow, Thomas L Corwin is a good reference. > > As a starter, it can be quite a lot of fun to compare the results on > simiple problems between the SIR_scheme and other schemes. > > All the best, > Michael -- ------------------------------------------ Nicola Bellotto University of Essex Department of Computer Science Wivenhoe Park Colchester CO4 3SQ United Kingdom Room: 1N1.2.8 Tel. +44 (0)1206 874094 URL: http://privatewww.essex.ac.uk/~nbello ------------------------------------------ |