Я просто тестировал scipy.optimize.curve_fit с абсолютной сигмой, и мне просто интересно, почему есть разница в результатах? я что-то упускаю? преобразование года в абсолютные значения должно дать те же результаты, не так ли?
y=[1,2.5,3,4]
x=[1,2,3,4]
yerr=[0.1,0.1,0.1,0.1]
def func(x, a, b):
return a*x+b
popt, pcov = curve_fit(func, x, y,sigma=yerr,absolute_sigma=False)
print(np.sqrt(np.diag(pcov)))
print(popt)
yerr=[0.1,0.25,0.3,0.4]
popt, pcov = curve_fit(func, x, y,sigma=yerr,absolute_sigma=True)
print(np.sqrt(np.diag(pcov)))
print(popt)
-
-
[0.13228756 0.36228442]
[0.95 0.25]
[0.10405623 0.17191118]
[ 1.0496166 -0.01082544]