Я пытаюсь найти кривую наилучшего соответствия, используя следующий код:
popt, pcov = curve_fit(lambda t,a,b: a+b*np.log(t), data_list, noise_data, absolute_sigma=True)
Возвращаемыми параметрами являются [-51.90326506, 13.77241918], то есть: y = -51.90326507 + 13.77241918 * log (x)
На графике MatPlotLib результаты выглядят следующим образом:
Результаты на графике matplotlib
Однако на графиках Google представлено то же уравнениевыглядит следующим образом:
Результаты отображаются на графике Google
Я использую приведенный ниже код для создания кривой наилучшего соответствия:
popt, pcov = curve_fit(lambda t,a,b: a+b*np.log(t), data_list, noise_data, absolute_sigma=True)
curvex=np.linspace(min(data_list), max(data_list))
p1 = popt[0]
p2 = popt[1]
curvey=(lambda x,c,m: m*np.log(x)+c)(curvex,p1,p2)
# plot data
plt.plot(data_list,noise_data,'x',label = 'Xsaved')
plt.plot(curvex,curvey,'r', linewidth=2, label = 'Model')
Почему существует это несоответствие?Прав ли Python или карты Google верны?