surrogate
An empirical model that is created from data or the results of a submodel
Specification
Alias: None
Arguments: None
Child Keywords:
Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|
Optional |
Identifies the subset of the response functions by number that are to be approximated (the default is all functions). |
||
Required (Choose One) |
Surrogate Category |
Select a surrogate model with global support |
|
Construct a surrogate from multiple existing training points |
|||
Build a locally accurate surrogate from data at a single point |
|||
Ensemble surrogates employ a collection of lower-fidelity models to approximate a truth reference model at reduced cost. |
Description
Surrogate models are inexpensive approximate models that are intended
to capture the salient features of an expensive high-fidelity model.
They can be used to explore the variations in response quantities over
regions of the parameter space, or they can serve as inexpensive
stand-ins for optimization or uncertainty quantification studies (see,
for example, the surrogate-based optimization methods,
surrogate_based_global
and surrogate_based_local
).
Surrogate models supported in Dakota are categorized as Data Fitting or Ensemble, as shown below. Each of these surrogate types provides an approximate representation of a “truth” model which is used to perform the parameter to response mappings. This approximation is built and updated using results from the truth model, called the “training data”.
Data fits: Known Issue: When using discrete variables, there have been sometimes significant differences in surrogate behavior observed across computing platforms in some cases. The cause has not yet been fully diagnosed and is currently under investigation. In addition, guidance on appropriate construction and use of surrogates with discrete variables is under development. In the meantime, users should therefore be aware that there is a risk of inaccurate results when using surrogates with discrete variables. Data fitting methods involve construction of an approximation or surrogate model using data (response values, gradients, and Hessians) generated from the original truth model. Data fit methods can be further categorized as local, multipoint, and global approximation techniques, based on the number of points used in generating the data fit.
Local: built from response data from a single point in parameter space
Taylor series expansion:
taylor_series
Training data consists of a single point, plus gradient and Hessian information.
Multipoint: built from two or more points in parameter space, often involving the current and previous iterates of a minimization algorithm.
TANA-3:
tana
Training Data comes from a few previously evaluated points
Global full space response surface methods:
Polynomial regression:
polynomial
Gaussian process (Kriging):
gaussian_process
Artifical neutral network:
neural_network
MARS:
mars
Radial Basis Functions:
radial_basis
Orthogonal polynomials (only supported in PCE/SC for now):
polynomial_chaos
andstoch_collocation
Training data is generated using either a design of experiments method applied to the truth model ( specified bydace_method_pointer
), or from saved data (specified byreuse_points
) in a restart database, or an import file.
Multifidelity/ensemble: Multifidelity modeling involves the use of a low-fidelity physics-based model as a surrogate for the original high-fidelity model. The low-fidelity model typically involves a coarser mesh, looser convergence tolerances, reduced element order, or omitted physics. See
ensemble
.
The global and ensemble surrogates have a correction feature in order to improve the local accuracy of the surrogate models. The correction factors force the surrogate models to match the true function values and possibly true function derivatives at the center point of each trust region.
Details can be found on global correction
or ensemble correction
.
Theory
Surrogate models are used extensively in the surrogate-based optimization and least squares methods, in which the goals are to reduce expense by minimizing the number of truth function evaluations and to smooth out noisy data with a global data fit. However, the use of surrogate models is not restricted to optimization techniques; uncertainty quantification and optimization under uncertainty methods are other primary users.
Data Fit Surrogate Models
A surrogate of the {em data fit} type is a non-physics-based approximation typically involving interpolation or regression of a set of data generated from the original model. Data fit surrogates can be further characterized by the number of data points used in the fit, where a local approximation (e.g., first or second-order Taylor series) uses data from a single point, a multipoint approximation (e.g., two-point exponential approximations (TPEA) or two-point adaptive nonlinearity approximations (TANA)) uses a small number of data points often drawn from the previous iterates of a particular algorithm, and a global approximation (e.g., polynomial response surfaces, kriging/gaussian_process, neural networks, radial basis functions, splines) uses a set of data points distributed over the domain of interest, often generated using a design of computer experiments.
Dakota contains several types of surface fitting methods that can be used with optimization and uncertainty quantification methods and strategies such as surrogate-based optimization and optimization under uncertainty. These are: polynomial models (linear, quadratic, and cubic), first-order Taylor series expansion, kriging spatial interpolation, artificial neural networks, multivariate adaptive regression splines, radial basis functions, and moving least squares. With the exception of Taylor series methods, all of the above methods listed in the previous sentence are accessed in Dakota through the Surfpack library. All of these surface fitting methods can be applied to problems having an arbitrary number of design parameters. However, surface fitting methods usually are practical only for problems where there are a small number of parameters (e.g., a maximum of somewhere in the range of 30-50 design parameters). The mathematical models created by surface fitting methods have a variety of names in the engineering community. These include surrogate models, meta-models, approximation models, and response surfaces. For this manual, the terms surface fit model and surrogate model are used.
The data fitting methods in Dakota include software developed by Sandia researchers and by various researchers in the academic community.
Multifidelity Surrogate Models
A second type of surrogate is the {em model ensemble} type (also called multifidelity, variable fidelity, variable complexity, etc.). In this case, one or more models that are still physics-based but are of lower fidelity (e.g., coarser discretization, reduced element order, looser convergence tolerances, omitted physics) are used as surrogates in place of the high-fidelity model. For example, an inviscid, incompressible Euler CFD model on a coarse discretization could be used as a low-fidelity surrogate for a high-fidelity large-eddy simulation model on a fine discretization.
Surrogate Model Selection
This section offers some guidance on choosing from among the available surrogate model types.
For Surrogate Based Local Optimization, using the
surrogate_based_local
method with a trust region: using the keywords:surrogate
local
taylor_series
orsurrogate
multipoint
tana
will probably work best. If for some reason you wish or need to use a global surrogate (not recommended) then the best of these options is likely to be either:surrogate
global
gaussian_process
surfpack
orsurrogate
global
moving_least_squares
.For Efficient Global Optimization (EGO), the
efficient_global
method: the default surrogate is:gaussian_process
surfpack
which is likely to find a more optimal value and/or require fewer true function evaluations than the alternative,gaussian_process
dakota
. However, thesurfpack
will likely take more time to build than thedakota
version. Note that currently theuse_derivatives
keyword is not recommended for use with EGO based methods.For EGO based global interval estimation, the
global_interval_est
ego
method: the defaultgaussian_process
surfpack
will likely work better than the alternativegaussian_process
dakota
.For Efficient Global Reliability Analysis (EGRA), the
global_reliability
method: thesurfpack
anddakota
versions of the gaussian process tend to give similar answers with thedakota
version tending to use fewer true function evaluations. Since this is based on EGO, it is likely that the defaultsurfpack
is more accurate, although this has not been rigorously demonstrated.For EGO based Dempster-Shafer Theory of Evidence, i.e. the
global_evidence
ego
method, the defaultgaussian_process
surfpack
often use significantly fewer true function evaluations than the alternativegaussian_process
dakota
.When using a global surrogate to extrapolate, any of the surrogates:
polynomial
cubic
are recommended.When there is over roughly two or three thousand data points and you wish to interpolate (or approximately interpolate) then a Taylor series, Radial Basis Function Network, or Moving Least Squares fit is recommended. The only reason that the
gaussian_process
surfpack
is not recommended is that it can take a considerable amount of time to construct when the number of data points is very large. Use of the third party MARS package included in Dakota is generally discouraged.In other situations that call for a global surrogate, the
gaussian_process
surfpack
is generally recommended. Theuse_derivatives
keyword will only be useful if accurate and inexpensive derivatives are available. Finite difference derivatives are disqualified on both counts. However, derivatives generated by analytical, automatic differentiation, or continuous adjoint techniques can be appropriate. Currently, first order derivatives, i.e. gradients, are the highest order derivatives that can be used to construct thegaussian_process
surfpack
model; Hessians will not be used even if they are available.