#include <merger.h>
Public Member Functions | |
merger (const Array< mpdf * > &S) | |
Default constructor. | |
void | set_parameters (double beta0, int Ns0, int Nc0) |
Set internal parameters used in approximation. | |
void | init () |
Initialize the proposal density. This function must be called before merge()! | |
void | merge (const epdf *g0) |
Create a mixture density using known proposal. | |
void | merge () |
Create a mixture density, make sure to call init() before the first call. | |
vec | lognorm_merge (mat &lW) |
Merge log-likelihood values. | |
vec | sample () const |
double | evallog (const vec &dt) const |
Compute log-probability of argument val . | |
vec | mean () const |
return expected value | |
mat | covariance () const |
vec | variance () const |
return expected variance (not covariance!) | |
virtual | ~merger () |
for future use | |
MixEF & | _Mix () |
Access function. | |
eEmp & | _Smp () |
Access function. | |
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 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 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. | |
const RV & | _rv () const |
access function, possibly dangerous! | |
void | _renewrv (const RV &in_rv) |
modifier function - useful when copying epdfs | |
Protected Attributes | |
MixEF | Mix |
Internal mixture of EF models. | |
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 (aux). | |
Array< datalink_m2e * > | zdls |
Data Links of rv0 mpdfs - these will be conditioned the (rv,rvc) of mpdfs. | |
int | Ns |
Number of samples used in approximation. | |
int | Nc |
Number of components in a mixture. | |
double | beta |
Prior on the log-normal merging model. | |
eEmp | eSmp |
Projection to empirical density. | |
int | n |
Number of mpdfs in the composite. | |
Array< mpdf * > | mpdfs |
Elements of composition. | |
RV | rv |
Identified of the random variable. |
Mixtures of Gaussian densities are used internally. Switching to other densities should be trivial.
vec bdm::merger::sample | ( | ) | const [inline, virtual] |
sample from merged density weight w is a
Implements bdm::epdf.
References bdm::MixEF::_epdf(), Mix, and bdm::epdf::sample().
RV bdm::compositepdf::getrv | ( | bool | checkoverlap = false |
) | [inherited] |
find common rv, flag
checkoverlap | modifies whether overlaps are acceptable |
References bdm::RV::add(), bdm::compositepdf::mpdfs, and bdm::compositepdf::n.