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 Array< vec > & | _samples () const |
access function | |
ivec | resample (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. | |
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::egamma, bdm::euni, bdm::merger_base, bdm::merger_mix, bdm::enorm< ldmat >, bdm::enorm< chmat >, and bdm::enorm< fsqmat >.
References bdm::epdf::set_rv().