# MCMC¶

class MCMC(*args)

Monte-Carlo Markov Chain.

Available constructor:

MCMC(prior, conditional, observations, initialState)

MCMC(prior, conditional, model, parameters, observations, initialState)

Parameters: prior : Distribution Prior distribution of the parameters of the underlying Bayesian statistical model. conditional : Distribution Required distribution to define the likelihood of the underlying Bayesian statistical model. model : Function Function required to define the likelihood. observations : 2-d sequence of float Observations required to define the likelihood. initialState : sequence of float Initial state of the Monte-Carlo Markov chain on which the Sampler is based. parameters : 2-d sequence of float Parameters of the model to be fixed.

Notes

MCMC provides a implementation of the concept of sampler, using a Monte-Carlo Markov Chain (MCMC) algorithm starting from initialState. More precisely, let be the PDF of its target distribution and its dimension, be the PDF of the prior distribution, be the PDF of the conditional distribution when its parameters are set to , be the number of scalar parameters of conditional distribution (which corresponds to the dimension of the above ), be the function corresponding to model and be the sample observations (of size ):

In the first usage, it creates a sampler based on a MCMC algorithm whose target distribution is defined by:

In the first usage, it creates a sampler based on a MCMC algorithm whose target distribution is defined by:

where the () are such that:

In fact, the first usage is a particular case of the second.

The MCMC method implemented in OpenTURNS is the Random Walk Metropolis-Hastings algorithm. A sample can be generated only through the MCMC’s derived class: RandomWalkMetropolisHastings.

Methods

 computeLogLikelihood(currentState) Compute the logarithm of the likelihood w.r.t. getBurnIn() Get the length of the burn-in period. getClassName() Accessor to the object’s name. getConditional() Get the conditional distribution. getDimension() Get the dimension of the samples generated. getHistory() Get the history storage. getId() Accessor to the object’s id. getModel() Get the model. getName() Accessor to the object’s name. getNonRejectedComponents() Get the components to be always accepted. getObservations() Get the observations. getParameters() Get the parameters. getPrior() Get the prior distribution. getRealization() Return a realization. getSample(size) Return several realizations. getShadowedId() Accessor to the object’s shadowed id. getThinning() Get the thinning parameter. getVerbose() Tell whether the verbose mode is activated or not. getVisibility() Accessor to the object’s visibility state. hasName() Test if the object is named. hasVisibleName() Test if the object has a distinguishable name. setBurnIn(burnIn) Set the length of the burn-in period. setHistory(strategy) Set the history storage. setName(name) Accessor to the object’s name. setNonRejectedComponents(nonRejectedComponents) Set the components to be always accepted. setObservations(observations) Set the observations. setParameters(parameters) Set the parameters. setPrior(prior) Set the prior distribution. setShadowedId(id) Accessor to the object’s shadowed id. setThinning(thinning) Set the thinning parameter. setVerbose(verbose) Set the verbose mode. setVisibility(visible) Accessor to the object’s visibility state.
__init__(*args)
computeLogLikelihood(currentState)

Compute the logarithm of the likelihood w.r.t. observations.

Parameters: currentState : sequence of float Current state. logLikelihood : float Logarithm of the likelihood w.r.t. observations .
getBurnIn()

Get the length of the burn-in period.

Returns: lenght : int Length of the burn-in period, that is the number of first iterates of the MCMC chain which will be thrown away when generating the sample.
getClassName()

Accessor to the object’s name.

Returns: class_name : str The object class name (object.__class__.__name__).
getConditional()

Get the conditional distribution.

Returns: conditional : Distribution Distribution taken into account in the definition of the likelihood, whose PDF with parameters corresponds to in the equations of the target distribution’s PDF.
getDimension()

Get the dimension of the samples generated.

Returns: dimension : int Dimension of the samples that the Sampler can generate.
getHistory()

Get the history storage.

Returns: history : HistoryStrategy Used to record the chain.
getId()

