sensitivity.sensitivity_fast
sensitivity.sensitivity_fast
Global sensitivity analysis using FAST (Fourier Amplitude Sensitivity Test).
This module implements variance-based global sensitivity analysis using the Fourier Amplitude Sensitivity Test (FAST). FAST quantifies the contribution of individual model parameters to the variance of model outputs by mapping parameter variations onto periodic functions and analyzing the resulting output spectrum in the frequency domain.
The method provides efficient estimation of first-order (main-effect) sensitivity indices and, in extended variants (eFAST), total-effect indices. Compared to Monte Carlo–based Sobol methods, FAST offers favorable scaling with the number of parameters and is well suited for medium- to large-scale deterministic models.
This implementation is intended for use in computational modeling workflows, including systems biology, pharmacokinetics/pharmacodynamics, and digital twin applications, where a robust global assessment of parameter influence is required.
References
Cukier, R. I., Fortuin, C. M., Shuler, K. E., Petschek, A. G., & Schaibly, J. H. (1973). Study of the sensitivity of coupled reaction systems to uncertainties in rate coefficients. I. Theory. Journal of Chemical Physics, 59, 3873–3878. https://doi.org/10.1063/1.1680571
Saltelli, A., Tarantola, S., & Chan, K. P.-S. (1999). A quantitative model-independent method for global sensitivity analysis of model output. Technometrics, 41(1), 39–56. https://doi.org/10.1080/00401706.1999.10485594
Classes
| Name | Description |
|---|---|
| FASTSensitivityAnalysis | Global sensitivity analysis using the Fourier Amplitude Sensitivity Test. |
FASTSensitivityAnalysis
sensitivity.sensitivity_fast.FASTSensitivityAnalysis(
sensitivity_simulation,
parameters,
groups,
results_path,
N,
M=4,
seed=None,
n_cores=None,
cache_results=False,
**kwargs,
)Global sensitivity analysis using the Fourier Amplitude Sensitivity Test.
This class implements the FAST methodology for estimating first-order and total-effect sensitivity indices. It integrates with the common sensitivity analysis infrastructure provided by SensitivityAnalysis and supports grouped analyses and multiple model outputs.
References
Cukier et al. (1973); Saltelli et al. (1999)
Methods
| Name | Description |
|---|---|
| calculate_sensitivity | Compute FAST sensitivity indices for all model outputs. |
| create_samples | Create parameter samples for FAST analysis. |
| plot | Generate standard FAST sensitivity plots. |
calculate_sensitivity
sensitivity.sensitivity_fast.FASTSensitivityAnalysis.calculate_sensitivity(
cache_filename=None,
cache=False,
)Compute FAST sensitivity indices for all model outputs.
This method performs the extended Fourier Amplitude Sensitivity Test (eFAST) to estimate first-order (S1) and total-effect (ST) sensitivity indices, along with corresponding confidence intervals, for each model output and parameter.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| cache_filename | Optional[str] |
Optional filename for reading or writing cached sensitivity results. | None |
| cache | bool |
Whether to read from or write results to cache. | False |
Notes
The sensitivity indices are computed independently for each output variable and stored in a structured xarray-based format.
create_samples
sensitivity.sensitivity_fast.FASTSensitivityAnalysis.create_samples()Create parameter samples for FAST analysis.
This method generates FAST samples for each analysis group using the SALib FAST sampler. The resulting samples are stored as xarray objects and later used for model evaluation.
plot
sensitivity.sensitivity_fast.FASTSensitivityAnalysis.plot()Generate standard FAST sensitivity plots.
This method creates heatmaps and bar plots for first-order (S1) and total-effect (ST) sensitivity indices for each analysis group and stores the resulting figures in the configured results directory.