#include <exp_family.h>
Public Member Functions | |
vec | sample () const |
Returns a sample, from density . | |
vec | mean () const |
return expected value | |
vec | variance () const |
return expected variance (not covariance!) | |
vec | est_theta () const |
LS estimate of . | |
ldmat | est_theta_cov () const |
Covariance of the LS estimate. | |
void | mean_mat (mat &M, mat &R) const |
expected values of the linear coefficient and the covariance matrix are written to M and R , respectively | |
double | evallog_nn (const vec &val) const |
In this instance, val= [theta, r]. For multivariate instances, it is stored columnwise val = [theta_1 theta_2 ... r_1 r_2 ]. | |
double | lognc () const |
logarithm of the normalizing constant, | |
void | pow (double p) |
Power of the density, used e.g. to flatten the density. | |
virtual double | evallog (const vec &val) const |
Evaluate normalized log-probability. | |
virtual vec | evallog_m (const mat &Val) const |
Evaluate normalized log-probability for many samples. | |
virtual vec | evallog_m (const Array< vec > &Val) const |
Evaluate normalized log-probability for many samples. | |
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 | |
egiw () | |
egiw (int dimx0, ldmat V0, double nu0=-1.0) | |
void | set_parameters (int dimx0, ldmat V0, double nu0=-1.0) |
Access attributes | |
ldmat & | _V () |
const ldmat & | _V () const |
double & | _nu () |
const double & | _nu () const |
void | from_setting (const Setting &set) |
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 mat | sample_m (int N) const |
Returns N samples, from density . | |
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 | |
Description of the random quantity via attribute rv is optional. For operations such as sampling rv does not need to be set. However, for marginalization and conditioning rv has 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 | |
ldmat | V |
Extended information matrix of sufficient statistics. | |
double | nu |
Number of data records (degrees of freedom) of sufficient statistics. | |
int | dimx |
Dimension of the output. | |
int | nPsi |
Dimension of the regressor. | |
int | dim |
dimension of the random variable | |
RV | rv |
Description of the random variable. |
For -variate densities, given rv.count() should be V.rows().
void bdm::egiw::from_setting | ( | const Setting & | set | ) | [inline, virtual] |
Load from structure with elements:
{ rv = {class="RV", names=(...),}; // RV describing meaning of random variable // elements of offsprings }
Reimplemented from bdm::epdf.
References dimx, bdm::UI::get(), nu, bdm::epdf::rv, and bdm::epdf::set_rv().