Different parameter estimation results on different computers

2 次查看(过去 30 天)
Hello everyone,
I'm doing fits in Simbiology in order to estimate parameters (Isqnonlin, constant error). The problem is that I got unusual result once. I checked everything (iniatial values, programm and so on) and tried again. It hasn't changed. So I tried also on my friend's PC. The Matlab version and the project are the same. The results on my friend's PC are different and look better. What is the reason for such outcomes? What should I do to get the same results?

回答(1 个)

Valentina Vasic
Valentina Vasic 2023-2-1
Hi,
I have only found that better results are obtained when using up-to-date versions of MATLAB.
What might change if one changes computer is the speed of calculation. If the computer is more powerful and if you use the parallel pool, the calculation is faster.
By how much do the results differ? Have you checked the AIC criterion?
The other possibility is "whatsolver you use". There are some solvers for the minimum reference (fminsearch) which search for the minimum with the amoeba method. They jump around a bit and search for the minimum. If you have found different results for the fit parameters, it means that you are in a region with many local minima, and maybe your solver points to a different minimum each time. To solve this problem, it is important to individualise the perfect solver for your specific case and to decrease the convergence tolerances, so that the fit searches in more detail for the perfect solution.
Best,
Valentina
  1 个评论
Florian Augustin
Florian Augustin 2023-2-2
Hi Tetiana,
Valentina already covered everything I would have suggested as well. I just wanted to share a few thoughts on why the results might be different. The cause for the difference could be that the processors of the two computers are different. Machine precision errors can be different on different architectures; numerical libraries are likely different as well on different architectures. Those differences are typically negligible, but they can amplify during ODE simulation and gradient-based optimization (parameter estimation). This, however, depends on the model and parameter estimation setup (and data). I would second Valentina's suggestion of tightening tolerances for model simulation and parameter estimation. You could try fminsearch to avoid gradients during parameter estimation. Valentina already noted that you might see different local optima; you could try global optimization methods (e.g. scattersearch).
Are you able to share the project and the architectures you are observing the differences on?
Best,
Florian

请先登录,再进行评论。

社区

更多回答在  SimBiology Community

类别

Help CenterFile Exchange 中查找有关 Scan Parameter Ranges 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by