[Numpy-discussion] Numpy fitting
Pierre Barthelemy
barthpi@gmail....
Thu Mar 1 09:20:14 CST 2012
Dear all,
i am writing a program for data analysis. One of the functions of this
program gives the possibility to fit the functions. I therefore use the
recipe described in :
http://www.scipy.org/Cookbook/FittingData<http://www.scipy.org/Cookbook/FittingData>
under
the section "Simplifying the syntax". The code looks like this:
class Parameter:
def __init__(self, value):
self.value = value
self.fixed=False
def set(self, value):
if not self.fixed:
self.value = value
def __call__(self):
return self.value
def fit(function, parameters, y, x = None):
def f(params):
i = 0
for p in parameters:
p.set(params[i])
i += 1
return y - function(x)
if x is None: x = arange(y.shape[0])
p = [param() for param in parameters]
out=optimize.leastsq(f, p, full_output=1)
One thing that i would like to know is how can i get the error on the
parameters ? From what i understood from the "Cookbook" page, and from the
scipy manual (
http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.leastsq.html#scipy.optimize.leastsq),
the second argument returned by the leastsq function gives access to these
errors.
std_error=std(y-function(x))
param_error=sqrt(diagonal(out[1])*std_error)
The param_errors that i get in this case are extremely small. Much smaller
than what i expected, and much smaller than what i can get fitting the
function with matlab. So i guess i made an error here.
Can someone tell me how i should do to retrieve the parameter errors ?
Bests,
Pierre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20120301/56fd68e0/attachment.html
More information about the NumPy-Discussion
mailing list