【问题标题】:Attribute Error from Minimizer object returned from scipy.optimize.minimize() function从 scipy.optimize.minimize() 函数返回的 Minimizer 对象的属性错误
【发布时间】:2013-07-02 04:31:23
【问题描述】:

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

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

我明白了

 AttributeError: redchi

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

【问题讨论】:

    标签: python scipy data-analysis data-fitting


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。一旦我得到参数,我就会沿着我的代码计算它。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 2022-01-01
      • 1970-01-01
      相关资源
      最近更新 更多