Likelihood System

Overview

For performing Bayesian inference using MCMC techniques, a likelihood function needs to be defined for measuring the quality of model predictions with reference to the experiments. The likelihood functions can be defined in the [Likelihood] block.

Creating a Likelihood Function

A likelihood function is created by inheriting from LikelihoodFunctionBase and ReporterInterface and overriding the function method in the base class. See the Gaussian class for an example.

Example Input File Syntax

[Likelihood<<<{"href": "index.html"}>>>]
  [gaussian]
    type = Gaussian<<<{"description": "Gaussian likelihood function evaluating the model goodness against experiments.", "href": "../../source/likelihoods/Gaussian.html"}>>>
    noise<<<{"description": "Experimental noise plus model deviations against experiments."}>>> = 'noise_specified/noise_specified'
    file_name<<<{"description": "Name of the CSV file with experimental values."}>>> = 'exp1.csv'
    log_likelihood<<<{"description": "Compute log-likelihood or likelihood."}>>> = true
  []
[]
(moose/modules/stochastic_tools/test/tests/likelihoods/gaussian_derived/main.i)

Available Objects

  • Stochastic Tools App
  • ExtremeValueGeneralized extreme value likelihood function evaluating the model goodness against experiments.
  • GaussianGaussian likelihood function evaluating the model goodness against experiments.
  • TruncatedGaussianTruncatedGaussian likelihood function evaluating the model goodness against experiments.

Available Actions