Sobol indices are the standard approach for performing a global sensitivity analysis. The indices are based on a variance decomposition of the model output. Using this decomposition allows us to assign the contribution of uncertain inputs to the variance of the model output.
There are three main groups of indices:
- First order indices (Si): Describe the fraction of the output variance due to a single uncertain input parameter i. This amount of variance can be reduced if the uncertainty in the corresponding input is eliminated.
- Higher order indices: Describe the fraction of the output variance due to interactions between uncertain input parameters. For example, the second order indices (Sij) describe the fraction of the output variance due to interactions between two uncertain input parameters i and j.
- Total order indices (STi): Describe the fraction of the output variance due to a single input parameter i and all higher order effects of the input parameter.
If the first order index of an input parameter is equal to the total order index it implies that the parameter does not have any interaction effects.
The Sobol indices are typically computed using the Pick-and-Freeze approach for single output and multi-output models. Since there are several variants of the Pick-and-Freeze approach, the schemes implemented to compute Sobol indices are listed below:
Here, N is the Monte Carlo sample size and m is the number of input parameters in the model.
- First order indices (Si)
- Janon2014: Requires N(m + 1) model evaluations
Compared to "Sobol1993", the "Janon2014" estimator makes more efficient use of model evaluations and produces smaller (better) confidence intervals.
- Sobol1993: Requires N(m + 1) model evaluations
saltelli_2008
.
- Saltelli2002: Requires N(2m + 2) model evaluations
saltelli_2002
.
- Second order indices (Sij)
- Saltelli2002: Requires N(2m + 2) model evaluations
saltelli_2002
.
- Total order indices (STi)
- Homma1996: Requires N(m + 1) model evaluations
saltelli_2008
.
- Saltelli2002: Requires N(2m + 2) model evaluations
saltelli_2002
.
The .SobolSensitivity
class is imported using the following command:
>>> from UQpy.sensitivity.SobolSensitivity import SobolSensitivity
UQpy.sensitivity.SobolSensitivity
UQpy.sensitivity.SobolSensitivity.first_order_indices
UQpy.sensitivity.SobolSensitivity.second_order_indices
UQpy.sensitivity.SobolSensitivity.total_order_indices
UQpy.sensitivity.SobolSensitivity.first_order_confidence_interval
UQpy.sensitivity.SobolSensitivity.second_order_confidence_interval
UQpy.sensitivity.SobolSensitivity.total_order_confidence_interval
UQpy.sensitivity.SobolSensitivity.n_samples
UQpy.sensitivity.SobolSensitivity.n_variables
UQpy.sensitivity.SobolSensitivity.is_multi_output
Sobol Examples <../auto_examples/sensitivity/sobol/index>