liarsdice::bayesian namespace

Classes

template<typename T = double>
class BayesianAnalyzer
Core Bayesian analysis engine for statistical inference.
template<typename T = double>
class BernoulliLikelihood
Bernoulli likelihood for binary outcomes.
template<typename T = double>
class BetaPrior
Beta distribution prior - conjugate for Bernoulli/Binomial likelihoods.
template<typename T = double>
class BinomialLikelihood
Binomial likelihood for count data.
template<typename T = double>
class CustomLikelihood
Custom likelihood function wrapper.
template<typename T = double>
class GammaPrior
Gamma distribution prior - conjugate for Poisson and Exponential likelihoods.
template<typename T = double>
class LikelihoodFunction
Abstract base class for likelihood functions in Bayesian analysis.
template<typename T = double>
class NormalKnownVarianceLikelihood
Normal likelihood with known variance.
template<typename T = double>
class NormalPrior
Normal distribution prior - conjugate for Normal likelihood with known variance.
template<typename T = double>
class PoissonLikelihood
Poisson likelihood for count data.
template<typename T = double>
class PosteriorCalculator
Calculates posterior distributions with numerical stability.
template<typename T = double>
class PriorDistribution
Abstract base class for prior distributions in Bayesian analysis.
template<typename T = double>
class UniformPrior
Uniform distribution prior - minimally informative prior.

Functions

template<>
auto create_conjugate_analyzer<double>(const std::string& likelihood_family, const std::unordered_map<std::string, double>& hyperparameters) -> std::shared_ptr<BayesianAnalyzer<double>>
auto create_conjugate_analyzer<float>(const std::string&, const std::unordered_map<std::string, float>&) -> template std::shared_ptr<BayesianAnalyzer<float>>
auto create_conjugate_analyzer<long double>(const std::string&, const std::unordered_map<std::string, long double>&) -> template std::shared_ptr<BayesianAnalyzer<long double>>
template<typename T = double>
auto create_conjugate_analyzer(const std::string& likelihood_family, const std::unordered_map<std::string, T>& hyperparameters) -> std::shared_ptr<BayesianAnalyzer<T>>
Factory function for creating analyzers with conjugate priors.
template<typename T = double>
auto create_likelihood(const std::string& family_name, const std::vector<T>& parameters = {}) -> std::unique_ptr<LikelihoodFunction<T>>
Factory function for creating common likelihood functions.
template<typename T = double>
auto create_prior(const std::string& distribution_name, const std::vector<T>& parameters) -> std::unique_ptr<PriorDistribution<T>>
Factory function for creating common prior distributions.

Function documentation

template<>
std::shared_ptr<BayesianAnalyzer<double>> liarsdice::bayesian::create_conjugate_analyzer<double>(const std::string& likelihood_family, const std::unordered_map<std::string, double>& hyperparameters)

template std::shared_ptr<BayesianAnalyzer<float>> liarsdice::bayesian::create_conjugate_analyzer<float>(const std::string&, const std::unordered_map<std::string, float>&)

template std::shared_ptr<BayesianAnalyzer<long double>> liarsdice::bayesian::create_conjugate_analyzer<long double>(const std::string&, const std::unordered_map<std::string, long double>&)

template<typename T = double>
std::shared_ptr<BayesianAnalyzer<T>> liarsdice::bayesian::create_conjugate_analyzer(const std::string& likelihood_family, const std::unordered_map<std::string, T>& hyperparameters)

Factory function for creating analyzers with conjugate priors.

Automatically selects appropriate conjugate prior for common likelihood families

template<typename T = double>
std::unique_ptr<LikelihoodFunction<T>> liarsdice::bayesian::create_likelihood(const std::string& family_name, const std::vector<T>& parameters = {})

Factory function for creating common likelihood functions.

template<typename T = double>
std::unique_ptr<PriorDistribution<T>> liarsdice::bayesian::create_prior(const std::string& distribution_name, const std::vector<T>& parameters)

Factory function for creating common prior distributions.