Dakota Reference Manual: polynomial_chaos

| Dakota Reference Manual Version 6.15 Explore and Predict with Confidence

- Main Page
- Related Pages

All Pages
polynomial_chaos

Uncertainty quantification using polynomial chaos expansions

## Specification

Alias: nond_polynomial_chaos

Argument(s): none

Child Keywords:

| Required/Optional | Description of Group | Dakota Keyword | Dakota Keyword Description
--- | --- | --- | --- | ---
| Optional | p_refinement | Automatic polynomial order refinement
| Optional | max_refinement_iterations | Maximum number of expansion refinement iterations
| Optional | convergence_tolerance | Stopping criterion based on objective function or statistics convergence
| Optional | metric_scale | define scaling of statistical metrics when adapting UQ surrogates
| Required (Choose One) | Chaos coefficient estimation approach (Group 1) | quadrature_order | Order for tensor-products of Gaussian quadrature rules
sparse_grid_level | Level to use in sparse grid integration or interpolation
cubature_integrand | Cubature using Stroud rules and their extensions
expansion_order | The (initial) order of a polynomial expansion
orthogonal_least_interpolation | Build a polynomial chaos expansion from simulation samples using orthogonal least interpolation.
import_expansion_file | Build a Polynomial Chaos Expansion (PCE) by import coefficients and a multi-index from a file
| Optional (Choose One) | Basis Polynomial Family (Group 2) | askey | Select the standardized random variables (and associated basis polynomials) from the Askey family that best match the user-specified random variables.
wiener | Use standard normal random variables (along with Hermite orthogonal basis polynomials) when transforming to a standardized probability space.
| Optional | normalized | The normalized specification requests output of PCE coefficients that correspond to normalized orthogonal basis polynomials
| Optional | export_expansion_file | Export the coefficients and multi-index of a Polynomial Chaos Expansion (PCE) to a file
| Optional | samples_on_emulator | Number of samples at which to evaluate an emulator (surrogate)
| Optional | sample_type | Selection of sampling strategy
| Optional | rng | Selection of a random number generator
| Optional | probability_refinement | Allow refinement of probability and generalized reliability results using importance sampling
| Optional | final_moments | Output moments of the specified type and include them within the set of final statistics.
| Optional | response_levels | Values at which to estimate desired statistics for each response
| Optional | probability_levels | Specify probability levels at which to estimate the corresponding response value
| Optional | reliability_levels | Specify reliability levels at which the response values will be estimated
| Optional | gen_reliability_levels | Specify generalized relability levels at which to estimate the corresponding response value
| Optional | distribution | Selection of cumulative or complementary cumulative functions
| Optional | variance_based_decomp | Activates global sensitivity analysis based on decomposition of response variance into main, interaction, and total effects
| Optional (Choose One) | Covariance Type (Group 3) | diagonal_covariance | Display only the diagonal terms of the covariance matrix
full_covariance | Display the full covariance matrix
| Optional | import_approx_points_file | Filename for points at which to evaluate the PCE/SC surrogate
| Optional | export_approx_points_file | Output file for surrogate model value evaluations
| Optional | seed | Seed of the random number generator
| Optional | fixed_seed | Reuses the same seed value for multiple random sampling sets
| Optional | model_pointer | Identifier for model block to be used by a method

## Description

The polynomial chaos expansion (PCE) is a general framework for the approximate representation of random response functions in terms of finite-dimensional series expansions in standardized random variables

where is a deterministic coefficient, is a multidimensional orthogonal polynomial and is a vector of standardized random variables. An important distinguishing feature of the methodology is that the functional relationship between random inputs and outputs is captured, not merely the output statistics as in the case of many nondeterministic methodologies.

Basis polynomial family (Group 1)

Group 1 keywords are used to select the type of basis, , of the expansion. Three approaches may be employed:

- Wiener: employs standard normal random variables in a transformed probability space, corresponding to Hermite orthogonal basis polynomials (see wiener).

- Askey: employs standard normal, standard uniform, standard exponential, standard beta, and standard gamma random variables in a transformed probability space, corresponding to Hermite, Legendre, Laguerre, Jacobi, and generalized Laguerre orthogonal basis polynomials, respectively (see askey).

- Extended (default if no option is selected): The Extended option avoids the use of any nonlinear variable transformations by augmenting the Askey approach with numerically-generated orthogonal polynomials for non-Askey probability density functions. Extended polynomial selections replace each of the sub-optimal Askey basis selections for bounded normal, lognormal, bounded lognormal, loguniform, triangular, gumbel, frechet, weibull, and bin-based histogram.

For supporting correlated random variables, certain fallbacks must be implemented.

- The Extended option is the default and supports only Gaussian correlations.
- If needed to support prescribed correlations (not under user control), the Extended and Askey options will fall back to the Wiener option on a per variable basis. If the prescribed correlations are also unsupported by Wiener expansions, then Dakota will exit with an error.

Refer to variable_support for additional information on supported variable types, with and without correlation.

Coefficient estimation approach (Group 2)

To obtain the coefficients of the expansion, seven options are provided:

