You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[sensitivity.sensitivity_local](sensitivity.sensitivity_local.qmd#sbmlsim.sensitivity.sensitivity_local)| Local sensitivity analysis based on finite differences. |
10
+
|[sensitivity.sensitivity_local](sensitivity.sensitivity_local.qmd#sbmlsim.sensitivity.sensitivity_local)| Local sensitivity analysis using finite differences. |
11
11
|[sensitivity.sensitivity_fast](sensitivity.sensitivity_fast.qmd#sbmlsim.sensitivity.sensitivity_fast)| Global sensitivity analysis using FAST (Fourier Amplitude Sensitivity Test). |
12
12
|[sensitivity.sensitivity_sobol](sensitivity.sensitivity_sobol.qmd#sbmlsim.sensitivity.sensitivity_sobol)| Global sensitivity analysis using Sobol indices. |
Copy file name to clipboardExpand all lines: _docs/api/sensitivity.sensitivity_local.qmd
+50-62Lines changed: 50 additions & 62 deletions
Original file line number
Diff line number
Diff line change
@@ -2,43 +2,34 @@
2
2
3
3
`sensitivity.sensitivity_local`
4
4
5
-
Local sensitivity analysis based on finite differences.
5
+
Local sensitivity analysis using finite differences.
6
6
7
-
This module implements a local (derivative-based) sensitivity analysis using
8
-
two-sided finite differences around a reference parameter set. Each model
9
-
parameter is perturbed individually by a small relative amount, and the
10
-
resulting change in model outputs is used to approximate local sensitivities.
7
+
This module implements a local, derivative-based sensitivity analysis using
8
+
symmetric finite differences around a reference parameter set. Each model
9
+
parameter is perturbed individually while all other parameters are kept
10
+
constant.
11
11
12
-
The analysis is designed for deterministic simulation models and is
13
-
particularly suited for:
12
+
The method is intended for deterministic simulation models and is useful for:
14
13
- Identifying locally influential parameters
15
-
- Debugging and model inspection
16
-
- Complementing global sensitivity analyses
17
-
- Supporting parameter screening prior to optimization or uncertainty analysis
18
-
19
-
Sensitivities are computed for each analysis group and output variable, and
20
-
can be reported both as raw sensitivities and as normalized, dimensionless
21
-
sensitivities.
22
-
23
-
The implementation builds on the sbmlsim sensitivity framework and integrates
24
-
with existing simulation, caching, and plotting utilities.
25
-
14
+
- Debugging and inspecting model behavior
15
+
- Screening parameters prior to optimization or uncertainty analysis
16
+
- Complementing global sensitivity analysis methods
26
17
18
+
Sensitivities are computed per analysis group and output variable and are
19
+
reported as both raw and normalized (dimensionless) sensitivities.
27
20
28
21
## Notes {.doc-section .doc-section-notes}
29
22
30
-
For each parameter p_i with reference value p_{i,0}, two perturbed simulations
31
-
are generated:
32
-
p_i_plus = p_{i,0} * (1 + difference)
33
-
p_i_minus = p_{i,0} * (1 - difference)
23
+
For a parameter p with reference value p0, sensitivities are computed as:
34
24
35
-
## Raw sensitivities are computed using a symmetric finite-difference scheme {.doc-section .doc-section-raw-sensitivities-are-computed-using-a-symmetric-finite-difference-scheme}
| difference |[float](`float`)| Relative parameter perturbation used for the finite-difference approximation (e.g., 0.01 corresponds to ±1%). |
67
+
| prefix |[str](`str`)| Prefix used for naming result files. |
87
68
88
69
#### Methods
89
70
90
71
| Name | Description |
91
72
| --- | --- |
92
-
|[calculate_sensitivity](#sbmlsim.sensitivity.sensitivity_local.LocalSensitivityAnalysis.calculate_sensitivity)| Compute raw and normalized local sensitivity matrices. |
93
-
|[create_samples](#sbmlsim.sensitivity.sensitivity_local.LocalSensitivityAnalysis.create_samples)| Create parameter samples for the local sensitivity analysis. |
73
+
|[calculate_sensitivity](#sbmlsim.sensitivity.sensitivity_local.LocalSensitivityAnalysis.calculate_sensitivity)| Compute raw and normalized local sensitivities. |
74
+
|[create_samples](#sbmlsim.sensitivity.sensitivity_local.LocalSensitivityAnalysis.create_samples)| Create parameter samples for local sensitivity analysis. |
75
+
|[plot](#sbmlsim.sensitivity.sensitivity_local.LocalSensitivityAnalysis.plot)| Generate plots for normalized local sensitivities. |
- Campolongo, F., Cariboni, J., & Saltelli, A. 2007. An effective screening design for sensitivity analysis of large models. Environmental Modelling & Software, 22(10), 1509-1518. https://doi.org/10.1016/j.envsoft.2006.10.004
30
+
- Ruano, M.V., Ribes, J., Seco, A., Ferrer, J., 2012. An improved sampling strategy based on trajectory design for application of the Morris method to systems with many input factors. Environmental Modelling & Software 37, 103-109. https://doi.org/10.1016/j.envsoft.2012.03.008
Campolongo et al., [2]introduces an optimal trajectories approach which attempts to maximize the parameter space scanned for a given number of trajectories (where optimal_trajectories). The approach accomplishes this aim by randomly generating a high number of possible trajectories (500 to 1000 in [2]) and selecting a subset of r trajectories which have the highest spread in parameter space. The r variable in[2] corresponds to the optimal_trajectories parameter here.
59
+
Campolongo et al., introduces an optimal trajectories approach which attempts to maximize the parameter space scanned for a given number of trajectories (where optimal_trajectories). The approach accomplishes this aim by randomly generating a high number of possible trajectories (500 to 1000) and selecting a subset of r trajectories which have the highest spread in parameter space. The r variable in corresponds to the optimal_trajectories parameter here.
37
60
38
61
Calculating all possible combinations of trajectories can be computationally expensive. The number of factors makes little difference, but the ratio between number of optimal trajectories and the sample size results in an exponentially increasing number of scores that must be computed to find the optimal combination of trajectories. We suggest going no higher than 4 levels from a pool of 100 samples with this “brute force” approach.
39
62
40
-
Ruano et al., [3] proposed an alternative approach with an iterative process that maximizes the distance between subgroups of generated trajectories, from which the final set of trajectories are selected, again maximizing the distance between each. The approach is not guaranteed to produce the most optimal spread of trajectories, but are at least locally maximized and significantly reduce the time taken to select trajectories. With local_optimization = True (which is default), it is possible to go higher than the previously suggested 4 levels from a pool of 100 samples.
[2] Campolongo, F., Cariboni, J., & Saltelli, A. 2007. An effective screening design for sensitivity analysis of large models. Environmental Modelling & Software, 22(10), 1509-1518. https://doi.org/10.1016/j.envsoft.2006.10.004
44
-
[3] Ruano, M.V., Ribes, J., Seco, A., Ferrer, J., 2012. An improved sampling strategy based on trajectory design for application of the Morris method to systems with many input factors. Environmental Modelling & Software 37, 103-109. https://doi.org/10.1016/j.envsoft.2012.03.008
63
+
Ruano et al., proposed an alternative approach with an iterative process that maximizes the distance between subgroups of generated trajectories, from which the final set of trajectories are selected, again maximizing the distance between each. The approach is not guaranteed to produce the most optimal spread of trajectories, but are at least locally maximized and significantly reduce the time taken to select trajectories. With local_optimization = True (which is default), it is possible to go higher than the previously suggested 4 levels from a pool of 100 samples.
0 commit comments