处理不正确的参数值在sbiofit和sbiofitmixed

3视图(30天)
你好,
我有一个问题关于SimBiology回归工具。我有一个ODE模型,我想使用sbiofit或sbiofitmixed适合一个给定的数据集。当我想找到一些使用sbiofitmixed参数集,ODE模型可以返回无效值(例如复杂、南或Inf)完全停止了搜索的过程。sbiofit我的经验是,算法可以恢复这些值(而不是sbiofitmixed)绝大多数的情况下,但在某些场合,程序仍然暂停。即使我在参数设置范围,有可能使ODE(隐藏)非线性关系无效的特定组合安装参数值。使用sbiofitmixed可能发生以下错误消息:
错误使用sbiofitmixed(第249行)
模拟误差或返回NaN,正无穷,在参数估计或复杂的值。这通常表明估计的参数值值无效的模型。
我的问题是如果有任何方式从这些参数值恢复sbiofitmixed ? 例如定义一个事件在ODE停止集成仿真。就好了,如果有一种方法找到一个不同的审判为当前迭代点在这种情况下的算法。
另外一个问题是: 有“最佳实践”的文学处理这些情况吗?例如如果我代码的算法,我可以停止集成一些状态变量超过给定值。在这些情况下我可以设置一些高价值的成本函数(例如1 e5),但是我有一个直觉,这不是这个问题的最佳解决方案。
谢谢你提前,

接受的答案

Florian奥古斯汀
Florian奥古斯汀 2021年3月15日
你好Czako,
不幸的是,目前不可能停止在SimBiology编程模型模拟。一个更好的错误处理已经被多个用户请求和我们调查选项。但这不是此时可用(R2020b)。目前,探索不同起点的唯一方法是运行sbiofitmixed与不同的初始值,这可能无法阻止跑到参数区域模型模拟失败。
因为没有多少你可以调整ode集成或sbiofitmixed,你可以试着找到协变量值固定/随机效应模型的模拟返回nan或复杂的值通过观察情节的进展。是非常技术性的,但你也可以设置断点调试器在Matlab(运行 dbstop如果抓到 设置, dbclear如果抓到 前清除断点),运行健康。这将阻止Matlab调试器的内部函数SimBiology;失败的一组参数值是可能的 φ initialvalue 输入参数的函数执行。
这可能会给你一些信息参数值固定/随机效应的失败。运行扫描任务的采样随机效应可以给一些见解模型动态模拟和参数值是失败的罪魁祸首。
最好的,
弗洛里安

更多的答案(0)

社区

更多的答案SimBiology社区

类别

找到更多的在进行敏感性分析帮助中心文件交换

下载188bet金宝搏


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!