敏感性分析允许您探索模型数量(物种、隔间和参数)变化对模型响应的影响。您可以使用分析来验证关于对模型响应有影响的模型数量的预先存在的知识或假设,或寻找此类数量。您可以将来自敏感性分析的信息用于决策制定、设计实验和参数估计。SimBiology®金宝app支持两种敏感性分析:局部敏感性分析和全局敏感性分析。
全局灵敏度分析使用蒙特卡罗模拟,其中代表(全球)的一组参数样本值,用以探讨感兴趣的模型参数的变化对模型响应的影响。GSA提供了对整个模型行为贡献最大的单个参数的相对贡献的见解。
另一方面,局部灵敏度分析是基于导数的。这种技术每次分析一个模型参数的影响,保持其他参数不变。局部灵敏度依赖于在执行分析的时间点上参数值的特定选择,并且不捕捉参数在联合变化时如何在模拟过程中相互作用。
在GSA中,模型数量一起变化,以同时评估每个数量对模型响应的相对贡献。SimBiology提供了以下特性来执行GSA。
在这种方法中,SimBiology通过计算一阶和全阶Sobol指数对模型输出(响应)方差进行分解[1].一阶Sobol指数给出了可单独归因于输入参数变化的总体响应方差的分数。总阶Sobol指数给出了可归因于联合参数变化的总体响应方差的分数。有关详细信息,请参见计算Sobol指数的Saltelli方法.
使用sbiosobol
来计算Sobol指数。该函数需要Statistics和Machine Learning Toolbox™。
MPGSA允许您研究参数相对于模型响应定义的分类器的相对重要性。SimBiology实现了Tiemann等人提出的MPSA方法。[2].有关详细信息,请参见多参数全局灵敏度分析(MPGSA).
使用sbiompgsa
执行MPGSA。该函数需要统计和机器学习工具箱。
sbioelementaryeffects
让您通过计算输入参数的基本影响的平均值和标准偏差来评估模型响应相对于模型参数变化的全局灵敏度。基本效果(EE)的输入参数P关于模型响应R被定义为:
.
在这里,EEP(x)的基本效果是P.R (x)和R (x +δ)模型响应在特定的时间或一个可观察的值,评估参数值x
和x+δ
.有关详细信息,请参见全球敏感性分析的基本效应.
GSA函数 | 灵敏度测量 | 注意事项 |
---|---|---|
sbiosobol |
它计算模型响应(灵敏度输出)总方差的分数,可归因于单个模型参数(灵敏度输入)。 |
|
sbiompgsa |
它回答了模型参数(灵敏度输入)的变化是否对回答建模问题有影响的问题。例如,问题可能是:模型参数对模型响应的影响是否超过或低于目标阈值? 您可以使用数学表达式(分类器)定义这样的问题。例如,下面的分类器定义了目标占用率的暴露(曲线下面积)阈值 |
|
sbioelementaryeffects |
它计算与模型响应有关的灵敏度输入的基本效应的平均值和标准偏差。 它通过模型响应的线性逼近来评估平均灵敏度,类似于平均局部灵敏度。它还会评估模型响应的灵敏度在输入参数域中是否相同,或者在参数域中是否有不同的灵敏度值。 |
|
在此分析中,SimBiology计算了所有物种状态相对于物种初始条件和模型参数值的时间依赖性灵敏度。
因此,如果一个模型有一个物种x
,两个参数y
和z
,时间依赖性的灵敏度x
对于每个参数值是随时间变化的导数
式中,分子为灵敏度输出,分母为灵敏度分析的灵敏度输入。有关所执行的计算的更多信息,请参见[3][4][5].
LSA仅在OD金宝appE(常微分方程)求解器中支持。SimBiology通过将模型的原始ODE系统与灵敏度的辅助微分方程相结合来计算局部灵敏度。附加方程是原始方程对参数的导数。有时会调用此方法向前灵敏度分析或直接的灵敏度分析.这个更大的ode系统由求解器同时求解。
SimBiology的灵敏度分析使用一种叫做复步近似的技术来计算导数。这种方法对绝大多数只涉及简单数学运算和函数的典型反应动力学都能得到准确的结果。然而,当分析包含包含非解析函数的数学表达式的模型时,这种技术可能会产生不准确的结果,例如腹肌
.在这种情况下,SimBiology要么禁用灵敏度分析,要么警告您计算的灵敏度可能不准确。如果敏感性分析对包含不寻常功能的反应速率模型给出了有问题的结果,那么您可能会遇到复杂步骤技术的局限性。联系MathWorks技术支持金宝app额外的信息。
请注意
包含以下主动组件的模型不支持灵敏度分析:金宝app
非常数的隔间
代数规则
事件
请注意
您可以对包含重复分配规则的模型执行敏感性分析,但只有在重复分配规则不确定作为敏感性分析输入或输出的物种或参数的情况下。
SimBiology总是使用SUNDIALS求解器对模型进行敏感性分析,不管您选择了什么SolverType
在配置集中。
此外,如果您正在使用sbiofit
或使用基于梯度的估计函数之一的Fit Data程序:fmincon
,fminunc
,lsqnonlin
,或lsqcurvefit
, SimBiology默认使用SUNDIALS求解器来计算灵敏度,并使用它们来改进拟合。如果你正在使用sbiofit
时,可通过设置SensitivityAnalysis的名称-值对参数假
.但是,如果您正在使用Fit Data程序,则不能关闭此功能。建议您尽可能保持灵敏度分析特性,以获得更精确的梯度逼近和更好的参数拟合。
属性的下列属性SolverOptions
你的属性configset
对象,在运行sbiosimulate
功能:
SensitivityAnalysis
——设置为真正的
计算由定义的所有物种状态的随时间变化的灵敏度输出
关于物种的初始条件和中规定的参数值的性质输入
.
SensitivityAnalysisOptions
—在配置集对象中保存灵敏度分析选项的对象。的属性SensitivityAnalysisOptions
是:
设置后SolverOptions
属性,通过提供模型对象
的输入参数sbiosimulate
函数。
的sbiosimulate
函数返回一个SimData对象
包含以下仿真数据:
时间点、状态数据、状态名称和灵敏度数据
元数据,如日志状态的类型和名称、模拟期间使用的配置集以及模拟的日期
一个SimData对象
是将时间数据、状态数据、敏感数据和相关元数据保存在一起的一种方便的方法。一个SimData对象
具有与之关联的属性和方法,可以使用这些属性和方法访问和操作数据。
如需示例,请参见:
创建一个SimFunctionSensitivity对象
使用createSimFunction
指定“SensitivityOutputs”
和“SensitivityInputs”
名称-值对参数。然后执行对象。有关说明示例,请参见使用SimFunctionSensitivity对象计算灵敏度.
有关使用该应用程序的工作流示例,请参见使用SimBiology模型分析仪App进行灵敏度分析,找到重要参数.
[1]萨特利,安德里亚,保拉·安诺尼,伊万诺·阿兹尼,弗朗西斯卡·坎波隆戈,马可·拉托和斯特凡诺·塔兰托拉。“基于方差的模型输出灵敏度分析”。总敏感性指数的设计和估计。计算机物理通信181年,没有。2(2010年2月):259-70。https://doi.org/10.1016/j.cpc.2009.09.018。
[2]Tiemann, Christian A., Joep Vanlier, Maaike H. Oosterveer, Albert K. Groen, Peter A. J. Hilbers和Natal A. W. van Riel。“参数轨迹分析识别药物干预治疗效果”斯科特·马克尔(Scott Markel)编辑。PLoS计算生物学9日,没有。8(2013年8月1日):e1003166。https://doi.org/10.1371/journal.pcbi.1003166。
[3]马丁斯,若阿金,伊兰·克鲁,胡安·阿隆索。《用复变量进行灵敏度分析的自动化方法》在第38届航空航天科学会议和展览.雷诺,NV,美国:一个merican Institute of Aeronautics and Astronautics, 2000. https://doi.org/10.2514/6.2000-689.
[4]马丁,J,彼得·斯图德扎,胡安·阿隆索。《复杂阶导数近似和算法微分之间的联系》。在第39届航空航天科学会议和展览.雷诺,NV,美国:一个merican Institute of Aeronautics and Astronautics, 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。