This module contains classes and functions for statistical inference from data.
The module currently contains the following classes:
.InferenceModel
: Define a probabilistic model for inference..InformationModelSelection
: Perform model selection using information theoretic criteria..BayesModelSelection
: Estimate model posterior probabilities..BayesParameterEstimation
: Perform Bayesian parameter estimation (estimate posterior density) via.MCMC
or.ImportanceSampling
..MLE
: Compute maximum likelihood parameter estimate.
The goal in inference can be twofold: 1) given a model, parameterized by parameter vector θ, and some data 𝒟, learn the value of the parameter vector that best explains the data; 2) given a set of candidate models {mi}i = 1 : M and some data 𝒟, learn which model best explains the data. :pyUQpy
currently supports the following inference algorithms for parameter estimation (see e.g. MCMC2
for theory on parameter estimation in frequentist vs. Bayesian frameworks):
- Maximum Likelihood estimation,
- Bayesian approach: estimation of posterior pdf via sampling methods (
.MCMC
/.ImportanceSampling
).
and the following algorithms for model selection:
- Model selection using information theoretic criteria,
- Bayesian model class selection, i.e., estimation of model posterior probabilities.
The capabilities of :pyUQpy
and associated classes are summarized in the following figure.
Inference Models <inference_models> Maximum Likelihood Estimation <mle> Bayes Parameter Estimation <bayes_parameter_estimation> Information Theoretic Model Selection <info_model_selection> Bayes Model Selection <bayes_model_selection>