从scipy.optimize.minimize()函数返回的Minimizer对象的属性错误

时间:2013-07-04 08:41:26

标签: python scipy data-analysis data-fitting

使用scipy.optimize.minimize()函数,我使用不同的方法对同一目标函数进行了不同的结果。为了评估拟合优度,我使用降低的平方作为第一个标准。过了一段时间后,我结束了这个有用的指南http://newville.github.io/lmfit-py/fitting.html#Minimizer,其中指定减小的chi平方被设置为minim()函数返回的Minimizer对象的属性。但是如果我做的话

minobj = scipy.optimize.minimize(...)
minobj.redchi

我得到了

 AttributeError: redchi

同时正确显示minobj.message和minobj.success。 有什么猜测?

2 个答案:

答案 0 :(得分:0)

文档有点误导 - 如果你看一下lmfit/minimizer.py,并做一个字符串搜索" redchi"在整个文件中,它只出现一次,这是在leastsq()方法中。所以基本上,它只计算最小二乘拟合的简化平方。

如果您对此感到满意,可以将redchi添加到适当位置的其他方法,分配lmfit github repo,然后提交更改。

答案 1 :(得分:0)

除了Ashwin的答案之外,你总是可以使用:

result = lmfit.minimize(...)
x2 = result.chisqr
nfree = result.nfree
red_x2 = x2/nfree