Accessor to the object’s id.

Returns: id : int Internal unique identifier.
getModel()

Get the model.

Returns: model : Function Model take into account in the definition of the likelihood, which corresponds to , that is the functions () in the equation of the target distribution’s PDF.
getName()

Accessor to the object’s name.

Returns: name : str The name of the object.
getNonRejectedComponents()

Get the components to be always accepted.

Returns: nonRejectedComponents : Indices The indices of the components that are not tuned, and sampled according to the prior distribution in order to take into account the intrinsic uncertainty, as opposed to the epistemic uncertainty corresponding to the tuned variables.
getObservations()

Get the observations.

Returns: observations : Sample Sample taken into account in the definition of the likelihood, which corresponds to the -tuple of the () in equations of the target distribution’s PDF.
getParameters()

Get the parameters.

Returns: parameters : Point Fixed parameters of the model required to define the likelihood.
getPrior()

Get the prior distribution.

Returns: prior : Distribution The prior distribution of the parameter of the underlying Bayesian statistical model, whose PDF corresponds to in the equations of the target distribution’s PDF.
getRealization()

Return a realization.

Returns: realization : Point A new realization.
getSample(size)

Return several realizations.

Parameters: size : int, Number of realizations needed. realizations : Sample Sequence composed of size new realizations.
getShadowedId()

Accessor to the object’s shadowed id.

Returns: id : int Internal unique identifier.
getThinning()

Get the thinning parameter.

Returns: thinning : int Thinning parameter: storing only every point after the burn-in period.

Notes

When generating a sample of size , the number of MCMC iterations performed is where is the burn-in period length and the thinning parameter.

getVerbose()

Tell whether the verbose mode is activated or not.

Returns: isVerbose : bool The verbose mode is activated if it is True, desactivated otherwise.
getVisibility()

Accessor to the object’s visibility state.

Returns: visible : bool Visibility flag.
hasName()

Test if the object is named.

Returns: hasName : bool True if the name is not empty.
hasVisibleName()

Test if the object has a distinguishable name.

Returns: hasVisibleName : bool True if the name is not empty and not the default one.
setBurnIn(burnIn)

Set the length of the burn-in period.

Parameters: lenght : int Length of the burn-in period, that is the number of first iterates of the MCMC chain which will be thrown away when generating the sample.
setHistory(strategy)

Set the history storage.

Parameters: history : HistoryStrategy Used to record the chain.
setName(name)

Accessor to the object’s name.

Parameters: name : str The name of the object.
setNonRejectedComponents(nonRejectedComponents)

Set the components to be always accepted.

Parameters: nonRejectedComponents : sequence of int The indices of the components that are not tuned, and sampled according to the prior distribution in order to take into account the intrinsic uncertainty, as opposed to the epistemic uncertainty corresponding to the tuned variables.
setObservations(observations)

Set the observations.

Parameters: observations : 2-d sequence of float Sample taken into account in the definition of the likelihood, which corresponds to the -tuple of the () in the equations of the target distribution’s PDF.
setParameters(parameters)

Set the parameters.

Parameters: parameters : sequence of float Fixed parameters of the model required to define the likelihood.
setPrior(prior)

Set the prior distribution.

Parameters: prior : Distribution The prior distribution of the parameter of the underlying Bayesian statistical model, whose PDF corresponds to in the equations of the target distribution’s PDF.
setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters: id : int Internal unique identifier.
setThinning(thinning)

Set the thinning parameter.

Parameters: thinning : int, Thinning parameter: storing only every point after the burn-in period.

Notes

When generating a sample of size , the number of MCMC iterations performed is where is the burn-in period length and the thinning parameter.

setVerbose(verbose)

Set the verbose mode.

Parameters: isVerbose : bool The verbose mode is activated if it is True, desactivated otherwise.
setVisibility(visible)

Accessor to the object’s visibility state.

Parameters: visible : bool Visibility flag.