Dakota Reference Manual: multifidelity_sampling

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
multifidelity_sampling

Multifidelity sampling methods for UQ

## Specification

Alias: multifidelity_mc mfmc

Argument(s): none

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional | seed_sequence | Sequence of seed values for multi-stage random sampling
| Optional | fixed_seed | Reuses the same seed value for multiple random sampling sets
| Optional | pilot_samples | Initial set of samples for multilevel/multifidelity sampling methods.
| Optional | solution_mode | Solution mode for multilevel/multifidelity methods
| Optional | sample_type | Selection of sampling strategy
| Optional | export_sample_sequence | Enable export of multilevel/multifidelity sample sequences to individual files
| Optional | convergence_tolerance | Stopping criterion based on relative error reduction
| Optional | max_iterations | Number of iterations allowed for optimizers and adaptive UQ methods
| Optional | max_function_evaluations | Stopping criterion based on maximum function evaluations
| Optional | final_moments | Output moments of the specified type and include them within the set of final statistics.
| Optional | distribution | Selection of cumulative or complementary cumulative functions
| Optional | rng | Selection of a random number generator
| Optional | model_pointer | Identifier for model block to be used by a method

## Description

An adaptive sampling method that utilizes multifidelity relationships in order to improve efficiency through variance reduction.

Two variants are currently supported, with the former now deprecated and to be replaced by the latter:

- In the case of a hierarchical surrogate model, the two-model approach of Ng and Willcox (2014) is supported and the two most extreme model fidelities or resolutions are employed as the truth model and approximation model.
- In the case of a non-hierarchical surrogate model, the multi-model approach of Peherstorfer et al. (2016) is supported for which all model instances can be integrated into the scheme. Both methods can be used with either a model form sequence or a resolution level sequence.

Control Variate Monte Carlo

In the case of two model fidelities (low fidelity denoted as LF and high fidelity denoted as HF), we employ a control variate approach as described in Ng and Willcox (2014):

As opposed to the traditional control variate approach, we do not know precisely, but rather we estimate it more accurately than based on a sampling increment applied to the LF model. This sampling increment is based again on a total cost minimization procedure that incorporates the relative LF and HF costs and the observed Pearson correlation coefficient between and . The coefficient is then determined from the observed LF-HF covariance and LF variance.

Multifidelity Monte Carlo

This approach can be extended to a sequence of low-fidelity approximations using a recusive sampling approach as in Peherstorfer et al. (2016).

In this case, the variance in the estimate of the control mean is reduced by the control variate, such that the variance reduction is limited by the case of an exact estimate of the first control mean (referred to as OCV-1 in Gorodetsky et al., 2020).

Default Behavior

The `multifidelity_sampling` method employs Monte Carlo sample sets by default, but this default can be overridden to use Latin hypercube sample sets using `sample_type` `lhs`.

Expected Output

The `multifidelity_sampling` method reports estimates of the first four moments and a summary of the evaluations performed for each model fidelity and discretization level. The method does not support any level mappings (response, probability, reliability, generalized reliability) at this time.

Expected HDF5 Output

If Dakota was built with HDF5 support and run with the hdf5 keyword, this method writes the following results to HDF5:

- Sampling Moments (moments only, not confidence intervals)

In addition, the execution group has the attribute `equiv_hf_evals`, which records the equivalent number of high-fidelity evaluations.

Usage Tips

The `multifidelity_sampling` method can be used in combination with either a hierarchical or non-hierarchical model specification for either a model form sequence or a discretization level sequence. For a model form sequence, each model must provide a scalar `solution_level_cost`. For a discretization level sequence, it is necessary to identify the variable string descriptor that controls the resolution levels using `solution_level_control` as well as the associated array of relative costs using `solution_level_cost`.

The hierarchical two-model approach is a special case of the non-hierarchical multi-model approach. The latter gives identical results to the former when restricted to one approximation model; as such, the hierarchical two-model approach is deprecated.

## Examples

We provide an example of a multifidelity Monte Carlo study using a non-hierarchical model specification employing multiple approximations.

The following method block:

    method,
        model_pointer = 'NONHIER'
        multifidelity_sampling
          pilot_samples = 20 seed = 1237
          max_iterations = 10
          convergence_tolerance = .001

specifies MFMC in combination with the model identified by the NONHIER pointer.

This NONHIER model specification provides a one-dimensional sequence, here defined by a single truth model and a set of unordered approximation models, each with a single (or default) discretization level:

    model,
        id_model = 'NONHIER'
        surrogate non_hierarchical
          truth_model = 'HF'
          unordered_model_fidelities = 'LF1' 'LF2'

    model,
        id_model = 'LF1'
        interface_pointer = 'LF1_INT'
        simulation
          solution_level_cost = 0.01

    model,
        id_model = 'LF2'
        interface_pointer = 'LF2_INT'
        simulation
          solution_level_cost = 0.1

    model,
        id_model = 'HF'
        interface_pointer = 'HF_INT'
        simulation
          solution_level_cost = 1.

Refer to `dakota/test/dakota_uq_*_cvmc`.in and `dakota/test/dakota_uq_*_mfmc`.in in the source distribution for additional examples.

## See Also

These keywords may also be of interest:

- multilevel_sampling
- multilevel_multifidelity_sampling
- approximate_control_variate