Global sensitivity analysis
Repository: RuleWorld/PyBioNetGen
Title: Add global sensitivity analysis workflows for BNGL models
Motivation
BioNetGen and BNGsim already support parameter scans, fast repeated simulation, local sensitivities, and Fisher-information analysis. What is still missing is a standard global sensitivity interface for answering questions such as:
- Which parameters explain most output variance across a specified range?
- Which parameters matter only through interactions?
- Which parameters can be screened out before fitting?
- How sensitive are conclusions to uncertainty across the full prior parameter space?
This is complementary to the existing derivative-based local sensitivity support.
Proposed initial methods
A useful first implementation could support:
- Morris screening;
- Sobol first-order indices;
- Sobol total-order indices.
Later additions could include FAST/eFAST or derivative-informed global methods.
Proposed API
result = model.global_sensitivity(
parameters={
"k1": (0.01, 10.0),
"k2": (0.1, 100.0),
"KD": (1.0, 1000.0),
},
outputs=["pERK"],
method="sobol",
timepoints=[5, 15, 60],
n_samples=4096,
)
The implementation should use BNGsim's in-process/batch execution when available and retain the existing subprocess path as a fallback where practical.
Useful returned information would include:
- first-order indices;
- total-order indices;
- confidence intervals;
- parameter names and bounds;
- sampling design;
- simulation failures;
- reproducibility seed.
Design consideration
This should be an analysis layer rather than another simulator. Integration with established sampling implementations such as SALib would likely be preferable to reimplementing the algorithms.
Global sensitivity analysis
Repository:
RuleWorld/PyBioNetGenTitle: Add global sensitivity analysis workflows for BNGL models
Motivation
BioNetGen and BNGsim already support parameter scans, fast repeated simulation, local sensitivities, and Fisher-information analysis. What is still missing is a standard global sensitivity interface for answering questions such as:
This is complementary to the existing derivative-based local sensitivity support.
Proposed initial methods
A useful first implementation could support:
Later additions could include FAST/eFAST or derivative-informed global methods.
Proposed API
The implementation should use BNGsim's in-process/batch execution when available and retain the existing subprocess path as a fallback where practical.
Useful returned information would include:
Design consideration
This should be an analysis layer rather than another simulator. Integration with established sampling implementations such as SALib would likely be preferable to reimplementing the algorithms.