Есть ли возможность соответствовать методу добротности подбора, используя scipy.optimize.curve_fit() в python?

Я хочу, чтобы данные соответствовали весам. Обычно я использую функцию scipy.optimize.curve_fit(), но мне нужно, чтобы параметр sigma^2 был установлен для функции модели, так же, как в тесте Хи-квадрат Пирсона. Есть ли простой способ решить эту проблему? Дополнительная информация: в originlab или qtiplot это будет статистический вес.

Проблема заключается в том, что параметр sigma должен иметь значение "последовательность None или длина M или массив MxM, необязательно", как написано в документации.

bins = np.linspace(0,25.1,251,endpoint=False)
histogram = np.histogram(data,bins)
xvalues = [] #value inbetween bin edges
for i in range(len(histogram[1])-1):
    xvalues.append(np.mean([histogram[1][i],histogram[1][i+1]]))

xvalues=np.array(xvalues)

def fit1(x,tau,y0,A,x0):
    return y0+A*exp(-(x+x0)/tau)
lim = 180
popt1, pcov1 = curve_fit(fit1, xvalues[10:-lim], histogram[0][10:- 
lim],sigma=fit1) 

Этот код, очевидно, будет иметь сообщение об ошибке, потому что сигма имеет неправильную форму. Также правильное значение для сигмы я бы искал sqrt(fit1()).

0 ответов

Другие вопросы по тегам