Я пытаюсь подогнать функцию к набору переменных, используя функцию ODR. Задание не кажется таким уж сложным, но сама идея оценки действительно смущает меня. Я прочитал описание функции и все ее входные данные, но я не совсем понимаю значение оценки. Я хотел, чтобы он вычислялся каким-то образом, вместо того, чтобы самому угадывать его, но функции, которые я пробовал, linregress (можно использовать только для линейных функций) и curve_fit (также требуется оценщик, но принимает значение как 1, если не указано) не помогли. Что означает оценщик? Как мне найти один? Как мне сделать функцию ODR максимально точной? Где я могу найти такую информацию? Спасибо.
РЕДАКТИРОВАТЬ: вот кусок кода
def fun(kier, arg):
'''
Function to fit
:param kier: list of parameters
:param arg: argument of the function fun
:return y: value of function in x
'''
y =kier[0]*arg +1 #+kier[1]
return y
dane = RealData(x=zx, y=zy, sx=dx, sy=dy)
model = Model(fun)
#kier,cross,none,none,none=linregress(zx_mean,zy_mean) #this is a method used to estimate the parameters, replaced by curve_fit.
popt, pcov = curve_fit(fun, zx, zy)
on = ODR(dane, model,beta0=[popt[0]])
output = on.run()