Re: [Bayes++] Observation model for SIR scheme
Brought to you by:
mistevens
|
From: Michael S. <ma...@mi...> - 2006-11-16 11:57:32
|
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
--
___________________________________
Michael Stevens Systems Engineering
34128 Kassel, Germany
Phone/Fax: +49 561 5218038
Navigation Systems, Estimation and
Bayesian Filtering
http://bayesclasses.sf.net
___________________________________
|