2013-07-04 47 views
0

使用scipy.optimize.minimize()函數我對同一個目標函數使用不同的方法使用不同的結果。爲了評估擬合優度我使用看作爲第一個標準的簡化卡方。一段時間後,我用這個有用的指南http://newville.github.io/lmfit-py/fitting.html#Minimizer結束,其中指定簡化卡方被設置爲從minim()函數返回的最小化器對象的屬性。但是,如果我做來自scipy.optimize.minimize()函數返回的Minimizer對象的屬性錯誤

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

我得到

AttributeError: redchi 

同時minobj.message和minobj.success正確顯示。 任何猜測?

回答

0

該文檔有點誤導性 - 如果您查看lmfit/minimizer.py,並在整個文件中對「redchi」執行字符串搜索,則它只會出現一次,並且位於leastsq()方法中。所以基本上,它只計算最小二乘擬合的簡化卡方。

如果您願意,可以將redchi添加到適當位置的其他方法,分叉lmfit github回購,並提交您的更改。

+0

謝謝回答。一旦我得到參數,我就沿着我的代碼計算它。 –

0

除了阿什溫的回答,你總是可以只使用:

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