Public Member Functions | Protected Member Functions | Private Attributes
NonDGPMSABayesCalibration Class Reference

Generates posterior distribution on model parameters given experiment data. More...

Inheritance diagram for NonDGPMSABayesCalibration:
NonDBayesCalibration NonDCalibration NonD Analyzer Iterator

List of all members.

Public Member Functions

 NonDGPMSABayesCalibration (Model &model)
 standard constructor
 ~NonDGPMSABayesCalibration ()
 destructor

Protected Member Functions

void quantify_uncertainty ()
 performs a forward uncertainty propagation by using GPM/SA to generate a posterior distribution on parameters given a set of simulation parameter/response data, a set of experimental data, and additional variables to be specified here.
void print_results (std::ostream &s)
 print the final statistics

Private Attributes

Iterator lhsSampler
 LHS sampling iterator.
int numEmulatorSamples
 number of samples to construct the GP emulator
int numDraws
 number of draws from the MCMC chain
const int seedSpec
 the user seed specification (default is 0)
String rngName
 name of the random number generator Storage for the observed x data (inputs) provided by the user

Detailed Description

Generates posterior distribution on model parameters given experiment data.

This class provides a wrapper for the functionality provided in the Los Alamos National Laboratory code called GPM/SA (Gaussian Process Models for Simulation Analysis). Although this is a code that provides input/output mapping, it DOES NOT provide the mapping that we usually think of in the NonDeterministic class hierarchy in DAKOTA, where uncertainty in parameter inputs are mapped to uncertainty in simulation responses. Instead, this class takes a pre-existing set of simulation data as well as experimental data, and maps priors on input parameters to posterior distributions on those input parameters, according to a likelihood function. The goal of the MCMC sampling is to produce posterior values of parameter estimates which will produce simulation response values that "match well" to the experimental data. The MCMC is an integral part of the calibration. The data structures in GPM/SA are fairly detailed and nested. Part of this prototyping exercise is to determine what data structures need to be specified and initialized in DAKOTA and sent to GPM/SA, and what data structures will be returned.


Constructor & Destructor Documentation

standard constructor

This constructor is called for a standard letter-envelope iterator instantiation. In this case, set_db_list_nodes has been called and probDescDB can be queried for settings from the method specification.

References Iterator::assign_rep(), Model::init_communicators(), Iterator::iteratedModel, NonDGPMSABayesCalibration::lhsSampler, Iterator::maximum_concurrency(), NonDGPMSABayesCalibration::numEmulatorSamples, NonDGPMSABayesCalibration::rngName, and NonDGPMSABayesCalibration::seedSpec.


Member Function Documentation

void quantify_uncertainty ( ) [protected, virtual]

performs a forward uncertainty propagation by using GPM/SA to generate a posterior distribution on parameters given a set of simulation parameter/response data, a set of experimental data, and additional variables to be specified here.

This method does all the pre-processing necessary to call the GPM/SA code, including running LHS on the model to generate the initial samples, doing some normalization, calling the GPM/SA functions, and returning the posterior parameter distributions.

Reimplemented from NonDBayesCalibration.

References Dakota::abort_handler(), Model::acv(), Iterator::all_responses(), Analyzer::all_samples(), Iterator::all_samples(), NonDCalibration::expDataFileAnnotated, NonDCalibration::expDataFileName, NonDCalibration::expStdDeviations, Iterator::iteratedModel, NonDGPMSABayesCalibration::lhsSampler, Model::num_functions(), NonDGPMSABayesCalibration::numDraws, NonDGPMSABayesCalibration::numEmulatorSamples, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Iterator::numFunctions, Dakota::read_data_tabular(), and Iterator::run_iterator().


The documentation for this class was generated from the following files: