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
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.
| Method | Main question and result | Data needed | Watch for |
|---|---|---|---|
| Sobol' | How much variance comes from each independent input alone and with interactions? | Own design | Requires independent inputs. |
| eFAST | How much variance is due to each independent input? | Own design | Design size grows quickly with input count. |
| Morris | Which inputs are worth a closer look? | Own design | Screening statistics are not variance fractions. |
| Kucherenko | What are conditional variance effects with dependent inputs? subsets="all" exact Shapley effects and PME | Own design | Interpretation differs from independent-input Sobol'. The "all" design costs |
| PCE | Can a polynomial model provide variance indices? | Existing X, Y | Check fit; basis size grows with dimension and order. |
| HDMR | Which fitted component contributes, including under dependence? ANCOVA terms | Existing X, Y | Check fit; interaction order increases cost. |
| VKOGA | How do correlated and uncorrelated effects differ? Several variance quantities | Existing X, Y | Results depend on a kernel surrogate. |
| Shapley | How can variance be allocated to one share per input? Shapley effects | Existing X, Y | Interactions are shared, not reported separately; check surrogate fit. |
| DGSM | Are derivative-based bounds useful for screening? Bounds on | Existing X and JAX model | Bounds can be loose; Jacobians can be costly. |
| PAWN | Does an input change the output CDF? KS distance | Existing X, Y | Conditional binning needs a tuning choice. |
| Rank | How much variance does each input explain alone? | Existing X, Y | First order only; many tied inputs bias it. |
| Borgonovo delta | Does an input change the output density? | Existing X, Y | Density estimates need enough data. |
| Optimal transport | How far does the output distribution move? Transport distance | Existing X, Y | Transport calculations cost more than simple univariate statistics. |
| HSIC | Are input and output statistically dependent? Kernel dependence and p-values | Existing X, Y | Kernel 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.
| Method | Reports | Own design | Correlated | Categorical | Bootstrap CI |
|---|---|---|---|---|---|
borgonovo | ✗ | ✓ § | ✓ | n_bootstrap | |
dgsm | bounds on | ✗ | ✗ | ✗ | n_bootstrap |
efast | ✓ | ✗ | ✗ | — | |
hdmr | ✗ | ✓ † | ✗ | n_bootstrap | |
hsic | dependence measure | ✗ | ✓ § | ✗ | — |
kucherenko | subsets="all" | ✓ | ✓ | ✗ | n_bootstrap |
morris | ✓ | ✗ | ✗ | n_bootstrap | |
optimal_transport | ✗ | ✓ § | ✓ | n_bootstrap | |
pawn | KS distance | ✗ | ✓ § | ✓ | n_bootstrap |
pce | ✗ | ✗ | ✗ | n_bootstrap | |
rank | ✗ | ✓ § | ✗ | n_bootstrap | |
shapley | allocation summing to 1 | ✗ | ✗ ‡ | ✗ | n_bootstrap |
sobol | ✓ | ✗ | ✓ | n_bootstrap | |
vkoga | ✗ | ✓ | ✗ | n_bootstrap |
† HDMR accepts dependent inputs through its ANCOVA decomposition. Its
‡ 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.