scipy.optimize.curvefit () - массив не должен содержать инфы или NaN

Я пытаюсь подогнать некоторые данные к кривой в Python, используяscipy.optimize.curve_fit, Я сталкиваюсь с ошибкой.ValueError: array must not contain infs or NaNs

Я нелибо не веритx или жеy данные содержат инфы или NaN:

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

Чтобы дать некоторое представление о том, что мойx_array а такжеy_array похож на любой конец (x_array это считается иy_array это квантили)

>>> type(x_array)

>>> type(y_array)

>>> 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])

И моя функция:

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

Который я выполняю с:

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

в результате трассировки стека ошибок: я

Traceback (most recent call last):
File "", line 1, in 
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

угадывание ошибка может быть связана не с моими массивами, а с массивом, созданным scipy на промежуточном этапе? Я'Мы немного покопались в соответствующих исходных файлах scipy, но все становится довольно быстро, поэтому проблема устраняется. Есть ли что-то очевидное, что яя здесь не так? Я'я видел случайно упомянутые в других вопросах, которые иногда предполагают некоторые начальные параметры (о которых я сейчас нене имеет явного) может привести к такого рода ошибкам, но даже если это так, было бы полезно знать,a) почему это иb) как этого избежать.

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

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