为了执行拟合,我当前正在使用scipy.optimize
中的^{
我已经计算出了与我的每个ydata
相关的误差,我想把数据中计算出的sigma = y_errors
添加到拟合中
即最小化sum( ((f(xdata, *popt) - ydata) / sigma)**2 )
,而不仅仅是sum( (f(xdata, *popt) - ydata))
。
我可以看到可以在文档中指定参数sigma
。我不清楚的是absolute_sigma
参数。文件中的解释让我很困惑。
我应该设置absolute_sigma= = True
?或者,如果需要考虑与我的每个ydata
相关联的y_errors
,应该将其设置为False
?
如果数据中存在绝对不确定性,即如果
y_errors
的单位与ydata
的单位相同,则应设置absolute_sigma= = True
。然而,通常情况下,y_errors
的单位并不精确,只知道相对大小。后一种情况的一个例子可能是,某些y
值来自相同x
值的重复测量。那么,对重复的y
值进行加权是对不重复的y
值进行加权的两倍是有意义的,但是这个加权的单位(2
)与y
的任何单位都不相同。下面是一些代码来说明区别:
相关问题 更多 >
编程相关推荐