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!
NonlinearModelFitseems 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 methodAutomatictranslates to and under what conditions. – Oleksandr R. May 02 '13 at 17:15