主要内容

SimBiology的敏感性分析

敏感性分析

敏感性分析允许您探索模型数量(物种、隔间和参数)变化对模型响应的影响。您可以使用分析来验证关于对模型响应有影响的模型数量的预先存在的知识或假设,或寻找此类数量。您可以将来自敏感性分析的信息用于决策制定、设计实验和参数估计。SimBiology®金宝app支持两种敏感性分析:局部敏感性分析和全局敏感性分析。

全局灵敏度分析使用蒙特卡罗模拟,其中代表(全球)的一组参数样本值,用以探讨感兴趣的模型参数的变化对模型响应的影响。GSA提供了对整个模型行为贡献最大的单个参数的相对贡献的见解。

另一方面,局部灵敏度分析是基于导数的。这种技术每次分析一个模型参数的影响,保持其他参数不变。局部灵敏度依赖于在执行分析的时间点上参数值的特定选择,并且不捕捉参数在联合变化时如何在模拟过程中相互作用。

全局敏感性分析(GSA)

在GSA中,模型数量一起变化,以同时评估每个数量对模型响应的相对贡献。SimBiology提供了两种执行GSA的方法。

Sobol指数

在这种方法中,SimBiology通过计算一阶和全阶Sobol指数对模型输出(响应)方差进行分解[1].一阶Sobol指数给出了可单独归因于输入参数变化的总体响应方差的分数。总阶Sobol指数给出了可归因于联合参数变化的总体响应方差的分数。有关详细信息,请参见计算Sobol指数的Saltelli方法

使用sbiosobol来计算Sobol指数。该函数需要Statistics和Machine Learning Toolbox™。

Multiparametric GSA (MPGSA)

MPGSA允许您研究参数相对于模型响应定义的分类器的相对重要性。SimBiology实现了Tiemann等人提出的MPSA方法。[2].有关详细信息,请参见多参数全局灵敏度分析(MPGSA)

使用sbiompgsa执行MPGSA。该函数需要统计和机器学习工具箱。

局部灵敏度分析(LSA)

在该分析中,SimBiology计算所有物种状态的时间相关的灵敏度相对于模型中的物种的初始条件和参数值。

因此,如果一个模型有一个物种x,两个参数yz,时间依赖性的灵敏度x对于每个参数值是随时间变化的导数

x y x z

式中,分子为灵敏度输出,分母为灵敏度分析的灵敏度输入。有关所执行的计算的更多信息,请参见[3][4][5]

对LSA模型的要求

LSA仅在OD金宝appE(常微分方程)求解器中支持。SimBiology通过将模型的原始ODE系统与灵敏度的辅助微分方程相结合来计算局部灵敏度。附加方程是原始方程对参数的导数。有时会调用此方法向前灵敏度分析或者直接的灵敏度分析.这个更大的ode系统由求解器同时求解。

通过使用技术SimBiology灵敏度分析计算衍生物称为复步骤近似。这种技术产生了绝大多数典型的反应动力学,这仅涉及简单的数学运算和功能的准确的结果。然而,在分析包含涉及非解析函数的数学表达式模型,如当这种技术可以产生不准确的结果腹肌.在这种情况下,无论是SimBiology禁用灵敏度分析或警告您所计算的敏感度可能是不准确的。如果敏感性分析给出了与包含不同寻常的功能反应率的模型有疑问的结果,您可能正在运行到复杂的步技术的局限性。接触MathWorks技术支持金宝app了解更多信息。

请注意

含有以下活性成分的机型不支持灵敏度分析:金宝app

  • 非常数的隔间

  • 代数规则

  • 事件

请注意

您可以在包含重复分配规则模型执行灵敏度分析,但只有当重复分配规则并不确定用作灵敏度分析输入或输出物种或参数。

日晷作为默认解算器

SimBiology总是使用SUNDIALS求解器对模型进行敏感性分析,不管您选择了什么SolverType在配置集中。

