【发布时间】:2020-12-09 19:53:52
【问题描述】:
我试图估计几个 ODE 系统的参数以适应相同的数据集。 当我用估计的参数绘制一些模型的变量时,曲线与真实数据集非常吻合。 然而,这只是一种视觉欣赏。我想证明从 Julia 的 Optim 包中选择具有优化结果的最佳候选模型(ODE 系统)
为了估计模型的参数,我使用了以下代码:
prob = ODEProblem(model,u_0,tspan,params);
cost_functionEP = build_loss_objective(prob,Tsit5(),L2Loss(sub_t_norm,sub_norm_data),prob_generator = problemEP, maxiters=1000000,verbose = false, save_idxs = [1,4,12] )
result_estimEP = Optim.optimize(cost_functionEP,lower,upper, params, Fminbox(BFGS()))
优化的输出,result_estimEP是:
* Status: success
* Candidate solution
Final objective value: 2.830272e+05
* Found with
Algorithm: Fminbox with BFGS
* Convergence measures
|x - x'| = 2.17e-19 ≰ 0.0e+00
|x - x'|/|x'| = 1.30e-21 ≰ 0.0e+00
|f(x) - f(x')| = 0.00e+00 ≤ 0.0e+00
|f(x) - f(x')|/|f(x')| = 0.00e+00 ≤ 0.0e+00
|g(x)| = 2.12e+07 ≰ 1.0e-08
* Work counters
Seconds run: 26 (vs limit Inf)
Iterations: 6
f(x) calls: 10034
∇f(x) calls: 10034
我阅读了 Optim 的在线文档以了解此输出的每一行的含义,但没有太多信息(仅用于单变量估计)。请比我更熟悉优化问题的人指出这些值的含义吗?
【问题讨论】:
标签: optimization parameters julia inference