[SciPy-user] incorrect variance in optimize.curvefit and leastsq

Travis E. Oliphant oliphant at enthought.com
Thu Feb 12 23:09:19 EST 2009


josef.pktd at gmail.com wrote:
> I just saw the new optimize.curvefit which provides a wrapper around
> optimize.leastsq
>
> optimize.leastsq provides the raw covariance matrix (cov_x). As I
> mentioned once on the mailing list, this is not the covariance matrix
> of the parameter estimates. To get those, the raw covariance matrix
> has to be multiplied by the standard error of the residual. So, the
> docstring in optimize.curvefit doesn't correspond to the actual
> calculation.
>   
Thank you for the clarification.   I had forgotten your earlier valid 
concerns.   Help fixing the docstring is appreciated.    If you can 
figure out how to improve the code, that is even better.   I think it is 
good to at least report the cov, but the docstring should not mislead.
>
> The first parameter is not exactly high precision.
>
> The second problem is that, in weighted least squares, the calculation
> of the standard deviation of the parameter estimates has to take the
> weights into account. (But I don't have the formulas right now.)
>   
> I was looking at this to provide a general non-linear least squares
> class in stats. But for several calculation, the Jacobian would be
> necessary. optimize.leastsq only provides cov_x, but I was wondering
> whether the Jacobian can be calculated from the return of the minpack
> functions in optimize.leastsq, but I didn't have time to figure this
> out.
>   
I'm not sure, but it might be.    I would love to spend time on this, 
but don't have it.   If somebody else can pick up, that would be great. 

-Travis

-- 

Travis Oliphant
Enthought, Inc.
(512) 536-1057 (office)
(512) 536-1059 (fax)
http://www.enthought.com
oliphant at enthought.com




More information about the SciPy-User mailing list