Sensitivity Analysis
Finding which inputs a result depends on most, to focus measurement, control, and design effort where it pays.
The question it answers
Given a model with many uncertain inputs, which ones actually drive the output? Sensitivity analysis ranks inputs by how much they influence a result. That ranking tells you where to spend effort: which quantities to measure more precisely, which to control tightly, and which you can afford to be uncertain about.
Local versus global
- Local: how the output changes for a small nudge around one point (a derivative)
- Global: how the output varies across the whole plausible range of inputs
- One-at-a-time: vary each input alone; simple but misses interactions
- Variance-based: attribute output variance to inputs and their interactions
Why interactions matter
One-at-a-time analysis is common because it is easy, but it can badly mislead when inputs interact, that is, when the effect of one depends on the value of another. Variance-based methods such as Sobol indices attribute the output's variance to each input and to combinations of inputs, catching interactions that one-at-a-time methods miss.
import numpy as np
def first_order_index(samples, output):
# fraction of variance explained by one input, conditionally
total = np.var(output)
# (schematic) group output by binned input, measure between-group variance
return between_group_variance(samples, output) / total
The payoff
Sensitivity analysis turns a vague sense that 'a lot is uncertain' into a prioritized list. If the tritium breeding estimate is most sensitive to a particular nuclear cross-section, that is where a benchmark measurement or a data reevaluation buys the most confidence. It directs both experimental and modeling effort toward the inputs that decide the answer.
Kronos use
Paired with uncertainty quantification, sensitivity analysis identifies the dominant contributors to uncertainty in breeder and burner design figures, so the team reduces the band that matters rather than chasing negligible terms.