bdm::BM Class Reference

Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities. More...

#include <libBM.h>

List of all members.

Public Member Functions

Constructors
 BM ()
 BM (const BM &B)
virtual BM_copy_ () const
Mathematical operations
virtual void bayes (const vec &dt)=0
 Incremental Bayes rule.
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 epdfepredictor () const
 Constructs a predictive density $ f(d_{t+1} |d_{t}, \ldots d_{0}) $.
virtual mpdfpredictor () 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)
virtual const epdfposterior () const =0
virtual const epdf_e () const =0

Protected Attributes

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

RV rvc
 Name of extension variable.
const RV_rvc () const
 access function
virtual void condition (const vec &val)
 Substitute val for rvc.

Logging of results

ivec LIDs
 IDs of storages in loggers.
bool opt_L_bounds
 Option for logging bounds.
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)


Detailed Description

Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities.

This object represents exact or approximate evaluation of the Bayes rule:

\[ f(\theta_t | d_1,\ldots,d_t) = \frac{f(y_t|\theta_t,\cdot) f(\theta_t|d_1,\ldots,d_{t-1})}{f(y_t|d_1,\ldots,d_{t-1})} \]

Access to the resulting posterior density is via function posterior().

As a "side-effect" it also evaluates log-likelihood of the data, which can be accessed via function _ll(). It can also evaluate predictors of future values of $y_t$, see functions epredictor() and predictor().

Alternatively, it can evaluate posterior density conditioned by a known constant, $ c_t $:

\[ f(\theta_t | c_t, d_1,\ldots,d_t) \propto f(y_t,\theta_t|c_t,\cdot, d_1,\ldots,d_{t-1}) \]

The value of $ c_t $ is set by function condition().


Member Function Documentation

virtual BM* bdm::BM::_copy_ (  )  const [inline, virtual]

Copy function required in vectors, Arrays of BM etc. Have to be DELETED manually! Prototype:

 BM* _copy_() const {return new BM(*this);} 

Reimplemented in bdm::ARX, bdm::KalmanCh, bdm::EKF< sq_T >, bdm::EKFCh, and bdm::BMEF.

virtual void bdm::BM::bayes ( const vec &  dt  )  [pure virtual]

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

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 logpred_m().


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

Generated on Fri Mar 6 15:01:39 2009 for mixpp by  doxygen 1.5.8