EKF_unQ Class Reference

Extended Kalman filter with unknown Q. More...

List of all members.

Public Member Functions

void condition (const vec &Q0)
 Default constructor.
void condition (const vec &Q0)
 Default constructor.
void bayes (const vec dt)
void condition (const vec &Q0)
 Default constructor.
BM * _copy_ () const
 copy constructor duplicated - calls different set_parameters
void set_parameters (diffbifn *pfxu, diffbifn *phxu, const chmat Q0, const chmat R0)
 Set nonlinear functions for mean values and covariance matrices.
void set_parameters (const mat &A0, const mat &B0, const mat &C0, const mat &D0, const chmat &Q0, const chmat &R0)
 Set parameters with check of relevance.
void bayes (const vec &dt)
 Here dt = [yt;ut] of appropriate dimensions.
void set_statistics (const vec &mu0, const chmat &P0)
void set_est (const vec &mu0, const chmat &P0)
 Set estimate values, used e.g. in initialization.
const epdf & posterior () const
 access function
const enorm< chmat > * _e () const
mat & __K ()
 access function
vec _dP ()
 access function
Mathematical operations
virtual void bayesB (const mat &Dt)
 Batch Bayes rule (columns of Dt are observations).
virtual double logpred (const vec &dt) const
vec logpred_m (const mat &dt) const
 Matrix version of logpred.
virtual epdf * epredictor () const
 Constructs a predictive density $ f(d_{t+1} |d_{t}, \ldots d_{0}) $.
virtual mpdf * predictor () const
 Constructs a conditional density 1-step ahead predictor.
Access to attributes
const RV & _drv () const
void set_drv (const RV &rv)
void set_rv (const RV &rv)
double _ll () const
void set_evalll (bool evl0)

Protected Attributes

diffbifn * pfxu
 Internal Model f(x,u).
diffbifn * phxu
 Observation Model h(x,u).
mat preA
 pre array (triangular matrix)
mat postA
 post array (triangular matrix)
RV rvy
 Indetifier of output rv.
RV rvu
 Indetifier of exogeneous rv.
int dimx
 cache of rv.count()
int dimy
 cache of rvy.count()
int dimu
 cache of rvu.count()
mat A
 Matrix A.
mat B
 Matrix B.
mat C
 Matrix C.
mat D
 Matrix D.
chmat Q
 Matrix Q in square-root form.
chmat R
 Matrix R in square-root form.
enorm< chmatest
 posterior density on $x_t$
enorm< chmatfy
 preditive density on $y_t$
mat _K
 placeholder for Kalman gain
vec & _yp
 cache of fy.mu
chmat_Ry
 cache of fy.R
vec & _mu
 cache of est.mu
chmat_P
 cache of est.R
RV drv
 Random variable of the data (optional).
double ll
 Logarithm of marginalized data likelihood.
bool evalll
 If true, the filter will compute likelihood of the data record and store it in ll . Set to false if you want to save computational time.

Extension to conditional BM

This extension is useful e.g. in Marginalized Particle Filter (bdm::MPF). Alternatively, it can be used for automated connection to DS when the condition is observed

const RV & _rvc () const
 access function
RV rvc
 Name of extension variable.

Logging of results

void set_options (const string &opt)
 Set boolean options from a string.
void log_add (logger *L, const string &name="")
 Add all logged variables to a logger.
void logit (logger *L)
ivec LIDs
 IDs of storages in loggers.
bool opt_L_bounds
 Option for logging bounds.


Detailed Description

Extended Kalman filter with unknown Q.

Member Function Documentation

virtual double bdm::BM::logpred ( const vec &  dt  )  const [inline, virtual, inherited]

Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out.

Reimplemented in bdm::ARX, bdm::MixEF, and bdm::multiBM.

Referenced by bdm::BM::logpred_m().


The documentation for this class was generated from the following files:

Generated on Thu Apr 9 14:33:20 2009 for mixpp by  doxygen 1.5.8