Merger using importance sampling with mixture proposal density. More...
Merger using importance sampling with mixture proposal density.
#include <merger.h>
Public Member Functions | |
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_mix () | |
merger_mix (const Array< shared_ptr< mpdf > > &S) | |
void | set_sources (const Array< shared_ptr< mpdf > > &S) |
Set sources and prepare all internal structures. | |
void | set_parameters (int Ncoms0=DFLT_Ncoms, double effss_coef0=DFLT_effss_coef) |
Set internal parameters used in approximation. | |
Mathematical operations | |
void | merge () |
Merge values using mixture approximation. | |
vec | sample () const |
sample from the approximating mixture | |
double | evallog (const vec &dt) const |
loglikelihood computed on mixture models | |
Access functions | |
MixEF & | _Mix () |
Access function. | |
emix * | proposal () |
Access function. | |
void | from_setting (const Setting &set) |
from_settings | |
Constructors | |
void | set_support (rectangular_support &Sup) |
Set support points from rectangular grid. | |
void | set_support (discrete_support &Sup) |
Set support points from dicrete grid. | |
void | set_support (const epdf &overall, int N) |
Set support points from a pdf by drawing N samples. | |
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. | |
Mathematical operations | |
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 | validate () |
This method TODO. | |
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. | |
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 | |
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 | |
MixEF | Mix |
Internal mixture of EF models. | |
int | Ncoms |
Number of components in a mixture. | |
double | effss_coef |
coefficient of resampling [0,1] | |
int | stop_niter |
stop after niter iterations | |
Array< shared_ptr< mpdf > > | mpdfs |
Elements of composition. | |
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 | |
int | dim |
dimension of the random variable | |
RV | rv |
Description of the random variable. | |
Static Protected Attributes | |
static const int | DFLT_Ncoms = 10 |
default value for Ncoms | |
static const double | DFLT_effss_coef = 0.5 |
default value for efss_coef; | |
static const MERGER_METHOD | DFLT_METHOD = LOGNORMAL |
Default for METHOD. | |
static const double | DFLT_beta = 1.2 |
default for beta |
vec bdm::merger_base::mean | ( | ) | const [inline, virtual, inherited] |
weight w is a
sample from merged density
Reimplemented from bdm::epdf.
References bdm::eEmp::_samples(), bdm::eEmp::_w(), bdm::epdf::dim, bdm::merger_base::eSmp, and bdm::merger_base::Npoints.
Referenced by bdm::merger_base::variance().