Невозможно определить количество подходящих параметров - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь подогнать кривую по нескольким x и y точкам, основываясь на моей функции logisti c.

import scipy.optimize as opt
popt, pcov = opt.curve_fit(logistic, x, y, maxfev=50000)
y_fitted = logistic(x_future, *popt

, являющейся y:

array([2.000e+00, 4.000e+00, 6.000e+00, 9.000e+00, 1.300e+01, 2.100e+01,
       3.000e+01, 3.900e+01, 4.100e+01, 5.900e+01, 7.800e+01, 1.120e+02,
       1.690e+02, 2.450e+02, 3.310e+02, 4.480e+02, 6.420e+02, 7.850e+02,
       1.020e+03, 1.280e+03, 1.600e+03, 2.060e+03, 2.362e+03, 2.995e+03,
       3.544e+03])

x:

array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
       13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.])

и моя функция logisti c:

def logistic(x):
    return 1/(a+b*np.exp(-k*x))

a, b и k предварительно вычислены, единственная ценность ввод x и должен быть рассчитан на основе этой функции.

Чего мне не хватает?

1 Ответ

0 голосов
/ 27 марта 2020

Если a, b и k предварительно вычислены, то функция уже известна - например, я не уверен, какова цель вызова curve_fit. Если вы пытаетесь определить эти параметры, просто измените свою функцию на:

def logistic(x, a, b, k):
    return 1/(a+b*np.exp(-k*x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...