Dakota Reference Manual: surrogate

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
surrogate

An empirical model that is created from data or the results of a submodel

## Specification

Alias: none

Argument(s): none

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional | id_surrogates | Identifies the subset of the response functions by number that are to be approximated (the default is all functions).
| Required (Choose One) | Surrogate Category (Group 1) | global | Select a surrogate model with global support
multipoint | Construct a surrogate from multiple existing training points
local | Build a locally accurate surrogate from data at a single point
hierarchical | Hierarchical surrogates use an ordered hierarchy of model fidelities and/or resolutions to trade accuracy versus cost.
non_hierarchical | Non-hierarchical surrogates employ an unordered set 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 Hierarchical, 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.

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

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

  3. 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 and stoch_collocation

     Training data is generated using either a design of experiments method applied to the truth model ( specified by dace_method_pointer), or from saved data (specified by reuse_points ) in a restart database, or an import file.

- Multifidelity/hierarchical:

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

The global and hierarchal 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 hierarchical 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 {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 {model hierarchy} type (also called multifidelity, variable fidelity, variable complexity, etc.). In this case, a model that is still physics-based but is of lower fidelity (e.g., coarser discretization, reduced element order, looser convergence tolerances, omitted physics) is used as the surrogate 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 Navier-Stokes 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:

  1. surrogate local taylor_series or
  2. surrogate 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:

  1. surrogate global gaussian_process surfpack or
  2. surrogate 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, the surfpack will likely take more time to build than the `dakota` version. Note that currently the use_derivatives keyword is not recommended for use with EGO based methods.

- For EGO based global interval estimation, the global_interval_est ego method:

  the default gaussian_process surfpack will likely work better than the alternative gaussian_process dakota.

- For Efficient Global Reliability Analysis (EGRA), the global_reliability method:

  the surfpack and `dakota` versions of the gaussian process tend to give similar answers with the `dakota` version tending to use fewer true function evaluations. Since this is based on EGO, it is likely that the default surfpack 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 default gaussian_process surfpack often use significantly fewer true function evaluations than the alternative gaussian_process dakota.
- When using a global surrogate to extrapolate, any of the surrogates:
  - gaussian_process surfpack
  - polynomial quadratic
  - 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. The `use_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 the gaussian_process surfpack model; Hessians will not be used even if they are available.

## See Also

These keywords may also be of interest:

- single
- nested