Dakota Reference Manual  Version 6.4
Large-Scale Engineering Optimization and Uncertainty Analysis
 All Pages

(Experimental) Gaussian Process Models for Simulation Analysis (GPMSA) Markov Chain Monte Carlo algorithm with Gaussian Process Surrogate


This keyword is related to the topics:


Alias: none

Argument(s): none

Required/Optional Description of Group Dakota Keyword Dakota Keyword Description
Required chain_samples

Number of Markov Chain Monte Carlo posterior samples

Optional seed

Seed of the random number generator

Required build_samples

Number of initial model evaluations used in build phase

Optional import_build_points_file

File containing points you wish to use to build a surrogate

(Choose One)
MCMC algorithm type (Group 1) dram

Use the DRAM MCMC algorithm


Use the Delayed Rejection MCMC algorithm


Use the Adaptive Metropolis MCMC algorithm


Use the Metropolis-Hastings MCMC algorithm


Use the multilevel MCMC algorithm.

Optional rng

Selection of a random number generator

Optional pre_solve

Perform deterministic optimization for MAP before Bayesian calibration

Optional proposal_covariance

Defines the technique used to generate the MCMC proposal covariance.


GPMSA (Gaussian Process Models for Simulation Analysis) is another approach that provides the capability for Bayesian calibration. The GPMSA implementation currently is an experimental capability and not ready for production use at this time. A key part of GPMSA is the construction of an emulator from simulation runs collected at various settings of input parameters. The emulator is a statistical model of the system response, and it is used to incorporate the observational data to improve system predictions and constrain or calibrate the unknown parameters. The GPMSA code draws heavily on the theory developed in the seminal Bayesian calibration paper by Kennedy and O'Hagan[54]. The particular approach in GPMSA has been developed by the Los Alamos group and document in[47]. GPMSA uses Gaussian process models in the emulation, but the emulator is actually a set of basis functions (e.g. from a singular value decomposition) which have GPs as the coefficients.

For the GPMSA method, one can define the number of samples which will be used in construction of the emulator, build_samples. The emulator involves Gaussian processes in GPMSA, so the user does not specify anything about emulator type. At this point, the only controls active for GPMSA are build_samples, seed and rng, and samples (the number of MCMC samples) and the type of MCMC algorithm (e.g. dram, delayed_rejection, adaptive_metropolis, metropolis_hastings, or multilevel). NOTE: the GPMSA method is in a very preliminary, prototype state at this time. The user will need to modify certain data structures in the code for their particular application and recompile to run with GPMSA.