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

3 次查看(过去 30 天)
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!

回答(1 个)

Jeremy Huard
Jeremy Huard 2023-8-29
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 个评论
Kendric Aaron
Kendric Aaron 2023-10-24
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 2023-10-30
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

请先登录,再进行评论。

社区

更多回答在  SimBiology Community

类别

Help CenterFile Exchange 中查找有关 Perform Sensitivity Analysis 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by