In a pair-coding session (using Skype and unix screen), Dustin and I figured out that the numerical Python chi-squared optimizers are very brittle and unstable. After expressing a lot of astonishment that there are no absolutely hands-off, rock-hard, never fail optimizers out there, we switched to a C-based Levenberg-Marquardt package that Mierle recommends. Now we have chi-squared fits that work, at least, but it took several days of trial-and-error to first figure out what package to be using and second tune parameters to get it to work reliably on the problem at hand. This doesn't seem right. Surely there is an engineering team out there that can solve this problem once and for all?
I'm surprised that the scipy.optimize.minpack routines aren't suitable; isn't the levmar package just a C/C++ implementation of the minpack algorithm? If not, it will be nice to see levmar wrapped for scipy....
ReplyDeleteNext time try OSX Leopard and iChat theather. It's really nice for pair-programming at a distance.
ReplyDelete