我需要使用卡尔曼滤波技术估计连续离散非线性随机动态系统的参数。
我将使用来自 ODE 的 Julia ode45(( 并自己实现扩展卡尔曼滤波器来计算对数似然。ODE完全是用Julia编写的,ForwardDiff支持原生Julia函数的微分,包括嵌套微分,这也是我需要的,因为我想在我的EKF实现中使用ForwardDiff。
ForwardDiff 会处理像我描述的对数似然这样的综合函数的微分吗?
ODE.jl 处于维护模式,所以我建议改用 Differential Equations.jl。在 DiffEq FAQ 中,有一个关于通过 ODE 求解器使用 ForwardDiff 的说明。它有效,但与常见问题解答一样,我建议使用灵敏度分析,因为这是计算导数的更好方法(编译时间要少得多(。但是,是的,DiffEqParamEstim.jl是一个完整的存储库,用于ODE/SDE/DAE/DDE的参数估计,它通过求解器使用ForwardDiff.jl。
(顺便说一句,你想做的事情听起来很有趣。欢迎在JuliaDiffEq频道与我们联系,讨论参数估计工具的开发!