MATLAB: In Simbiology, how to analyze sensitivity analysis

sensitivity analysisSimBiology

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?

Best Answer

Hi,
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