#include <libEF.h>
Public Member Functions | |
multiBM (const RV &rv, const vec beta0) | |
Default constructor. | |
multiBM (const multiBM &B) | |
Copy constructor. | |
void | set_statistics (const BM *mB0) |
void | bayes (const vec &dt) |
Incremental Bayes rule. | |
double | logpred (const vec &dt) const |
void | flatten (BMEF *B) |
Flatten the posterior. | |
const epdf & | _epdf () const |
Returns a pointer to the epdf representing posterior density on parameters. Use with care! | |
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). | |
virtual void | bayesB (const mat &Dt) |
Batch Bayes rule (columns of Dt are observations). | |
const RV & | _rv () const |
access function | |
double | _ll () const |
access function | |
void | set_evalll (bool evl0) |
access function | |
virtual BM * | _copy_ (bool changerv=false) |
Protected Attributes | |
eDirich | est |
Conjugate prior and posterior. | |
vec & | beta |
double | frg |
forgetting factor | |
double | last_lognc |
cached value of lognc() in the previous step (used in evaluation of ll ) | |
RV | rv |
Random variable of the posterior. | |
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 multiBM::bayes | ( | const vec & | dt | ) | [inline, virtual] |
Incremental Bayes rule.
dt | vector of input data |
Reimplemented from BMEF.
References est, BM::evalll, BMEF::frg, BMEF::last_lognc, BM::ll, and eDirich::lognc().
Referenced by MixEF::bayes().
double 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 BM.
References eDirich::_beta(), est, BM::evalll, BMEF::frg, BMEF::last_lognc, and eDirich::lognc().
Referenced by MixEF::bayes().
virtual BM* BM::_copy_ | ( | bool | changerv = false |
) | [inline, virtual, inherited] |
Copy function required in vectors, Arrays of BM etc. Have to be DELETED manually! Prototype: BM* _copy_(){BM Tmp*=new Tmp(this*); return Tmp; }
Reimplemented in ARX.
Referenced by MixEF::MixEF().