Я хочу сопоставить данные с весами. Обычно я использую функцию 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)
Этот код, очевидно, будет иметь сообщение об ошибке, потому что сигма имеет
неправильная форма. Также правильное значение для сигмы я бы искал
for is sqrt (fit1 ()).