Different parameter estimation results on different computers
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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?
0 comentarios
Respuestas (1)
Valentina Vasic
el 1 de Feb. de 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.
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 comentario
Florian Augustin
el 2 de Feb. de 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
Comunidades de usuarios
Más respuestas en SimBiology Community
Ver también
Categorías
Más información sobre Import Data en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!