1. multidimensional integration by a tensor-product of Gaussian quadrature rules (specified with `quadrature_order`, and, optionally, `dimension_preference`).
2. multidimensional integration by the Smolyak sparse grid method (specified with `sparse_grid_level` and, optionally, `dimension_preference`)
3. multidimensional integration by Stroud cubature rules and extensions as specified with `cubature_integrand`.
4. multidimensional integration by Latin hypercube sampling (specified with `expansion_order` and `expansion_samples`).
5. linear regression (specified with `expansion_order` and either `collocation_points` or `collocation_ratio`), using either over-determined (least squares) or under-determined (compressed sensing) approaches.
6. orthogonal least interpolation (specified with `orthogonal_least_interpolation` and `collocation_points`)
7. coefficient import from a file (specified with `import_expansion_file`). The expansion can be comprised of a general set of expansion terms, as indicated by the multi-index annotation within the file.

It is important to note that, for polynomial chaos using a single model fidelity, `quadrature_order`, `sparse_grid_level`, and `expansion_order` are scalar inputs used for a single expansion estimation. These scalars can be augmented with a `dimension_preference` to support anisotropy across the random dimension set. This differs from the use of sequence arrays in advanced use cases such as multilevel and multifidelity polynomial chaos, where multiple grid resolutions can be employed across a model hierarchy.

Active Variables

The default behavior is to form expansions over aleatory uncertain continuous variables. To form expansions over a broader set of variables, one needs to specify `active` followed by `state`, `epistemic`, `design`, or `all` in the variables specification block.

For continuous design, continuous state, and continuous epistemic uncertain variables included in the expansion, Legendre chaos bases are used to model the bounded intervals for these variables. However, these variables are not assumed to have any particular probability distribution, only that they are independent variables. Moreover, when probability integrals are evaluated, only the aleatory random variable domain is integrated, leaving behind a polynomial relationship between the statistics and the remaining design/state/epistemic variables.

Covariance type (Group 3)

These two keywords are used to specify how this method computes, stores, and outputs the covariance of the responses. In particular, the diagonal covariance option is provided for reducing post-processing overhead and output volume in high dimensional applications.

Optional Keywords regarding method outputs

Each of these sampling specifications refer to sampling on the PCE approximation for the purposes of generating approximate statistics.

- `sample_type`
- `samples`
- `seed`
- `fixed_seed`
- `rng`
- `probability_refinement`
- `distribution`
- `reliability_levels`
- `response_levels`
- `probability_levels`
- `gen_reliability_levels`

which should be distinguished from simulation sampling for generating the PCE coefficients as described in options 4, 5, and 6 above (although these options will share the `sample_type`, `seed`, and `rng` settings, if provided).

When using the `probability_refinement` control, the number of refinement samples is not under the user's control (these evaluations are approximation-based, so management of this expense is less critical). This option allows for refinement of probability and generalized reliability results using importance sampling.

Usage Tips

If n is small (e.g., two or three), then tensor-product Gaussian quadrature is quite effective and can be the preferred choice. For moderate to large n (e.g., five or more), tensor-product quadrature quickly becomes too expensive and the sparse grid and regression approaches are preferred. Random sampling for coefficient estimation is generally not recommended due to its slow convergence rate. For incremental studies, approaches 4 and 5 support reuse of previous samples through the incremental_lhs and reuse_points specifications, respectively.

In the quadrature and sparse grid cases, growth rates for nested and non-nested rules can be synchronized for consistency. For a non-nested Gauss rule used within a sparse grid, linear one-dimensional growth rules of are used to enforce odd quadrature orders, where l is the grid level and m is the number of points in the rule. The precision of this Gauss rule is then . For nested rules, order growth with level is typically exponential; however, the default behavior is to restrict the number of points to be the lowest order rule that is available that meets the one-dimensional precision requirement implied by either a level l for a sparse grid ( ) or an order m for a tensor grid ( ). This behavior is known as "restricted growth" or "delayed sequences." To override this default behavior in the case of sparse grids, the `unrestricted` keyword can be used; it cannot be overridden for tensor grids using nested rules since it also provides a mapping to the available nested rule quadrature orders. An exception to the default usage of restricted growth is the `dimension_adaptive` `p_refinement` `generalized` sparse grid case described previously, since the ability to evolve the index sets of a sparse grid in an unstructured manner eliminates the motivation for restricting the exponential growth of nested rules.

Additional Resources

Dakota provides access to PCE methods through the NonDPolynomialChaos class. Refer to the Uncertainty Quantification Capabilities chapter of the Users Manual[4] and the Stochastic Expansion Methods chapter of the Theory Manual[15] for additional information on the PCE algorithm.

Expected HDF5 Output

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

- Integration and Expansion Moments
- Probability Density
- Level Mappings
- Variance-Based Decomposition (Sobol' Indices)

## Examples

    method,
        polynomial_chaos
          sparse_grid_level = 2
          samples = 10000 seed = 12347 rng rnum2
          response_levels = .1 1. 50. 100. 500. 1000.
          variance_based_decomp

## See Also

These keywords may also be of interest:

- stoch_collocation
- function_train