$extrastylesheet
Dakota
Version 6.2
|
Class for the Gaussian Process-based Importance Sampling method. More...
Public Member Functions | |
NonDGPImpSampling (ProblemDescDB &problem_db, Model &model) | |
standard constructor | |
~NonDGPImpSampling () | |
destructor | |
void | derived_init_communicators (ParLevLIter pl_iter) |
derived class contributions to initializing the communicators associated with this Iterator instance | |
void | derived_set_communicators (ParLevLIter pl_iter) |
derived class contributions to setting the communicators associated with this Iterator instance | |
void | derived_free_communicators (ParLevLIter pl_iter) |
derived class contributions to freeing the communicators associated with this Iterator instance | |
void | quantify_uncertainty () |
perform the GP importance sampling and return probability of failure. | |
void | print_results (std::ostream &s) |
print the final statistics | |
Real | final_probability () |
returns the probability calculated by the importance sampling | |
Private Member Functions | |
RealVector | calcExpIndicator (const int respFnCount, const Real respThresh) |
function to calculate the expected indicator probabilities | |
Real | calcExpIndPoint (const int respFnCount, const Real respThresh, const RealVector this_mean, const RealVector this_var) |
function to calculate the expected indicator probabilities for one point | |
void | calcRhoDraw () |
function to update the rhoDraw data, adding x values and rho draw values | |
RealVector | drawNewX (int this_k) |
function to pick the next X value to be evaluated by the Iterated model | |
Private Attributes | |
Iterator | gpBuild |
LHS iterator for building the initial GP. | |
Iterator | gpEval |
LHS iterator for sampling on the GP. | |
Model | gpModel |
GP model of response, one approximation per response function. | |
Iterator | sampleRhoOne |
LHS iterator for sampling from the rhoOneDistribution. | |
int | numPtsAdd |
the number of points added to the original set of LHS samples | |
int | numPtsTotal |
the total number of points | |
int | numEmulEval |
the number of points evaluated by the GP each iteration | |
Real | finalProb |
the final calculated probability (p) | |
RealVectorArray | gpCvars |
Vector to hold the current values of the current sample inputs on the GP. | |
RealVectorArray | gpMeans |
Vector to hold the current values of the current mean estimates for the sample values on the GP. | |
RealVectorArray | gpVar |
Vector to hold the current values of the current variance estimates for the sample values on the GP. | |
RealVector | expIndicator |
Vector to hold the expected indicator values for the current GP samples. | |
RealVector | rhoDraw |
Vector to hold the rhoDraw values for the current GP samples. | |
RealVector | normConst |
Vector to hold the normalization constant calculated for each point added. | |
RealVector | indicator |
IntVector to hold indicator for actual simulation values vs. threshold. | |
RealVectorArray | xDrawThis |
xDrawThis, appended to locally to hold the X values of emulator points chosen | |
RealVector | expIndThis |
expIndThis, appended locally to hold the expected indicator | |
RealVector | rhoDrawThis |
rhoDrawThis, appended locally to hold the rhoDraw density for calculating draws | |
RealVector | rhoMix |
rhoMix, mixture density | |
RealVector | rhoOne |
rhoOne, original importance density |
Class for the Gaussian Process-based Importance Sampling method.
The NonDGPImpSampling implements a method developed by Keith Dalbey that uses a Gaussian process surrogate in the calculation of the importance density. Specifically, the mean and variance of the GP prediction are used to calculate an expected value that a particular point fails, and that is used as part of the computation of the "draw distribution." The normalization constants and the mixture distribution used are defined in (need to get SAND report).
NonDGPImpSampling | ( | 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 Response::active_set(), Iterator::assign_rep(), Model::assign_rep(), NonD::construct_lhs(), Model::current_response(), ProblemDescDB::get_bool(), ProblemDescDB::get_int(), ProblemDescDB::get_string(), ProblemDescDB::get_ushort(), NonDGPImpSampling::gpBuild, NonDGPImpSampling::gpEval, NonDGPImpSampling::gpModel, Model::gradient_type(), Model::hessian_type(), Iterator::iteratedModel, Iterator::maxIterations, NonDGPImpSampling::numEmulEval, NonDGPImpSampling::numPtsAdd, NonDSampling::numSamples, Iterator::outputLevel, Iterator::probDescDB, NonDSampling::randomSeed, ActiveSet::request_values(), NonDSampling::rngName, NonDGPImpSampling::sampleRhoOne, NonDSampling::samplingVarsMode, NonDSampling::statsFlag, NonDSampling::vary_pattern(), and NonDSampling::varyPattern.
void quantify_uncertainty | ( | ) | [virtual] |
perform the GP importance sampling and return probability of failure.
Calculate the failure probabilities for specified probability levels using Gaussian process based importance sampling.
Implements NonD.
References Model::acv(), Iterator::all_responses(), Analyzer::all_samples(), Iterator::all_samples(), Model::append_approximation(), Model::approximation_data(), Model::approximation_variances(), Model::build_approximation(), NonDGPImpSampling::calcExpIndicator(), NonDGPImpSampling::calcExpIndPoint(), NonDGPImpSampling::calcRhoDraw(), NonD::cdfFlag, Model::compute_response(), NonD::computedProbLevels, Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Model::continuous_variables(), Model::current_response(), Model::current_variables(), NonDGPImpSampling::drawNewX(), Model::evaluation_id(), NonDGPImpSampling::expIndicator, NonDGPImpSampling::expIndThis, NonDGPImpSampling::finalProb, Response::function_values(), NonDGPImpSampling::gpCvars, NonDGPImpSampling::gpEval, NonDGPImpSampling::gpMeans, NonDGPImpSampling::gpModel, NonDGPImpSampling::gpVar, NonDGPImpSampling::indicator, NonD::initialize_distribution_mappings(), Iterator::iteratedModel, Iterator::methodPCIter, NonD::miPLIndex, NonDGPImpSampling::normConst, NonDGPImpSampling::numEmulEval, Analyzer::numFunctions, NonDGPImpSampling::numPtsAdd, NonDGPImpSampling::numPtsTotal, NonDSampling::numSamples, Iterator::outputLevel, Model::pop_approximation(), NonD::requestedRespLevels, NonDGPImpSampling::rhoDraw, NonDGPImpSampling::rhoDrawThis, NonDGPImpSampling::rhoMix, NonDGPImpSampling::rhoOne, Iterator::run(), NonDGPImpSampling::sampleRhoOne, and NonDGPImpSampling::xDrawThis.