Skip to content

sensitivity.sensitivity_sobol

Global sensitivity analysis using Sobol indices.

This module provides routines for variance-based global sensitivity analysis using Sobol indices. Sobol analysis decomposes the variance of model outputs into contributions from individual parameters and their interactions.

The following indices are computed:

  • First-order indices (S1)
  • Total-effect indices (ST)
  • Associated confidence intervals

Sampling is based on Saltelli's extension of the Sobol sequence and requires (2D + 2) * N model evaluations for D parameters.

References
  • Sobol, I. M. (2001). Math. Comput. Simul., 55, 271–280.
  • Saltelli, A. (2002). Comput. Phys. Commun., 145, 280–297.
  • Saltelli et al. (2010). Comput. Phys. Commun., 181, 259–270.

SobolSensitivityAnalysis

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

Bases: SensitivityAnalysis

Global sensitivity analysis based on Sobol method.

N: length of chain (Sobol' sequence), must be power of 2, i.e. 2^m e.g. 4096.

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

create_samples

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.

calculate_sensitivity

calculate_sensitivity(cache_filename=None, cache=False)

Calculate the sensitivity matrices for SOBOL analysis.

plot

plot()

Plot the Sobol indices as heatmaps and bar plots.