此外,如果您估计模型参数使用sbiofit或使用基于梯度的估计函数之一的Fit Data程序:fminconfminunclsqnonlin,或lsqcurvefit, SimBiology默认使用SUNDIALS求解器来计算灵敏度,并使用它们来改进拟合。如果你正在使用sbiofit时,可通过设置“SensitivityAnalysis”的名称-值对参数.但是,如果您使用的是拟合数据的程序,你不能关闭这个功能。建议你保持敏感性分析功能上更准确的梯度近似和更好的参数拟合只要有可能。

使用sbiosimulate计算局部灵敏度

属性的下列属性SolverOptions你的属性configset对象,在运行sbiosimulate功能:

  • SensitivityAnalysis- 设置真的计算由定义的所有物种状态的随时间变化的灵敏度输出关于物种的初始条件和中规定的参数值的性质输入

  • SensitivityAnalysisOptions—在配置集对象中保存灵敏度分析选项的对象。的属性SensitivityAnalysisOptions是:

    • 输出—指定需要计算灵敏度的物种和参数。这是分子,如敏感性分析

    • 输入—指定要计算灵敏度的物种和参数。灵敏度计算相对于InitialAmount指定物种的属性。这是分母,在敏感性分析

    • 归一化—对计算出的灵敏度进行归一化:

      • “没有”——没有正常化

      • “一半”-标准化相对于分子(物种输出)

      • “全部”- 全dedimensionalization

      有关规范化的更多信息,请参见归一化

设置后SolverOptions属性,通过提供模型对象的输入参数sbiosimulate函数。

sbiosimulate函数返回一个SIMDATA对象包含以下仿真数据:

  • 时间点、状态数据、状态名称和灵敏度数据

  • 元数据,如日志状态的类型和名称、模拟期间使用的配置集以及模拟的日期

一个SIMDATA对象是将时间数据、状态数据、敏感数据和相关元数据保存在一起的一种方便的方法。一个SIMDATA对象有与它相关的属性和方法,你可以用它来访问和操纵数据。

如需示例,请参见:

使用SimFunctionSensitivity对象计算局部灵敏度

创建一个SimFunctionSensitivity对象使用createSimFunction指定“SensitivityOutputs”“SensitivityInputs”名称-值对参数。然后执行对象。有关说明示例,请参见计算敏感性使用SimFunctionSensitivity对象

使用SimBiology模型分析仪App计算局部灵敏度

有关使用该应用程序的工作流示例,请参见使用SimBiology模型分析仪App进行灵敏度分析,找到重要参数

参考

[1]萨特利,安德里亚,保拉·安诺尼,伊万诺·阿兹尼,弗朗西斯卡·坎波隆戈,马可·拉托和斯特凡诺·塔兰托拉。“基于方差的模型输出灵敏度分析”。总敏感性指数的设计和估计。计算机物理通讯181年,没有。2(2010年2月):259-70。https://doi.org/10.1016/j.cpc.2009.09.018。

[2]蒂曼,基督教A.,的Joep Vanlier,Maaike H. Oosterveer,阿尔伯特K.格莱恩,彼得A. J.希尔柏斯和纳塔尔A. W.面包车瑞尔。“参数轨迹分析确定药物干预治疗效果。”由斯科特·马克尔编辑。PLoS计算生物学9日,没有。8(2013年8月1日):e1003166。https://doi.org/10.1371/journal.pcbi.1003166。

[3]马丁斯,若阿金,伊兰·克鲁,胡安·阿隆索。《用复变量进行灵敏度分析的自动化方法》在第38届航空航天科学会议和展览.雷诺,NV,美国:美国航空航天学会,2000。https://doi.org/10.2514/6.2000 - 689。

[4]马丁,J,彼得·斯图德扎,胡安·阿隆索。《复杂阶导数近似和算法微分之间的联系》。在第39届航空航天科学会议和展览.雷诺,NV,美国:美国航空航天学会,2001。https://doi.org/10.2514/6.2001 - 921。

[5]英戈尔斯,布莱恩P.和赫伯特M.索罗。化学计量网络的敏感性分析:非稳态轨迹代谢控制分析的扩展理论生物学杂志222年,没有。1(2003年5月):23-36。https://doi.org/10.1016/s0022 - 5193(03) 00011 - 0。