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

조회 수: 3 (최근 30일)
Kendric Aaron
Kendric Aaron 2023년 8월 28일
댓글: Jeremy Huard 2023년 10월 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