Skip to content

Choosing a method ​

Start with the question you want answered, then check whether you can run your model at new input points. If this is your first analysis with independent inputs, run the Sobol' quickstart before comparing all fourteen methods. GSA concepts explains what the results mean.

Decide in three questions ​

1. Can you choose new model inputs? ​

Sobol', eFAST, Morris, and Kucherenko create their own sample designs. Evaluate your model at the returned points, then pass the outputs to analyze(). Ordinary input-output pairs cannot replace those designs.

The other methods analyze an existing input matrix X and output Y. DGSM also needs the JAX model so it can calculate derivatives; it has no sample() method. If model evaluations are already fixed, start with a method that uses existing data.

2. What do you need to know? ​

  • Which inputs explain output variance? Start with Sobol' if inputs are independent and you can run a new design. Use PCE or HDMR if you need to fit existing data. Their indices depend on the quality of the fitted model.
  • Which inputs are probably unimportant? Use Morris for a relatively cheap designed first pass, or DGSM if derivatives of your JAX model are meaningful.
  • Does an input change more than output variance? Use PAWN, Borgonovo, or optimal transport for changes to the output distribution. Use HSIC for a general dependence measure and a permutation test.
  • Are inputs dependent, or do you want one allocation per input? Read Sensitivity with dependent inputs before choosing an index. Shapley divides variance into one share per input, including a share of interactions.

A screening score, a distributional distance, and a variance fraction answer different questions. Their numerical values cannot be compared as if they were the same index.

3. How many model runs can you afford? ​

For D inputs, a Sobol' design uses N(D+2) runs for first- and total-order indices, or N(2D+2) with second-order indices. Morris uses r(D+1) runs, where r is the number of trajectories. Kucherenko uses N(2D+1) runs. eFAST uses one search curve per input, and its minimum design grows quadratically with D. Here N is a method-specific base sample count.

Methods that use existing data need no new model runs, though fitting or permutation work can still be costly. DGSM evaluates model Jacobians; its cost depends on model dimensions and differentiation direction. For larger models, see Scaling to large problems.

Compare the methods ​

Use this table to narrow the choice, then open a method's API page for its assumptions, sampling instructions, result fields, and uncertainty options. "Own design" means you must evaluate the model at points produced by sample().

Each method's API page includes a References section with the original method and the estimator used by jaxgsa. When reporting an analysis, cite those sources alongside the software. For Sobol', use the estimator-specific citation table.

MethodMain question and resultData neededWatch for
Sobol'How much variance comes from each independent input alone and with interactions? S1, ST, optional S2Own designRequires independent inputs.
eFASTHow much variance is due to each independent input? S1, STOwn designDesign size grows quickly with input count.
MorrisWhich inputs are worth a closer look? μ∗, σOwn designScreening statistics are not variance fractions.
KucherenkoWhat are conditional variance effects with dependent inputs? S1, ST, and with subsets="all" exact Shapley effects and PMEOwn designInterpretation differs from independent-input Sobol'. The "all" design costs N2D runs and needs D≤12.
PCECan a polynomial model provide variance indices? S1, ST, S2Existing X, YCheck fit; basis size grows with dimension and order.
HDMRWhich fitted component contributes, including under dependence? ANCOVA termsExisting X, YCheck fit; interaction order increases cost.
VKOGAHow do correlated and uncorrelated effects differ? Several variance quantitiesExisting X, YResults depend on a kernel surrogate.
ShapleyHow can variance be allocated to one share per input? Shapley effectsExisting X, YInteractions are shared, not reported separately; check surrogate fit.
DGSMAre derivative-based bounds useful for screening? Bounds on STExisting X and JAX modelBounds can be loose; Jacobians can be costly.
PAWNDoes an input change the output CDF? KS distanceExisting X, YConditional binning needs a tuning choice.
RankHow much variance does each input explain alone? S1 from one sample, by rank statisticsExisting X, YFirst order only; many tied inputs bias it.
Borgonovo deltaDoes an input change the output density? δExisting X, YDensity estimates need enough data.
Optimal transportHow far does the output distribution move? Transport distanceExisting X, YTransport calculations cost more than simple univariate statistics.
HSICAre input and output statistically dependent? Kernel dependence and p-valuesExisting X, YKernel and permutation cost grow with sample size.

Special cases ​

  • Dependent inputs: Kucherenko (including its exact Shapley and PME output), VKOGA, HDMR, and the HDMR-backed Shapley route answer different questions. Distribution-based methods include correlation-borne influence. Use the dependent-input guide to choose a definition before comparing results.
  • Categorical inputs: Sobol', PAWN, Borgonovo, and optimal transport accept unordered categories. See the categorical example.
  • Gradients through an analysis: This differs from DGSM's use of model derivatives. See Differentiating sensitivity analyses for method-specific support.
  • Output channels on different time grids: Most methods accept irregular output grids. See Irregular output grids for the supported-method matrix and result shape.

Method capabilities ​

This is the compatibility reference for input types and confidence intervals. A cross means the method refuses that input type.

MethodReportsOwn designCorrelatedCategoricalBootstrap CI
borgonovoδ, S1✗✓ §✓n_bootstrap
dgsmbounds on ST✗✗✗n_bootstrap
efastS1, ST✓✗✗—
hdmrSa / Sb / S per term, surrogate✗✓ †✗n_bootstrap
hsicdependence measure✗✓ §✗—
kucherenkoS1, ST under dependence; Shapley and PME with subsets="all"✓✓✗n_bootstrap
morrisμ∗, σ✓✗✗n_bootstrap
optimal_transportW22 index, advective + diffusive✗✓ §✓n_bootstrap
pawnKS distance✗✓ §✓n_bootstrap
pceS1, S2, ST, surrogate✗✗✗n_bootstrap
rankS1 by rank statistics✗✓ §✗n_bootstrap
shapleyallocation summing to 1✗✗ ‡✗n_bootstrap
sobolS1, S2, ST✓✗✓n_bootstrap
vkogaSTC, STU, SU, SC, SIU, surrogate✗✓✗n_bootstrap

† HDMR accepts dependent inputs through its ANCOVA decomposition. Its ST is not a classical total-effect index under dependence.

‡ The default PCE-backed Shapley analysis refuses dependent inputs. The HDMR backend accepts them, and include_correlative=True includes the ANCOVA correlative contribution in the allocation.

§ These measures include correlation-borne influence. A parameter may score above zero because it is correlated with a parameter used by the model.

All methods support scalar, multi-output, and time-series outputs. Twelve methods offer bootstrap confidence intervals through n_bootstrap; eFAST has no row-bootstrap interval, while HSIC reports permutation p-values. The API overview documents the shared result shape.

For a complete run and interpretation, continue with the basic example. The API overview describes shared inputs and results.

Supplying your own input distribution ​

Kucherenko and VKOGA accept a custom sampler for dependence beyond Gaussian copulas. Declare it on the problem with problem.with_sampler(f, sampler_dimension=k). The sampler maps uniform points to joint and conditional rows. Kucherenko assembles the design. VKOGA integrates its fitted surrogate under the supplied distribution. A joint sampler alone is not enough. For subsets="all" the sampler must accept any subset of fixed inputs. It must be a deterministic inverse Rosenblatt (conditional-quantile) map. See the sampler contract. Draw X for given-data methods with jaxgsa.sampling.monte_carlo. See the custom-dependence example. PAWN, Borgonovo, optimal transport and HSIC retain their direct X, Y APIs.

Released under the BSD-3-Clause License.