$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Private Member Functions | Private Attributes
NonDGPImpSampling Class Reference

Class for the Gaussian Process-based Importance Sampling method. More...

Inheritance diagram for NonDGPImpSampling:
NonDSampling NonD Analyzer Iterator

List of all members.

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

Detailed Description

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).


Constructor & Destructor Documentation

NonDGPImpSampling ( ProblemDescDB problem_db,
Model model 
)

Member Function Documentation

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.


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