sensitivity.sensitivity_sobol

sensitivity.sensitivity_sobol

Global sensitivity analysis using Sobol indices.

This module provides routines to perform variance-based global sensitivity analysis based on Sobol indices. Sobol sensitivity analysis quantifies how uncertainty in model parameters contributes to the variance of one or more model outputs, allowing a decomposition into main effects, interaction effects, and total effects.

The implemented methodology follows the classical Sobol framework and its later refinements, including Monte Carlo–based estimators for first-order, higher-order, and total-effect sensitivity indices. The approach is fully global, meaning that parameters are varied simultaneously over their entire admissible ranges according to prescribed probability distributions.

Sobol indices are defined as: - First-order indices (S_i), measuring the contribution of a single parameter to the output variance, ignoring interactions. - Higher-order indices (S_ij, S_ijk, …), measuring interaction effects between parameters. - Total-effect indices (S_Ti), measuring the total contribution of a parameter to the output variance, including all interactions.

The analysis requires: - A deterministic model or simulation function creating scalar outputs. - A set of input parameters with specified bounds. - A sampling scheme based on quasi-random or Monte Carlo methods.

References

Sobol, I. M. (2001). Global sensitivity indices for nonlinear mathematical models and their Monte Carlo estimates. Mathematics and Computers in Simulation, 55(1–3), 271–280. https://www.sciencedirect.com/science/article/pii/S0378475400002706

Saltelli, A. (2002). Making best use of model evaluations to compute sensitivity indices. Computer Physics Communications, 145(2), 280–297. https://www.sciencedirect.com/science/article/pii/S0010465502002801

Saltelli, A., Annoni, P., Azzini, I., Campolongo, F., Ratto, M., & Tarantola, S. (2010). Variance based sensitivity analysis of model output. Design and estimator for the total sensitivity index. Computer Physics Communications, 181(2), 259–270. https://www.sciencedirect.com/science/article/pii/S0010465509003087

Classes

Name Description
SobolSensitivityAnalysis Global sensitivity analysis based on Sobol method.

SobolSensitivityAnalysis

sensitivity.sensitivity_sobol.SobolSensitivityAnalysis(
    sensitivity_simulation,
    parameters,
    groups,
    results_path,
    N,
    seed=None,
    n_cores=None,
    cache_results=False,
    **kwargs,
)

Global sensitivity analysis based on Sobol method.

Methods

Name Description
calculate_sensitivity Calculate the sensitivity matrices for SOBOL analysis.
create_samples Create samples for sobol.
calculate_sensitivity
sensitivity.sensitivity_sobol.SobolSensitivityAnalysis.calculate_sensitivity(
    cache_filename=None,
    cache=False,
)

Calculate the sensitivity matrices for SOBOL analysis.

create_samples
sensitivity.sensitivity_sobol.SobolSensitivityAnalysis.create_samples()

Create samples for sobol.

Generates model inputs using Saltelli’s extension of the Sobol’ sequence

The Sobol’ sequence is a popular quasi-random low-discrepancy sequence used to generate uniform samples of parameter space.