template<typename T = double>
PriorDistribution class
Abstract base class for prior distributions in Bayesian analysis.
| Template parameters | |
|---|---|
| T | Floating point type for calculations |
Provides a common interface for all prior distributions with support for evaluation, sampling, and moment calculations.
Derived classes
-
template<typename T = double>class BetaPrior
- Beta distribution prior - conjugate for Bernoulli/Binomial likelihoods.
-
template<typename T = double>class GammaPrior
- Gamma distribution prior - conjugate for Poisson and Exponential likelihoods.
-
template<typename T = double>class NormalPrior
- Normal distribution prior - conjugate for Normal likelihood with known variance.
-
template<typename T = double>class UniformPrior
- Uniform distribution prior - minimally informative prior.
Public types
- using value_type = T
Constructors, destructors, conversion operators
- ~PriorDistribution() defaulted virtual
Public functions
- auto pdf(T x) const -> T pure virtual
- Evaluate the probability density at a given point.
- auto log_pdf(T x) const -> T pure virtual
- Evaluate the log probability density.
- auto cdf(T x) const -> T pure virtual
- Evaluate the cumulative distribution function.
- auto sample(boost::random::mt19937& gen) const -> T pure virtual
- Generate a random sample from the distribution.
- auto sample(std::size_t n, boost::random::mt19937& gen) const -> std::vector<T> virtual
- Generate multiple samples from the distribution.
- auto mean() const -> T pure virtual
- Get the mean of the distribution.
- auto variance() const -> T pure virtual
- Get the variance of the distribution.
- auto mode() const -> std::optional<T> pure virtual
- Get the mode of the distribution (if exists)
- auto support() const -> std::pair<T, T> pure virtual
- Get the support of the distribution.
- auto name() const -> std::string pure virtual
- Get the name of the distribution.
- auto clone() const -> std::unique_ptr<PriorDistribution<T>> pure virtual
- Clone the distribution.
- auto is_conjugate_to(const std::string& likelihood_family) const -> bool virtual
- Check if this is a conjugate prior for a given likelihood.
Function documentation
template<typename T>
T liarsdice:: bayesian:: PriorDistribution<T>:: pdf(T x) const pure virtual
Evaluate the probability density at a given point.
| Parameters | |
|---|---|
| x | Point at which to evaluate the PDF |
| Returns | Probability density value |
template<typename T>
T liarsdice:: bayesian:: PriorDistribution<T>:: log_pdf(T x) const pure virtual
Evaluate the log probability density.
| Parameters | |
|---|---|
| x | Point at which to evaluate the log PDF |
| Returns | Log probability density value |
template<typename T>
T liarsdice:: bayesian:: PriorDistribution<T>:: cdf(T x) const pure virtual
Evaluate the cumulative distribution function.
| Parameters | |
|---|---|
| x | Point at which to evaluate the CDF |
| Returns | Cumulative probability |
template<typename T>
T liarsdice:: bayesian:: PriorDistribution<T>:: sample(boost::random::mt19937& gen) const pure virtual
Generate a random sample from the distribution.
| Parameters | |
|---|---|
| gen | Random number generator |
| Returns | Random sample |
template<typename T>
std::vector<T> liarsdice:: bayesian:: PriorDistribution<T>:: sample(std::size_t n,
boost::random::mt19937& gen) const virtual
Generate multiple samples from the distribution.
| Parameters | |
|---|---|
| n | Number of samples |
| gen | Random number generator |
| Returns | Vector of samples |
template<typename T>
std::pair<T, T> liarsdice:: bayesian:: PriorDistribution<T>:: support() const pure virtual
Get the support of the distribution.
| Returns | Pair of (lower_bound, upper_bound) |
|---|