Different parameter estimation results on different computers

6 views (last 30 days)
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?

Answers (1)

Valentina Vasic
Valentina Vasic on 1 Feb 2023
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 Comment
Florian Augustin
Florian Augustin on 2 Feb 2023
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

Sign in to comment.

Communities

More Answers in the  SimBiology Community

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!