Dakota Reference Manual: multilevel_sampling

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
multilevel_sampling

Multilevel sampling methods for UQ

## Specification

Alias: multilevel_mc mlmc

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 sampling methods.
| Optional | sample_type | Selection of sampling strategy
| Optional | export_sample_sequence | Enable export of multilevel/multifidelity sample sequences to individual files
| Optional | allocation_target | Allocation statistics/target for the MLMC sample allocation.
| Optional | qoi_aggregation | Aggregation strategy for the QoIs statistics for problems with multiple responses in the MLMC algorithm
| Optional | convergence_tolerance | Stopping criterion based on relative error
| Optional | convergence_tolerance_type | Sets the type of the convergence tolerance. Can be absolute or relative. Default Behavior "relative"
| Optional | convergence_tolerance_target | Sets the target of the MLMC sample allocation, i.e. the constraint of the MLMC sample allocation problem Default Behavior "variance_constraint"
| Optional | max_iterations | Stopping criterion based on number of refinement iterations within the multilevel sample allocation
| 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 | Placeholder for future capabilities
| 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 multilevel relationships within a hierarchical surrogate model in order to improve efficiency through variance reduction.

In the case of a multilevel relationship, multilevel Monte Carlo methods are used to compute an optimal sample allocation per level.

Multilevel Monte Carlo

The Monte Carlo estimator for the mean is defined as

In a multilevel method with levels, we replace this estimator with a telescoping sum:

This decomposition forms discrepancies for each level greater than 0, seeking reduction in the variance of the discrepancy relative to the variance of the original response . The number of samples allocated for each level ( ) is based on a total cost minimization procedure that incorporates the relative cost and observed variance for each of the .

Default Behavior

The `multilevel_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 `multilevel_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 multilevel sampling method must be used in combination with a hierarchical model specification, and supports either a sequence of model forms or a sequence of discretization levels. For the former, each model form must provide a scalar `solution_level_cost` and for the latter, 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`.

## Examples

The following method block

    method,
        model_pointer = 'HIERARCH'
        multilevel_sampling
          pilot_samples = 20 seed = 1237
          max_iterations = 10
          convergence_tolerance = .001

specifies a multilevel Monte Carlo study in combination with the model identified by the HIERARCH pointer. This model specification provides a one-dimensional hierarchy, typically defined by a single model fidelity with multiple discretization levels, but may also be provided as multiple ordered model fidelities, each with a single (or default) discretization level. An example of the former (single model fidelity with multiple discretization levels) follows:

    model,
        id_model = 'HIERARCH'
        surrogate hierarchical
          ordered_model_fidelities = 'SIM1'
          correction additive zeroth_order

    model,
        id_model = 'SIM1'
        simulation
          solution_level_control = 'N_x'
          solution_level_cost = 630. 1260. 2100. 4200.

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

## See Also

These keywords may also be of interest:

- multifidelity_sampling
- multilevel_multifidelity_sampling