#include <merger.h>
| Public Member Functions | |
| void | set_elements (Array< mpdf * > A0, bool own=false) | 
| RV | getrv (bool checkoverlap=false) | 
| find common rv, flag | |
| void | setrvc (const RV &rv, RV &rvc) | 
| common rvc of all mpdfs is written to rvc | |
| 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 | |
| merger_base () | |
| Empty constructor. | |
| merger_base (const Array< mpdf * > &S, bool own=false) | |
| Constructor from sources. | |
| void | set_sources (const Array< mpdf * > &Sources, bool own) | 
| Function setting the main internal structures. | |
| void | set_support (const Array< vec > &XYZ, const int dimsize) | 
| Rectangular support each vector of XYZ specifies (begining-end) interval for each dimension. Same number of points, dimsize, in each dimension. | |
| void | set_support (const Array< vec > &XYZ, const ivec &gridsize) | 
| Rectangular support each vector of XYZ specifies (begining-end) interval for each dimension. gridsizespecifies number of points is each dimension. | |
| void | set_debug_file (const string fname) | 
| set debug file | |
| void | set_method (MERGER_METHOD MTH=DFLT_METHOD, double beta0=DFLT_beta) | 
| Set internal parameters used in approximation. | |
| void | set_support (const epdf &overall, int N) | 
| Set support points from a pdf by drawing N samples. | |
| virtual | ~merger_base () | 
| Destructor. | |
| Mathematical operations | |
| virtual void | merge () | 
| Merge given sources in given points. | |
| vec | merge_points (mat &lW) | 
| Merge log-likelihood values in points using method specified by parameter METHOD. | |
| vec | mean () const | 
| weight w is a | |
| mat | covariance () const | 
| vec | variance () const | 
| return expected variance (not covariance!) | |
| Access to attributes | |
| eEmp & | _Smp () | 
| Access function. | |
| void | from_setting (const Setting &set) | 
| load from setting | |
| void | validate () | 
| This method TODO. | |
| Constructors | |
| Construction of each epdf should support two types of constructors:  
 
 set_parameters(). This way references can be initialized in constructors. | |
| void | set_parameters (int dim0) | 
| Matematical Operations | |
| virtual vec | sample () const | 
| Returns a sample,  from density  . | |
| virtual mat | sample_m (int N) const | 
| Returns N samples,  from density  . | |
| virtual double | evallog (const vec &val) const | 
| Compute log-probability of argument val. | |
| 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 mpdf * | condition (const RV &rv) const | 
| Return conditional density on the given RV, the remaining rvs will be in conditioning. | |
| virtual epdf * | marginal (const RV &rv) const | 
| Return marginal density on the given RV, the remainig rvs are intergrated out. | |
| virtual void | qbounds (vec &lb, vec &ub, double percentage=0.95) const | 
| Lower and upper bounds of percentage% quantile, returns mean-2*sigma as default. | |
| Connection to other classes | |
| Description of the random quantity via attribute  rvis optional. For operations such as samplingrvdoes not need to be set. However, formarginalizationandconditioningrvhas to be set. NB: | |
| 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 | |
| Array< datalink_m2e * > | dls | 
| Data link for each mpdf in mpdfs. | |
| Array< RV > | rvzs | 
| Array of rvs that are not modelled by mpdfs at all,  . | |
| Array< datalink_m2e * > | zdls | 
| Data Links for extension  . | |
| int | Npoints | 
| number of support points | |
| int | Nsources | 
| number of sources | |
| MERGER_METHOD | METHOD | 
| switch of the methoh used for merging | |
| double | beta | 
| Prior on the log-normal merging model. | |
| eEmp | eSmp | 
| Projection to empirical density (could also be piece-wise linear). | |
| bool | DBG | 
| debug or not debug | |
| it_file * | dbg_file | 
| debugging file | |
| Array< mpdf * > | mpdfs | 
| Elements of composition. | |
| bool | owning_mpdfs | 
| int | dim | 
| dimension of the random variable | |
| RV | rv | 
| Description of the random variable. | |
| Static Protected Attributes | |
| static const MERGER_METHOD | DFLT_METHOD = LOGNORMAL | 
| Default for METHOD. | |
| static const double | DFLT_beta = 1.2 | 
| default for beta | |
Mixtures of Gaussian densities are used internally. Switching to other densities should be trivial.
The merged pdfs are expected to be of the form:
![\[ f(x_i|y_i), i=1..n \]](form_97.png) 
 where the resulting merger is a density on ![$ \cup [x_i,y_i] $](form_98.png) . Note that all variables will be joined.
 . Note that all variables will be joined.
As a result of this feature, each source must be extended to common support
![\[ f(z_i|y_i,x_i) f(x_i|y_i) f(y_i) i=1..n \]](form_99.png) 
 where  accumulate variables that were not in the original source. These extensions are calculated on-the-fly.
 accumulate variables that were not in the original source. These extensions are calculated on-the-fly.
However, these operations can not be performed in general. Hence, this class merges only sources on common support,  . For merging of more general cases, use offsprings merger_mix and merger_grid.
. For merging of more general cases, use offsprings merger_mix and merger_grid. 
| RV bdm::compositepdf::getrv | ( | bool | checkoverlap = false | ) |  [inherited] | 
find common rv, flag
| checkoverlap | modifies whether overlaps are acceptable | 
References bdm::RV::add(), and bdm::compositepdf::mpdfs.
Referenced by set_sources().
| vec bdm::merger_base::mean | ( | ) | const  [inline, virtual] | 
weight w is a
sample from merged density
Reimplemented from bdm::epdf.
References bdm::eEmp::_samples(), bdm::eEmp::_w(), bdm::epdf::dim, eSmp, and Npoints.
Referenced by variance().
 1.5.8
 1.5.8