Почему параметры подгонки имеют высокие значения при использовании команды scipy.curve_fit? - PullRequest
0 голосов
/ 28 сентября 2019

В следующем коде я получаю ошибку,

OptimizeWarning: Covariance of the parameters could not be estimated category=OptimizeWarning) 

Когда я печатал параметры функции подгонки, они имеют очень высокие значения.Почему это так?Что-то не так в моих вычислениях?

Я прочитал, что ковариация включает в себя степени свободы, которые вычисляются как (количество точек данных) - (количество параметров).Так что в моем моем примере они 3-3=0.Если я выберу еще одну точку данных, стоит ли ожидать, что я смогу избавиться от предупреждения оптимизации и смогу получить приемлемые значения (подходящих параметров)?

`def ff(L,a,v,Ec):
    return (a*L**(-1.0/v)) + Ec
L = np.array([24,30,36])

x_data = np.array([0.04166667, 0.03333333, 0.02777778])
y_data = np.array([-1.98760064 ,-2.00285436 ,-1.99248578])
pfit,pcov = optimize.curve_fit(ff,x_data,y_data)
print("pfit: ",pfit) #pfit:  [ -34.31918802 2433.91948081   32.37267407]
plt.scatter(x_data, y_data, marker='.')
plt.plot(x_data,ff(L,*pfit),color='blue')`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...