$extrastylesheet
Dakota
Version 6.2
|
Bayesian inference using the DREAM approach. More...
Public Member Functions | |
NonDDREAMBayesCalibration (ProblemDescDB &problem_db, Model &model) | |
standard constructor | |
~NonDDREAMBayesCalibration () | |
destructor | |
Static Public Member Functions | |
static void | problem_size (int &chain_num, int &cr_num, int &gen_num, int &pair_num, int &par_num) |
initializer for problem size characteristics in DREAM | |
static void | problem_value (std::string *chain_filename, std::string *gr_filename, double &gr_threshold, int &jumpstep, double limits[], int par_num, int &printstep, std::string *restart_read_filename, std::string *restart_write_filename) |
Filename and data initializer for DREAM. | |
static double | prior_density (int par_num, double zp[]) |
Compute the prior density at specified point zp. | |
static double * | prior_sample (int par_num) |
Sample the prior and return an array of parameter values. | |
static double | sample_likelihood (int par_num, double zp[]) |
Likelihood function for call-back from DREAM to DAKOTA for evaluation. | |
Protected Member Functions | |
void | quantify_uncertainty () |
redefined from DakotaNonD | |
Protected Attributes | |
Real | likelihoodScale |
scale factor for proposal covariance | |
bool | calibrateSigma |
flag to indicate if the sigma terms should be calibrated (default true) | |
RealVector | paramMins |
lower bounds on calibrated parameters | |
RealVector | paramMaxs |
upper bounds on calibrated parameters | |
int | numChains |
number of concurrent chains | |
int | numGenerations |
number of generations | |
int | numCR |
number of CR-factors | |
int | crossoverChainPairs |
number of crossover chain pairs | |
Real | grThreshold |
threshold for the Gelmin-Rubin statistic | |
int | jumpStep |
how often to perform a long jump in generations | |
std::vector< boost::math::uniform > | priorDistributions |
uniform prior PDFs for each variable | |
boost::mt19937 | rnumGenerator |
random number engine for sampling the prior | |
std::vector < boost::uniform_real< double > > | priorSamplers |
samplers for the uniform prior PDFs for each variable | |
Static Private Attributes | |
static NonDDREAMBayesCalibration * | NonDDREAMInstance |
Pointer to current class instance for use in static callback functions. |
Bayesian inference using the DREAM approach.
This class performed Bayesian calibration using the DREAM (Markov Chain Monte Carlo acceleration by Differential Evolution) implementation of John Burkhardt (FSU), adapted from that of Guannan Zhang (ORNL)
NonDDREAMBayesCalibration | ( | ProblemDescDB & | problem_db, |
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 NonDDREAMBayesCalibration::crossoverChainPairs, NonDDREAMBayesCalibration::grThreshold, NonDDREAMBayesCalibration::jumpStep, NonDDREAMBayesCalibration::numChains, NonDDREAMBayesCalibration::numCR, NonDDREAMBayesCalibration::numGenerations, and NonDBayesCalibration::numSamples.
void problem_size | ( | int & | chain_num, |
int & | cr_num, | ||
int & | gen_num, | ||
int & | pair_num, | ||
int & | par_num | ||
) | [static] |
initializer for problem size characteristics in DREAM
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::calibrateSigma, NonDDREAMBayesCalibration::crossoverChainPairs, NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::numChains, Analyzer::numContinuousVars, NonDDREAMBayesCalibration::numCR, Analyzer::numFunctions, and NonDDREAMBayesCalibration::numGenerations.
void problem_value | ( | std::string * | chain_filename, |
std::string * | gr_filename, | ||
double & | gr_threshold, | ||
int & | jumpstep, | ||
double | limits[], | ||
int | par_num, | ||
int & | printstep, | ||
std::string * | restart_read_filename, | ||
std::string * | restart_write_filename | ||
) | [static] |
Filename and data initializer for DREAM.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::grThreshold, NonDDREAMBayesCalibration::jumpStep, NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::numChains, NonDDREAMBayesCalibration::paramMaxs, and NonDDREAMBayesCalibration::paramMins.
double prior_density | ( | int | par_num, |
double | zp[] | ||
) | [static] |
Compute the prior density at specified point zp.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::NonDDREAMInstance, and NonDDREAMBayesCalibration::priorDistributions.
double * prior_sample | ( | int | par_num | ) | [static] |
Sample the prior and return an array of parameter values.
See documentation in DREAM examples)
References NonDDREAMBayesCalibration::NonDDREAMInstance, NonDDREAMBayesCalibration::priorSamplers, and NonDDREAMBayesCalibration::rnumGenerator.
double sample_likelihood | ( | int | par_num, |
double | zp[] | ||
) | [static] |
Likelihood function for call-back from DREAM to DAKOTA for evaluation.
Static callback function to evaluate the likelihood
References ExperimentData::all_data(), ExperimentData::apply_covariance(), NonDDREAMBayesCalibration::calibrateSigma, NonDCalibration::calibrationData, Model::compute_response(), Model::continuous_variables(), Dakota::copy_data_partial(), Model::current_response(), NonDCalibration::expData, ExperimentData::form_residuals_deprecated(), Response::function_values(), NonDDREAMBayesCalibration::likelihoodScale, NonDBayesCalibration::mcmcModel, NonDDREAMBayesCalibration::NonDDREAMInstance, ExperimentData::num_total_exppoints(), Analyzer::numContinuousVars, NonDCalibration::numExperiments, Analyzer::numFunctions, Iterator::outputLevel, and ExperimentData::variance_active().
void quantify_uncertainty | ( | ) | [protected, virtual] |
redefined from DakotaNonD
Perform the uncertainty quantification
Implements NonD.
References Dakota::abort_handler(), NonDDREAMBayesCalibration::calibrateSigma, NonDCalibration::calibrationData, Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Model::continuous_variables(), NonDBayesCalibration::emulatorType, NonDCalibration::expData, NonD::generate_system_seed(), ExperimentData::get_main_diagonal(), NonDBayesCalibration::initialize_model(), Iterator::iterator_rep(), ExperimentData::load_data(), NonDBayesCalibration::mcmcModel, NonDDREAMBayesCalibration::NonDDREAMInstance, Analyzer::numContinuousVars, Analyzer::numFunctions, NonDBayesCalibration::numSamples, NonDDREAMBayesCalibration::paramMaxs, NonDDREAMBayesCalibration::paramMins, NonDDREAMBayesCalibration::priorDistributions, NonDDREAMBayesCalibration::priorSamplers, NonDBayesCalibration::randomSeed, NonDDREAMBayesCalibration::rnumGenerator, NonDBayesCalibration::standardizedSpace, and NonDBayesCalibration::stochExpIterator.
Real likelihoodScale [protected] |
scale factor for proposal covariance
scale factor for likelihood
Referenced by NonDDREAMBayesCalibration::sample_likelihood().