bdm::MPF Class Reference

Marginalized Particle filter. More...


Detailed Description

Marginalized Particle filter.

A composition of particle filter with exact (or almost exact) bayesian models (BMs). The Bayesian models provide marginalized predictive density. Internaly this is achieved by virtual class MPFmpdf.

#include <particles.h>

List of all members.

Classes

class  mpfepdf
 internal class for MPDF providing composition of eEmp with external components More...

Public Member Functions

 MPF ()
 Default constructor.
void set_parameters (shared_ptr< mpdf > par0, shared_ptr< mpdf > obs0, int n0, RESAMPLING_METHOD rm=SYSTEMATIC)
 set all parameters at once
void set_BM (const BM &BMcond0)
 set a prototype of BM, copy it to as many times as there is particles in pf
void bayes (const vec &dt)
 Incremental Bayes rule.
const epdfposterior () const
 return posterior density
void set_options (const string &opt)
const BM_BM (int i)
 Access function.
void from_setting (const Setting &set)
void validate ()
 This method TODO.
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.
Constructors



virtual BM_copy_ () const
 Copy function required in vectors, Arrays of BM etc. Have to be DELETED manually! Prototype:.
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 epdfepredictor () const
 Constructs a predictive density $ f(d_{t+1} |d_{t}, \ldots d_{0}) $.
virtual mpdfpredictor () const
 Constructs conditional density of 1-step ahead predictor $ f(d_{t+1} |d_{t+h-1}, \ldots d_{t}) $.
Access to attributes

access function



const RV_drv () const
void set_drv (const RV &rv)
 access function
void set_rv (const RV &rv)
 access to rv of the posterior
double _ll () const
 return internal log-likelihood of the last data vector
void set_evalll (bool evl0)
 switch evaluation of log-likelihood on/off

Protected Attributes

shared_ptr< PFpf
 particle filter on non-linear variable
Array< BM * > BMs
 Array of Bayesian models.
mpfepdf jest
 Density joining PF.est with conditional parts.
bool opt_L_mea
 Log means of BMs.
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 log_add (logger &L, const string &name="")
 Add all logged variables to a logger.
virtual void logit (logger &L)
 Save results to the given logger, details of what is stored is configured by LIDs and options.
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.

Member Function Documentation

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::ARXfrg, bdm::KalmanFull, bdm::KalmanCh, bdm::EKFCh, and bdm::BMEF.

Referenced by set_BM().

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

Incremental Bayes rule.

Parameters:
dt vector of input data

Implements bdm::BM.

References BMs, bdm::BM::condition(), and pf.

void bdm::MPF::from_setting ( const Setting &  set  )  [inline, virtual]

configuration structure for basic PF

        BM              = BM_class;           // Bayesian filtr for analytical part of the model
        parameter_pdf   = mpdf_class;         // transitional pdf for non-parametric part of the model
        prior           = epdf_class;         // prior probability density
        --- optional ---
        n               = 10;                 // number of particles
        resmethod       = 'systematic', or 'multinomial', or 'stratified'
                                                                                  // resampling method

Reimplemented from bdm::BM.

References bdm::UI::get(), pf, set_BM(), bdm::BM::set_drv(), set_options(), and validate().

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

void bdm::MPF::set_options ( const string &  opt  )  [inline, virtual]

Extends options understood by BM::set_options by option

  • logmeans - meaning

Reimplemented from bdm::BM.

References opt_L_mea.

Referenced by from_setting().


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

Generated on Thu Oct 15 00:07:49 2009 for mixpp by  doxygen 1.6.1