[SciPy-User] How to estimate error in polynomial coefficients from scipy.polyfit?
Jeremy Conlin
jlconlin@gmail....
Thu Mar 25 16:20:24 CDT 2010
On Thu, Mar 25, 2010 at 2:52 PM, Charles R Harris
<charlesr.harris@gmail.com> wrote:
>
>
> On Thu, Mar 25, 2010 at 2:32 PM, Jeremy Conlin <jlconlin@gmail.com> wrote:
>>
>> I am using scipy.polyfit to fit a curve to my data. Members of this
>> list have been integral in my understanding of how to use this
>> function. Now I would like to know how I can get the uncertainties
>> (standard deviations) of polynomial coefficients from the returned
>> values from scipy.polyfit. If I understand correctly, the residuals
>> are sometimes called the R^2 error, right? That gives an estimate of
>> how well we have fit the data. I don't know how to use rank or any of
>> the other returned values to get the uncertainties.
>>
>> Can someone please help?
>
> You want the covariance of the coefficients, (A.T * A)^-1/var, where A is
> the design matrix. I'd have to see what the scipy fit returns to tell you
> more. In anycase, from that you can plot curves at +/- sigma to show the
> error bounds on the result. I can be more explicit if you want.
>
> Chuck
Thanks Chuck. That seems to get closer to what I need. I am just
fitting data to a polynomial, nothing too fancy. I would like the
variance (not the covariance) of the coeffficients. As far as what is
returned from scipy.polyfit this is what the documentation says:
residuals, rank, singular_values, rcond : present only if `full` = True
Residuals of the least-squares fit, the effective rank of the scaled
Vandermonde coefficient matrix, its singular values, and the specified
value of `rcond`. For more details, see `linalg.lstsq`.
I don't think any of these things are "design matrix" as you have
indicated I need. The documentation for linalg.lstsq does not say
what rcond is unfortunately. Any ideas?
Jeremy
More information about the SciPy-User
mailing list