Weighted empirical density. More...
Weighted empirical density.
Used e.g. in particle filters.
#include <exp_family.h>
| Public Member Functions | |
| void | set_statistics (const vec &w0, const epdf &pdf0) | 
| Set samples and weights. | |
| void | set_statistics (const epdf &pdf0, int n) | 
| Set samples and weights. | |
| void | set_samples (const epdf *pdf0) | 
| Set sample. | |
| void | set_parameters (int n0, bool copy=true) | 
| Set sample. | |
| void | set_parameters (const Array< vec > &Av) | 
| Set samples. | |
| vec & | _w () | 
| Potentially dangerous, use with care. | |
| const vec & | _w () const | 
| Potentially dangerous, use with care. | |
| Array< vec > & | _samples () | 
| access function | |
| const vec & | _sample (int i) const | 
| access function | |
| const Array< vec > & | _samples () const | 
| access function | |
| void | resample (ivec &index, RESAMPLING_METHOD method=SYSTEMATIC) | 
| void | resample (RESAMPLING_METHOD method=SYSTEMATIC) | 
| Resampling without returning index of new particles. | |
| vec | sample () const | 
| inherited operation : NOT implemented | |
| double | evallog (const vec &val) const | 
| inherited operation : NOT implemented | |
| vec | mean () const | 
| return expected value | |
| vec | variance () const | 
| return expected variance (not covariance!) | |
| void | qbounds (vec &lb, vec &ub, double perc=0.95) const | 
| For this class, qbounds are minimum and maximum value of the population! | |
| void | from_setting (const Setting &set) | 
| Load from structure with elements:. | |
| 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 | |
| eEmp () | |
| eEmp (const eEmp &e) | |
| copy constructor | |
| Constructors | |
| Construction of each epdf should support two types of constructors: 
 The following constructors should be supported for convenience: 
 All internal data structures are constructed as empty. Their values (including sizes) will be set by method  | |
| void | set_parameters (int dim0) | 
| Matematical Operations | |
| virtual mat | sample_m (int N) const | 
| Returns N samples,  from density  . | |
| virtual vec | evallog_m (const mat &Val) const | 
| Compute log-probability of multiple values argument val. | |
| virtual vec | evallog_m (const Array< vec > &Avec) const | 
| Compute log-probability of multiple values argument val. | |
| virtual shared_ptr< mpdf > | condition (const RV &rv) const | 
| Return conditional density on the given RV, the remaining rvs will be in conditioning. | |
| virtual shared_ptr< epdf > | marginal (const RV &rv) const | 
| Return marginal density on the given RV, the remainig rvs are intergrated out. | |
| Connection to other classes | |
| void | set_rv (const RV &rv0) | 
| Name its rv. | |
| bool | isnamed () const | 
| True if rv is assigned. | |
| const RV & | _rv () const | 
| Return name (fails when isnamed is false). | |
| Access to attributes | |
| int | dimension () const | 
| Size of the random variable. | |
| Protected Attributes | |
| int | n | 
| Number of particles. | |
| vec | w | 
| Sample weights  . | |
| Array< vec > | samples | 
| Samples  . | |
| int | dim | 
| dimension of the random variable | |
| RV | rv | 
| Description of the random variable. | |
| void bdm::epdf::from_setting | ( | const Setting & | set | ) |  [inline, virtual, inherited] | 
Load from structure with elements:.
         { rv = {class="RV", names=(...),}; // RV describing meaning of random variable
           // elements of offsprings
         }
Reimplemented from bdm::root.
Reimplemented in bdm::mexEpdf, bdm::enorm< sq_T >, bdm::egiw, bdm::eDirich, bdm::egamma, bdm::euni, bdm::merger_base, bdm::merger_mix, bdm::enorm< ldmat >, bdm::enorm< chmat >, and bdm::enorm< fsqmat >.
References bdm::epdf::set_rv().
| void bdm::eEmp::resample | ( | ivec & | index, | |
| RESAMPLING_METHOD | method = SYSTEMATIC | |||
| ) | 
Function performs resampling, i.e. removal of low-weight samples and duplication of high-weight samples such that the new samples represent the same density. The vector with indeces of new samples is returned in variable index. 
References bdm_error, n, samples, and w.
Referenced by bdm::PF::bayes(), and bdm::PF::resample().
 1.6.1
 1.6.1