#include <distribution.h>
|
| | NormalInverseWishartDistribution (const Eigen::Ref< const Eigen::VectorXd > &mean, double kappa, double nu, const Eigen::Ref< const Eigen::MatrixXd > &psi) |
| |
| | NormalInverseWishartDistribution ()=default |
| |
| double | logPDF (const Eigen::Ref< const Eigen::VectorXd > &x) const |
| |
| Eigen::VectorXd | sample (std::default_random_engine &rng) |
| |
| const Eigen::VectorXd & | mean () const |
| |
| const double & | kappa () const |
| |
| const double & | nu () const |
| |
| const Eigen::MatrixXd | covariance () const |
| |
| Eigen::MatrixXd | toCanonical (const Eigen::MatrixXd &x) const |
| |
| Eigen::MatrixXd | toPhysical (const Eigen::MatrixXd &z) const |
| |
| size_t | dimension () const |
| |
| double | logPDF (const Eigen::Ref< const Eigen::VectorXd > &x) const |
| | Computes the joint log probability density function (log-PDF) of the distribution.
|
| |
| Eigen::VectorXd | sample (std::default_random_engine &rng) |
| | Draws a single vector sample from the joint distribution.
|
| |
| Eigen::MatrixXd | toCanonical (const Eigen::MatrixXd &x) const |
| | Transforms physical samples to standard canonical space.
|
| |
| Eigen::MatrixXd | fromCanonical (const Eigen::MatrixXd &x) const |
| | Transforms standard canonical samples back to physical space.
|
| |
| size_t | dimension () const |
| | Returns the dimensionality of the multivariate space.
|
| |
|
| Eigen::VectorXd | mean_ |
| | Mean parameter vector.
|
| |
| double | kappa_ |
| | Degrees of freedom scaling parameter kappa.
|
| |
| double | nu_ |
| | Degrees of freedom parameter nu.
|
| |
| size_t | dim_ |
| | Dimensionality of the parameter space.
|
| |
| Eigen::LDLT< Eigen::MatrixXd > | covLDLT_ |
| | LDLT decomposition of the scaling matrix.
|
| |
| double | logDeterminant_ |
| | Log-determinant of the scale covariance matrix.
|
| |
| std::normal_distribution< double > | distN_ {0., 1.} |
| | Normal distribution helper for coordinate sampling.
|
| |
◆ NormalInverseWishartDistribution() [1/2]
| cmp::distribution::NormalInverseWishartDistribution::NormalInverseWishartDistribution |
( |
const Eigen::Ref< const Eigen::VectorXd > & |
mean, |
|
|
double |
kappa, |
|
|
double |
nu, |
|
|
const Eigen::Ref< const Eigen::MatrixXd > & |
psi |
|
) |
| |
|
inline |
◆ NormalInverseWishartDistribution() [2/2]
| cmp::distribution::NormalInverseWishartDistribution::NormalInverseWishartDistribution |
( |
| ) |
|
|
default |
◆ canonical()
◆ covariance()
| const Eigen::MatrixXd cmp::distribution::NormalInverseWishartDistribution::covariance |
( |
| ) |
const |
|
inline |
◆ dimension()
| size_t cmp::distribution::NormalInverseWishartDistribution::dimension |
( |
| ) |
const |
|
inline |
◆ empiricalPrior()
| static NormalInverseWishartDistribution cmp::distribution::NormalInverseWishartDistribution::empiricalPrior |
( |
const Eigen::MatrixXd & |
data, |
|
|
double |
expected_clusters, |
|
|
double |
kappa0 |
|
) |
| |
|
inlinestatic |
Computes an empirical Normal-Inverse-Wishart prior from the provided dataset. Useful for initializing the prior in a Dirichlet Process Mixture Model (DPMM) when you have observed data.
- Parameters
-
| data | The observed data matrix. |
| expected_clusters | The expected number of clusters. |
| kappa0 | The prior precision parameter. |
- Returns
- The computed empirical Normal-Inverse-Wishart prior.
◆ kappa()
| const double & cmp::distribution::NormalInverseWishartDistribution::kappa |
( |
| ) |
const |
|
inline |
◆ logPDF()
| double cmp::distribution::NormalInverseWishartDistribution::logPDF |
( |
const Eigen::Ref< const Eigen::VectorXd > & |
x | ) |
const |
|
inline |
◆ mean()
| const Eigen::VectorXd & cmp::distribution::NormalInverseWishartDistribution::mean |
( |
| ) |
const |
|
inline |
◆ nu()
| const double & cmp::distribution::NormalInverseWishartDistribution::nu |
( |
| ) |
const |
|
inline |
◆ sample()
| Eigen::VectorXd cmp::distribution::NormalInverseWishartDistribution::sample |
( |
std::default_random_engine & |
rng | ) |
|
|
inline |
◆ toCanonical()
| Eigen::MatrixXd cmp::distribution::NormalInverseWishartDistribution::toCanonical |
( |
const Eigen::MatrixXd & |
x | ) |
const |
|
inline |
◆ toPhysical()
| Eigen::MatrixXd cmp::distribution::NormalInverseWishartDistribution::toPhysical |
( |
const Eigen::MatrixXd & |
z | ) |
const |
|
inline |
◆ covLDLT_
| Eigen::LDLT<Eigen::MatrixXd> cmp::distribution::NormalInverseWishartDistribution::covLDLT_ |
|
private |
LDLT decomposition of the scaling matrix.
◆ dim_
| size_t cmp::distribution::NormalInverseWishartDistribution::dim_ |
|
private |
Dimensionality of the parameter space.
◆ distN_
| std::normal_distribution<double> cmp::distribution::NormalInverseWishartDistribution::distN_ {0., 1.} |
|
private |
Normal distribution helper for coordinate sampling.
◆ kappa_
| double cmp::distribution::NormalInverseWishartDistribution::kappa_ |
|
private |
Degrees of freedom scaling parameter kappa.
◆ logDeterminant_
| double cmp::distribution::NormalInverseWishartDistribution::logDeterminant_ |
|
private |
Log-determinant of the scale covariance matrix.
◆ mean_
| Eigen::VectorXd cmp::distribution::NormalInverseWishartDistribution::mean_ |
|
private |
◆ nu_
| double cmp::distribution::NormalInverseWishartDistribution::nu_ |
|
private |
Degrees of freedom parameter nu.
The documentation for this class was generated from the following file: