I am using NonlinearModelFit
for a thesis project.
I get quite different results if I change the Method to LevenbergMarquardt or QuasiNewton or ConjugateGradient and so on. My nonlinear model includes polynomials up to second order and a sigmoid function such as ArcTan
or Tanh
.
I would like to know, which conditions Mathematica uses to choose the best algorithm if I set the Method
as Automatic
. It works sometimes, but most of the time it doesn't and I do not have the knowledge to say which method should be the best in my case. Just by trying out, I found Gradient
and sometimes ConjugateGradient
to work the best for my purpose.
I also cannot find anywhere on the Internet which exact implementation of these methods is used inside Mathematica and how does it change the results. Here maybe an interesting link: Optimization Algorithms
Thanks!
NonlinearModelFit
seems to be implemented as a wrapper aroundFindFit
, but the latter is kernel code and not accessible for inspection. I would suggest contacting WRI support to ask them which methodAutomatic
translates to and under what conditions. $\endgroup$