Inverse-Gamma posterior density. More...
#include <exp_family.h>
| Public Member Functions | |
| double | evallog (const vec &val) const | 
| Evaluate normalized log-probability. | |
| double | lognc () const | 
| logarithm of the normalizing constant,   | |
| vec & | _alpha () | 
| Returns pointer to internal alpha. Potentially dengerous: use with care! | |
| vec & | _beta () | 
| Returns pointer to internal beta. Potentially dengerous: use with care! | |
| void | from_setting (const Setting &set) | 
| void | validate () | 
| This method TODO. | |
| virtual double | evallog_nn (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 void | pow (double p) | 
| Power of the density, used e.g. to flatten the density. | |
| 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. | |
| vec | sample () const | 
| Returns a sample,  from density  . | |
| vec | mean () const | 
| Returns poiter to alpha and beta. Potentially dangerous: use with care! | |
| vec | variance () const | 
| return expected variance (not covariance!) | |
| Constructors | |
| void | set_parameters (const vec &a, const vec &b) | 
| 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 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 | |
| vec | alpha | 
| Vector  . | |
| vec | beta | 
| Vector  . | |
| int | dim | 
| dimension of the random variable | |
| RV | rv | 
| Description of the random variable. | |
Inverse-Gamma posterior density.
Multivariate inverse-Gamma density as product of independent univariate densities.
![\[ f(x|\alpha,\beta) = \prod f(x_i|\alpha_i,\beta_i) \]](form_71.png) 
Vector  has different meaning (in fact it is 1/beta as used in definition of iG)
 has different meaning (in fact it is 1/beta as used in definition of iG)
Inverse Gamma can be converted to Gamma using
![\[ x\sim iG(a,b) => 1/x\sim G(a,1/b) \]](form_73.png) 
This relation is used in sampling.
| void bdm::egamma::from_setting | ( | const Setting & | set | ) |  [inline, virtual, inherited] | 
Load from structure with elements:
 { alpha = [...];         // vector of alpha
   beta = [...];          // vector of beta
   rv = {class="RV",...}  // description
 }
Reimplemented from bdm::epdf.
References bdm::egamma::alpha, bdm::UI::get(), and bdm::egamma::validate().
 1.6.1
 1.6.1