0

使用 scipy.optimize.minimize() 函数,我对相同的目标函数使用不同的方法获得了不同的结果。为了评估拟合优度,我将减少的卡方视为第一个标准。一段时间后,我以这个有用的指南结束http://newville.github.io/lmfit-py/fitting.html#Minimizer其中指定减少的卡方设置为从最小化返回的 Minimizer 对象的属性( ) 功能。但如果我这样做

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

我明白了

 AttributeError: redchi

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

4

2 回答 2

0

该文档有点误导 --- 如果您查看lmfit/minimizer.py并在整个文件中对“redchi”进行字符串搜索,它只出现一次,那就是在leastsq()方法中。所以基本上,它只计算最小二乘拟合的减少卡方。

如果您愿意,可以redchi在适当的位置添加其他方法,派生 lmfit github 存储库,然后提交您的更改。

于 2013-07-26T20:42:20.133 回答
0

除了 Ashwin 的回答,您总是可以使用:

result = lmfit.minimize(...)
x2 = result.chisqr
nfree = result.nfree
red_x2 = x2/nfree
于 2015-05-14T23:43:27.873 回答