scipy.optimize.curvefit () - array não deve conter infs ou NaNs

Eu estou tentando encaixar alguns dados em uma curva em Python usandoscipy.optimize.curve_fit. Estou correndo para o erroValueError: array must not contain infs or NaNs.

Eu não acredito nem no meux ouy dados contêm infs ou NaNs:

>>> x_array = np.asarray_chkfinite(x_array)
>>> y_array = np.asarray_chkfinite(y_array)
>>>

Para dar uma ideia do que meux_array ey_array parece com uma das extremidades (x_array é conta ey_array é quantiles):

>>> type(x_array)
<type 'numpy.ndarray'>
>>> type(y_array)
<type 'numpy.ndarray'>
>>> x_array[:5]
array([0, 0, 0, 0, 0])
>>> x_array[-5:]
array([2919, 2965, 3154, 3218, 3461])
>>> y_array[:5]
array([ 0.9999582,  0.9999163,  0.9998745,  0.9998326,  0.9997908])
>>> y_array[-5:]
array([  1.67399000e-04,   1.25549300e-04,   8.36995200e-05,
     4.18497600e-05,  -2.22044600e-16])

E minha função:

>>> def func(x,alpha,beta,b):
...    return ((x/1)**(-alpha) * ((x+1*b)/(1+1*b))**(alpha-beta))
...

Que eu estou executando com:

>>> popt, pcov = curve_fit(func, x_array, y_array)

resultando no rastreamento da pilha de erros:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 426, in curve_fit
res = leastsq(func, p0, args=args, full_output=1, **kw)
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 338, in leastsq
cov_x = inv(dot(transpose(R),R))
File "/usr/lib/python2.7/dist-packages/scipy/linalg/basic.py", line 285, in inv
a1 = asarray_chkfinite(a)
File "/usr/lib/python2.7/dist-packages/numpy/lib/function_base.py", line 590, in asarray_chkfinite
"array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs

Eu estouadivinhação o erro pode não estar relacionado a meus arrays, mas sim a um array criado por scipy em um passo intermediário? Eu tive um pouco de uma escavação através dos arquivos fonte scipy relevantes, mas as coisas ficam muito depuradas rapidamente depurando o problema dessa maneira. Existe algo óbvio que estou fazendo errado aqui? Eu vi casualmente mencionado em outras perguntas que, às vezes, algumas suposições de parâmetros iniciais (das quais eu atualmente não tenho nenhuma explícita) podem resultar nesse tipo de erro, mas mesmo que esse seja o caso, seria bom sabera) porque isso é eb) como evitá-lo.

questionAnswers(3)

yourAnswerToTheQuestion