Skip to content

jaxgsaGlobal Sensitivity Analysis in JAX

Thirteen methods, one interface, eleven of them JIT-compiled. Scalar, multi-output, and time-series models.

Which method should I use?

The methods measure different quantities, cost different numbers of model runs, and do not all accept the same problems. Four build their own sampling design, and the other nine work on (X,Y) pairs you already have.

Start at Choosing a Method. It walks three questions: can you still choose where to run the model, what should the number mean, and what is your evaluation budget.

For a high-dimensional study, read Scale and limits before choosing a design. It records the main cost drivers and the settings that move each method's practical limit.

The method capability table is the one place that records which methods accept correlated parameters, which accept categorical parameters, and which report bootstrap confidence intervals. tests/test_docs_matrix.py checks those three columns, plus Own design, against the code.

A note on the speed numbers

The gain is vectorization over output slices, so it scales with T×K and vanishes at T×K=1. Any speedup quoted without those two numbers says nothing. The benchmarks guide gives the full tables, the hardware, and the baseline.

jaxgsa's Sobol sampling and analysis workflow follows SALib, reimplemented for JAX.

Released under the BSD-3-Clause License.