我有一个由 10 个常微分方程组成的系统,形式为,
我想使用全局拟合
根据文献中建议的方法,我了解最小二乘误差最小化是常用的。但是,我无法理解优化问题的实际制定方式。
成本函数 =
其中,是从实验中获得的稳态值,而不是的时间序列数据。有人能解释一下是如何用要估计的参数来表达的吗?
Is 是微分方程,(比如说)
使用泰勒多项式展开以找到?
有人可以提供一个例子吗?
我有一个由 10 个常微分方程组成的系统,形式为,
我想使用全局拟合
根据文献中建议的方法,我了解最小二乘误差最小化是常用的。但是,我无法理解优化问题的实际制定方式。
成本函数 =
其中,是从实验中获得的稳态值,而不是的时间序列数据。有人能解释一下是如何用要估计的参数来表达的吗?
Is 是微分方程,(比如说)
使用泰勒多项式展开以找到?
有人可以提供一个例子吗?
您可以将 ODE 视为参数和观测变量之间的约束。为了在优化问题中强制约束,你可以引入一个拉格朗日乘数,我们称之为。在这种情况下,您的问题的拉格朗日是
然后,您将寻求拉格朗日的极值。从现在开始,对变分微积分的良好理解将变得非常重要。如果这个主题对你来说是新的,温斯托克的书是一个很好的介绍。接下来您要了解的是伴随方法。不幸的是,很多描述伴随方法的书籍和参考资料都非常混乱,但在这个论坛上已经讨论过几次了,例如这里。您可能想要搜索的另一个术语是“系统识别”,但它的维基百科文章信息量不是很大,因此您可能需要进行更多挖掘。
有一个非常好的 Python 库,用于从模型的符号定义中进行数值拟合,称为symfit。他们在这里有一个 ODE 模型的示例。