Does anyone know a scipy/numpy module which will allow to fit exponential decay to data?
Google search returned a few blog posts, for example - http://exnumerus.blo
The right way to do it is to do Prony estimation and use the result as the initial guess for least squares fitting (or some other more robust fitting routine). Prony estimation does not need an initial guess, but it does need many points to yield a good a estimate.
Here is an overview
http://www.statsci.org/other/prony.html
In Octave this is implemented as expfit, so you can write your own routine based on the Octave library function.
Prony estimation does need the offset to be known, but if you go "far enough" into your decay, you have a reasonable estimate of the offset, so you can just shift the data to place the offset at 0. At any rate, Prony estimation is just a way to get a reasonable initial guess for other fitting routines.