Hi,

I'm a little bit desperated. I googled for days to find an appropriate way
to calculate the absolute errors of parameters of non-linear fits. I found
different sites which suggest different, sometimes more or less similar
ways. But the results don't make sense. Here is a simple example:

from pylab import *
from scipy.optimize import curve_fit
def f(x,a,b):
        return a*x+b
def fit(n=1000):
        x,y=array([0,1,1]),array([1,2,4])
        xf=[(min(x)+i*(max(x)-min(x))/float(n)) for i in range(0,int(n)+1)]
        a,acov=curve_fit(f,x,y)
        yf=[f(*tuple([i]+list(a))) for i in xf]
        meansq=sum([pow(y[i]-f(x[i],a[0],a[1]),2)/(len(x)) for i in
range(0,len(x))])
        redchi2=sum([pow(y[i]-f(x[i],a[0],a[1]),2)/(len(x)-len(a)) for i in
range(0,len(x))])
        print 'standard dev:',sqrt(diag(acov))
        print 'abs. meansq err.:',[acov[i][i]*sqrt(meansq) for i in
range(0,len(a))]
        print 'abs. reduced meansq err.:',[acov[i][i]*sqrt(redchi2) for i in
range(0,len(a))]        
fit()

I included 3 ways I found. The used arrays have 3 points, where for x=1 I
give 2 different y values. I would say, 
a=2+/-1, b=1+/-0, 
but no way yields to a similar result! How can I trust this function on more
complicated, really non-linear functions? Or is simply this example wrong?
Or are the methods not right?
I'm very thankful for any help!

Best regards,
André
-- 
View this message in context: 
http://old.nabble.com/absolute-error-of-curve-fit-parameters-tp32269685p32269685.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to