Generates posterior distribution on model parameters given experiment data. More...
Public Member Functions | |
NonDGPMSABayesCalibration (Model &model) | |
standard constructor | |
~NonDGPMSABayesCalibration () | |
destructor | |
Public Attributes | |
String | xObsDataFile |
filename from which to read observed x data | |
String | yObsDataFile |
filename from which to read observed y data | |
String | yStdDataFile |
filename from which to read observed std of y data | |
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. | |
RealArray | xObsData |
Storage for the observed x data (inputs) provided by the user. | |
RealArray | yObsData |
Storage for the observed y data (outputs) provided by the user. | |
RealArray | yStdData |
Storage for the observed standard deviations of y provided by the user. |
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.
NonDGPMSABayesCalibration | ( | Model & | model | ) |
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 Dakota::abort_handler(), Iterator::assign_rep(), Model::init_communicators(), Iterator::iteratedModel, NonDGPMSABayesCalibration::lhsSampler, Iterator::maximum_concurrency(), NonDBayesCalibration::numSamples, NonDBayesCalibration::rngName, and NonDBayesCalibration::seedSpec.
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.
Implements NonD.
References Dakota::abort_handler(), Model::acv(), Iterator::all_responses(), Iterator::all_samples(), Analyzer::all_samples(), Iterator::iteratedModel, NonDGPMSABayesCalibration::lhsSampler, Model::num_functions(), NonDBayesCalibration::numSamples, Iterator::run_iterator(), NonDGPMSABayesCalibration::xObsData, NonDGPMSABayesCalibration::xObsDataFile, NonDGPMSABayesCalibration::yObsData, NonDGPMSABayesCalibration::yObsDataFile, NonDGPMSABayesCalibration::yStdData, and NonDGPMSABayesCalibration::yStdDataFile.