antimeme / docs / salib

Choosing a Method

Which sensitivity analysis method for which question.


The short version

Situation Method Page
General-purpose, black-box model Saltelli 2010 variance-based
Many factors, limited budget (screening) Morris elementary effects
Need interactions + total effects Saltelli 2010 or Jansen variance-based
Very tight budget, first-order only RBD-FAST frequency
Care about distributional shift, not just variance Borgonovo δ or PAWN distribution
Tail risk / exceedance probability QOSA distribution
Gradients available, want cheap screening DGSM derivative
Model is approximately linear SRC / SRRC regression
Want analytic indices from a surrogate PCE surrogate
Correlated inputs Shapley effects game-theoretic
Observational data, can’t re-run model Given-data Sobol’ variance-based
Physical experiment (not computer model) Fractional factorial or ANOVA experimental design

Decision tree

Start here and follow the branches.

Can you run the model?

Cost comparison

All costs in terms of model evaluations, where d is the number of factors and N is the base sample size.

Method Total evaluations First-order Total-effect Interactions
Saltelli 2010 N(d + 2) yes yes via S_{Ti} - S_i
Jansen N(d + 2) yes yes via S_{Ti} - S_i
Janon N(d + 2) yes yes via S_{Ti} - S_i
Owen N(d + 2) yes yes S_{ij} directly
Morris r(d + 1) \mu^* (screening) no \sigma (screening)
FAST/eFAST dN yes yes (eFAST) no
RBD-FAST N yes no no
Borgonovo δ N (+ KDE) moment-independent no no
PAWN N (+ conditioning) CDF-based no no
DGSM N(d + 1) (finite diff) upper bound on S_T bound no
SRC/SRRC N (OLS) linear approx no no
PCE N (training) analytic analytic analytic
Shapley N \times 2^d subsets full attribution implicit implicit

Common workflows

“I have no idea which factors matter”

Start with Morris screening (r = 20, p = 4). It costs 20 \times (d + 1) evaluations and tells you which factors to investigate further. Then run Saltelli 2010 on the important factors only, with N = 4096 or more.

“I need publication-quality Sobol’ indices”

Use Saltelli 2010 with N = 8192 or N = 16384. Report both S_i and S_{Ti}. If \sum S_i < 0.9, interactions are significant — consider reporting S_{ij} via Owen.

Bootstrap confidence intervals: resample the A, B, A_B^{(i)} output vectors and recompute the estimator. 1000 bootstrap replicates is standard.

“My model takes hours per evaluation”

Build a PCE surrogate from a small training set (N = 2d to 5d with sparse LARS). Extract analytic Sobol’ indices from the polynomial coefficients. Verify against a handful of direct Saltelli estimates to confirm the surrogate is adequate.

“My inputs are correlated”

Sobol’ indices assume independence — they are ambiguous when inputs are dependent. Use Shapley effects, which provide a unique, complete variance attribution regardless of input dependence.