100D function
The 100-dimensional function is a high-dimensional function derived from a more generic example detailed below. This function was designed for sensitivity analysis: the first-order sensitivity indices of the input variables generally nonlinearly increase with their index, with certain variables having especially high sensitivity (Lüthen et al, 2021).
Description
The high-dimensional function is a nonlinear, arbitrary-dimensional function (with input dimension M \geq 55) defined as:
If all the input variables are identically distributed, the sensitivity pattern of this function exhibits an overall non-linearly increasing trend with the variable number. It also presents distinct peaks for variables x_2, x_{20} (because of a different input distribution, see below), x_{51}, and x_{54}. Furthermore, four 2-term interaction peaks are expected: x_1 x_2, x_2 x_4, x_3 x_5, and x_{50} x_{54}. Finally, by construction, the two pairs of interaction terms x_1 x_2, x_{50} x_{54} and x_2 x_4, x_3 x_5 are expected to have identical sensitivity indices, respectively.
Figures 1 and 2 show first- and second-order Sobol’ indices from a sensitivity analysis performed on the 100D function. Sobol’ indices were directly calculated with polynomial chaos expansion due to the high dimensionality of the model. For more details about PCE setting, check the UQLab Sensitivity analysis example.
Figure 1: First-order Sobol’ indices
Figure 2: Second-order Sobol’ indices
Inputs
The 100D function contains a hundred independent uniformly distributed random variables gathered into the vector X:
Variable | Description | Distribution | Range |
---|---|---|---|
X_i, i=1,...,100, i\neq20 | Input variable | Uniform | [1,2] |
X_{20} | Input variable | Uniform | [1,3] |
Resources
The vectorized implementation of the 100D function in MATLAB, as well as the script file with the model and probabilistic inputs definitions for the function in UQLab, can be downloaded below:
uq_100Dfunction.zip (2.2 KB)
The contents of the file are:
Filename | Description |
---|---|
uq_many_inputs_model.m |
vectorized implementation of the high-dimensional function in MATLAB |
uq_Example_100Dfunction.m |
definitions for the model and probabilistic inputs in UQLab |
LICENSE |
license for the function (BSD 3-Clause) |
Open-access repository
The dataset used in this benchmark study is titled “Benchmark case datasets - 100D function” and is authored by Adéla Hlobilová, Stefano Marelli, and Bruno Sudret. It was published in 2024 and is available on Zenodo. The dataset can be accessed directly via the following DOI link: 10.5281/zenodo.12699982.
The experimental designs include datasets with 400, 800, 1200, 1600, and 2000 samples, each generated using optimized Latin Hypercube Sampling (LHS) with 1,000 iterations to improve the maximin criterion. Each dataset is replicated 20 times. The validation set contains 100,000 samples generated by Monte Carlo simulation. Each dataset contains samples and responses of the computational model.
For citation purposes, please use the following format:
Hlobilová, A., Marelli, S., and Sudret, B. (2024). Benchmark case datasets - 100D function. Zenodo. https://doi.org/10.5281/zenodo.12699982.
This project was supported by the Open Research Data Program of the ETH Board under Grant number EPFL SCR0902285.
References
- UQLab - The Framework for Uncertainty Quantification. “Sensitivity: Sobol’ indices of a high-dimensional function.” Retrieved July 3, 2024, from https://www.uqlab.com/sensitivity-high-dimension.
- Lüthen, N., Marelli, S., Sudret, B. “Sparse Polynomial Chaos Expansions: Literature Survey and Benchmark,” SIAM/ASA Journal on Uncertainty Quantification, vol. 9, issue 2, pp. 593–649, 2021. DOI:10.1137/20M1315774