(Switching) Multiple Model The model runs several models in parallel and evaluates thier weights (fittness). More...
(Switching) Multiple Model The model runs several models in parallel and evaluates thier weights (fittness).
The statistics of the resulting density are merged using (geometric?) combination.
The next step is performed with the new statistics for all models.
#include <kalman.h>
Public Member Functions | |
void | set_parameters (Array< EKFCh * > A, int pol0=1) |
void | bayes (const vec &dt) |
Incremental Bayes rule. | |
const enorm< chmat > & | posterior () const |
posterior density | |
void | from_setting (const Setting &set) |
This method arrange instance properties according the data stored in the Setting structure. | |
virtual string | to_string () |
This method returns a basic info about the current instance. | |
virtual void | to_setting (Setting &set) const |
This method save all the instance properties into the Setting structure. | |
virtual void | validate () |
This method TODO. | |
Constructors | |
virtual BM * | _copy_ () const |
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 . | |
virtual mpdf * | predictor () const |
Constructs conditional density of 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 | |
Array< EKFCh * > | Models |
List of models between which we switch. | |
vec | w |
vector of model weights | |
vec | _lls |
cache of model lls | |
int | policy |
type of switching policy [1=maximum,2=...] | |
enorm< chmat > | est |
internal statistics | |
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 | |
virtual void | condition (const vec &val) |
Substitute val for rvc . | |
RV | rvc |
Name of extension variable. | |
Logging of results | |
| |
virtual void | set_options (const string &opt) |
Set boolean options from a string, recognized are: "logbounds,logll". | |
virtual void | log_add (logger &L, const string &name="") |
Add all logged variables to a logger. | |
virtual void | logit (logger &L) |
ivec | LIDs |
IDs of storages in loggers 4:[1=mean,2=lb,3=ub,4=ll]. | |
ivec | LFlags |
Flags for logging - same size as LIDs, each entry correspond to the same in LIDs. |
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::EKFCh, and bdm::BMEF.
void bdm::MultiModel::bayes | ( | const vec & | dt | ) | [inline, virtual] |
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.
References bdm_error.
Referenced by bdm::BM::logpred_m().