scipy.optimize.curvefit: Asymmetrischer Passungsfehler

Ich versuche mit eine Funktion an meine Daten anzupassenscipy.optimize.curvefit.

Q=optimization.curve_fit(func,X,Y, x0,ERR)

und es funktioniert gut.

Jetzt versuche ich jedoch, einen asymmetrischen Fehler zu verwenden, und ich habe keine Ahnung, wie ich das machen soll - oder auch wenn es möglich ist.

Mit asymmetrischem Fehler meine ich, dass der Fehler nicht zum Beispiel ist:3+-0.5 aber3 +0.6 -0.2. Damit ist ERR ein Array mit zwei Spalten.

Es wäre großartig, wenn jemand eine Idee hätte, wie man das macht - oder wenn ich auf eine andere Python-Routine verweisen könnte, die das könnte.

Das ist ein Ausschnitt aus dem Code, den ich verwende - aber ich bin mir nicht sicher, ob er es klarer macht:

A=numpy.genfromtxt('WF.dat')
cc=A[:,4]
def func(A,a1,b1,c1):
    N=numpy.zeros(len(x))
    for i in range(len(x)):
        N[i]=1.0*erf(a1*(A[i,1]-c1*A[i,0]**b1))

return N


x0   = numpy.array([2.5  , -0.07 ,-5.0])
Q=optimization.curve_fit(func,A,cc, x0, Error)

And Error = [ErP, ErM] (2 Spalten)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage