scipy.optimize.curvefit: asymetryczny błąd dopasowania

Staram się dopasować funkcję do moich danych za pomocąscipy.optimize.curvefit.

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

i działa dobrze.

Jednak teraz próbuję użyć błędu asymetrycznego i nie mam pojęcia, jak to zrobić - a nawet jeśli jest to możliwe.

Przez asymetryczny błąd rozumiem, że błąd nie jest na przykład:3+-0.5 ale3 +0.6 -0.2. Tak więc ERR jest tablicą z dwiema kolumnami.

Byłoby wspaniale, gdyby ktoś miał pomysł, jak to zrobić - lub mógłbym wskazać inną procedurę Pythona, która mogłaby to zrobić.

To fragment kodu, którego używam - ale nie jestem pewien, czy czyni to jaśniejszym:

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)

I błąd = [ErP, ErM] (2 kolumny)

questionAnswers(4)

yourAnswerToTheQuestion