Questions Regarding Sensitivity Analysis for Simbiology (Equation, Value Range)

5 views (last 30 days)
I have some questions regarding how sensitivity analysis is performed in SimBiology.
  1. What is the specific mathematical equation used for computing the sensitivity coefficient of a parameter?
  2. Normally what value range for the parameter (e.g. ± 5% of original value) is used for the computation? Is there any way to tweak this?
I cannot seem to find any reference for #2 specifically.
Thank you!

Answers (1)

Jeremy Huard
Jeremy Huard on 29 Aug 2023
I will assume that your question relates to Local Sensitivity Analysis. But please let me know if this is not the case.
Both questions make me think of an approximation of the sensitivities using finite differences. But let me start off by saying that SimBiology does not use the finite differences approach because it does not yield very accurate results. Instead, it uses a technique called complex step differentiation.
Let me now answer your specific questions:
  1. The equation of the sensitivities being approximated depends on which normalization has been selected. Typically, it is recommended to use Full Dedimensionalization to make sure all sensitivities are dimensionless and be able to compare them. In this case, it will be . That being said, this equation is approximated by the complex step differentiation technique and the final equation used will differ. More details in #2.
  2. You can find a nice short description of the algorithm and the final equation in Cleve Moler's blog, whose pioneer work in the 60's laid the groundwork for today's algorithm. Complex step differentiation also requires a step size parameter, which is set to a very small value because complex step differentiation is not only more accurate than finite differences but also more robust with decreasing step size.
Please note that complex step differentiation requires the ODEs to be complex analytic, that is, to be infinitely differentiable in the complex plane.
So, models with
  • Nonconstant compartments
  • Algebraic rules
  • Events
  • or nonanalytic functions
are not supported.
In this case, you can run a parameter scan to compute sensitivities with finite differences. For example, by varying parameter values by 5% as you suggested.
I hope this helps.
Best regards,
Jérémy
  12 Comments
Kendric Aaron
Kendric Aaron on 24 Oct 2023
I was able to get the code to run properly and made some modification to suit my specific needs.
I would just like to ask, is there a preferred way to cite the forum post for official purposes (e.g. publication)?
Best wishes,
Kendric
Jeremy Huard
Jeremy Huard on 30 Oct 2023
thank you for the update. I am glad to hear that it worked for you.
I am not aware of a specific way to cite forum posts. But I would assume that citing it like any other URL would suffice. Bibtex has a dedicated URL entry in case you use Latex.
As title you could use 'SimBiology Community Website'.
Best regards,
Jérémy

Sign in to comment.

Communities

More Answers in the  SimBiology Community

Categories

Find more on Scan Parameter Ranges in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!