#include <mixef.h>


| Public Member Functions | |
| MixEF (const Array< BMEF * > &Coms0, const vec &alpha0) | |
| Full constructor. | |
| void | init (BMEF *Com0, const mat &Data, int c=5) | 
| void | bayes (const vec &dt) | 
| Recursive EM-like algorithm (QB-variant), see Karny et. al, 2006. | |
| void | bayes (const mat &dt) | 
| EM algorithm. | |
| void | bayesB (const mat &dt) | 
| Batch Bayes rule (columns of Dt are observations). | |
| double | logpred (const vec &dt) const | 
| const epdf & | _epdf () const | 
| Returns a pointer to the epdf representing posterior density on parameters. Use with care! | |
| emix * | predictor (const RV &rv) | 
| Constructs a predictive density (marginal density on data). | |
| void | flatten (double sumw=1.0) | 
| Flatten the density as if it was not estimated from the data. | |
| vec | logpred_m (const mat &dt) const | 
| Matrix version of logpred. | |
| 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 Member Functions | |
| void | build_est () | 
| Auxiliary function for use in constructors. | |
| Protected Attributes | |
| int | n | 
| Number of components. | |
| Array< BMEF * > | Coms | 
| Models for Components of  . | |
| multiBM | weights | 
| Statistics for weights. | |
| eprod * | est | 
| Posterior on component parameters. | |
| 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. | |
An approximate estimation method for models with latent discrete variable, such as mixture models of the following kind:
![\[ f(y_t|\psi_t, \Theta) = \sum_{i=1}^{n} w_i f(y_t|\psi_t, \theta_i) \]](form_66.png) 
 where  is a known function of past outputs,
 is a known function of past outputs, ![$w=[w_1,\ldots,w_n]$](form_68.png) are component weights, and component parameters
 are component weights, and component parameters  are assumed to be mutually independent.
 are assumed to be mutually independent.  is an aggregation af all component parameters and weights, i.e.
 is an aggregation af all component parameters and weights, i.e. ![$\Theta = [\theta_1,\ldots,\theta_n,w]$](form_71.png) .
.
The characteristic feature of this model is that if the exact values of the latent variable were known, estimation of the parameters can be handled by a single model. For example, for the case of mixture models, posterior density for each component parameters would be a BayesianModel from Exponential Family.
This class uses EM-style type algorithms for estimation of its parameters. Under this simplification, the posterior density is a product of exponential family members, hence under EM-style approximate estimation this class itself belongs to the exponential family.
TODO: Extend BM to use rvc.
| void MixEF::init | ( | BMEF * | Com0, | |
| const mat & | Data, | |||
| int | c = 5 | |||
| ) | 
Initializing the mixture by a random pick of centroids from data
| Com0 | Initial component - necessary to determine its type. | |
| Data | Data on which the initialization will be done | |
| c | Initial number of components, default=5 | 
References BM::_copy_(), build_est(), Coms, est, n, multiBM::set_parameters(), and weights.
Referenced by merger::merge().
| double MixEF::logpred | ( | const vec & | dt | ) | const  [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 multiBM::_epdf(), Coms, epdf::mean(), n, and weights.
Referenced by merger::evalpdflog(), and merger::merge().
| virtual BM* BM::_copy_ | ( | bool | changerv = false | ) |  [inline, virtual, inherited] | 
 1.5.6
 1.5.6