In Simbiology, how to analyze sensitivity analysis?

2 views (last 30 days)
How to make the most out of the sensitivity analysis? is it enough to just look at the bargraphs and specifying the one(s) with highest magnitude?
Why is it unitless? How to interpret the numbers on the y-axis and relate them to the model?
Which type of visualization do I choose: simple plots or bargraphs? is it possible to visualize the data as heatmap?

Accepted Answer

Florian Augustin
Florian Augustin on 24 Jun 2020
SimBiology supports different ways to analyze sensitivities. Here is a documentation page with an overview and links to different features and examples.
Local sensitivities are useful to assess how sensitive model responses (sensitivity outputs) are to variations in model parameters, species values, etc. (sensitivity inputs), at a particular state of the model. If you plot time against the sensitivities, then the y-axis are the (normalized) gradients of the sensitivity outputs with respect to the inputs. There are different normalization options available, not all are dimensionless. You can use normalization to de-dimensionalize, or rescale, the sensitivities for comparison. For example, you may want to choose full or half normalization in cases where a certain sensitivity value is acceptable for a large model response, but the same value is unacceptable for tiny values of the model response.
Here is an example for how to find important parameters using local sensitivity analysis that may be interesting. In the SimBiology Model Analyzer you get a bar plot (if only one sensitivity output is specified) or a heatmap (if the analysis contains more than one sensitivity output). The x axis in the bar/heatmap plots specifies the sensitivity inputs and y axes the sensitivity outputs integrated over time.
If you want to examine how the model behaves over a whole range of parameters, you could use a parameter scan, or take a look at the new SimBiology's global sensitivity analysis features sbiosobol and sbiompgsa.
Florian Augustin
Florian Augustin on 29 Jun 2020
the bars represent aggregated magnitudes of sensitivities over time. Those are useful to assess the overall sensitivity of model responses across the whole simulation time. Those values are not dimensionless as they are the integrated magnitudes of sensitivities over time. Their units depend on the units of the sensitivity inputs, sensitivity outputs, and the normalization you choose; there is no normalization over time. If you need to compare aggregated sensitivities across models with different simulation times, then you would have to rescale the values with the length of the total simulation times.
Since the bar plots show aggregate sensitivities over time, so they do not contain information whether a sensitivity value is caused by a large sensitivity over a short period of time, or a smaller sensitivity across a longer time. If this information is important, then you can look at the time plots of the sensitivities.

Sign in to comment.

More Answers (0)


More Answers in the  SimBiology Community


Find more on Perform Sensitivity Analysis in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!