scipy.optimize.curvefit: Erro assimétrico no ajuste

Eu tento ajustar uma função aos meus dados usandoscipy.optimize.curvefit.

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

e funciona bem.

No entanto, agora estou tentando usar um erro assimétrico e não tenho ideia de como fazer isso - ou mesmo se for possível.

Por erro assimétrico, quero dizer que o erro não é por exemplo:3+-0.5 mas3 +0.6 -0.2. Então esse ERR é um array com duas colunas.

Seria ótimo se alguém tivesse uma ideia de como fazer isso - ou eu poderia apontar para uma rotina diferente do Python que poderia ser capaz de fazer isso.

Que um trecho do código que estou usando - mas não tenho certeza se torna mais claro:

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)

E erro = [ErP, ErM] (2 colunas)

questionAnswers(4)

yourAnswerToTheQuestion