scipy.optimize.curvefit: асимметричная ошибка при подгонке

Я пытаюсь приспособить функцию к моим данным, используяscipy.optimize.curvefit.

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

и это работает хорошо.

Тем не менее, сейчас я пытаюсь использовать асимметричную ошибку и не знаю, как это сделать - или даже если это возможно.

Под асимметричной ошибкой я подразумеваю, что ошибка не является, например:3+-0.5 но3 +0.6 -0.2, Так что ERR - это массив с двумя столбцами.

Было бы здорово, если бы у кого-то была идея, как это сделать, или я мог бы указать на другую подпрограмму Python, которая могла бы это сделать.

Вот фрагмент кода, который я использую - но я не уверен, что это проясняет:

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 столбца)

Ответы на вопрос(4)

Ваш ответ на вопрос