#include <libEF.h>

| 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 | |
| virtual void | condition (const vec &val) | 
| Substitute valforrvc. | |
| 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. | |
| Public Member Functions | |
| multiBM () | |
| Default constructor. | |
| multiBM (const multiBM &B) | |
| Copy constructor. | |
| void | set_statistics (const BM *mB0) | 
| Sets sufficient statistics to match that of givefrom mB0. | |
| void | bayes (const vec &dt) | 
| Incremental Bayes rule. | |
| double | logpred (const vec &dt) const | 
| void | flatten (const BMEF *B) | 
| Flatten the posterior according to the given BMEF (of the same type!). | |
| const epdf & | posterior () const | 
| const eDirich * | _e () const | 
| void | set_parameters (const vec &beta0) | 
| virtual void | set_statistics (const BMEF *BM0) | 
| get statistics from another model | |
| virtual void | bayes (const vec &data, const double w) | 
| Weighted update of sufficient statistics (Bayes rule). | |
| BMEF * | _copy_ (bool changerv=false) const | 
| Flatten the posterior as if to keep nu0 data. | |
| Constructors | |
| virtual BM * | _copy_ () const | 
| Mathematical operations | |
| virtual void | bayesB (const mat &Dt) | 
| Batch Bayes rule (columns of Dt are observations). | |
| vec | logpred_m (const mat &dt) const | 
| Matrix version of logpred. | |
| virtual epdf * | epredictor () const | 
| Constructs a predictive density  . | |
| 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 | |
| eDirich | est | 
| Conjugate prior and posterior. | |
| vec & | beta | 
| Pointer inside est to sufficient statistics. | |
| double | frg | 
| forgetting factor | |
| double | last_lognc | 
| cached value of lognc() in the previous step (used in evaluation of ll) | |
| 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. | |
| void bdm::multiBM::bayes | ( | const vec & | dt | ) |  [inline, virtual] | 
Incremental Bayes rule.
| dt | vector of input data | 
Reimplemented from bdm::BMEF.
References beta, est, bdm::BM::evalll, bdm::BMEF::frg, bdm::BMEF::last_lognc, bdm::BM::ll, and bdm::eDirich::lognc().
| double bdm::multiBM::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 from bdm::BM.
References bdm::eDirich::_beta(), beta, est, bdm::BM::evalll, bdm::BMEF::frg, bdm::BMEF::last_lognc, and bdm::eDirich::lognc().
| virtual BM* bdm::BM::_copy_ | ( | ) | const  [inline, virtual, inherited] | 
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 >, and bdm::EKFCh.
 1.5.6
 1.5.6