【问题标题】:python 3.3 : scipy.optimize.curve_fit doesn't update the value of pointpython 3.3:scipy.optimize.curve_fit 不更新点的值
【发布时间】:2018-01-27 09:37:30
【问题描述】:

我正在尝试使用curve_fit 将自定义函数拟合到某些数据点。我已经尝试了 1 或 2 个免费参数。我用过它其他时间。现在我正在努力适应,因为无论初始值是什么,算法总是返回具有无限西格玛的初始输入值。我还尝试打印调用自定义函数的内部参数,但我不明白,我的自定义函数只调用了 4 次,前三个参数始终相同,最后一个参数相对变化参数为 10^-8。这看起来不对

【问题讨论】:

  • 如果您添加您尝试过的代码将会很有帮助。
  • 除代码外,[lease 添加数据链接。

标签: python-3.x scipy curve-fitting


【解决方案1】:

通常在最初调用目标函数时参数值的变化非常小(大约 1e-8),以便计算偏导数以决定在参数空间中走哪条路。如果目标函数的结果根本没有改变(即使在 1e-8 级别也没有),拟合将放弃:改变参数值并没有改变结果。

我会先看看你的目标函数的结果是否真的对参数敏感。如果对结果的更改确实对 1e-8 更改不敏感,但会对更大的更改敏感,您可能需要增加传递给 scipy.optimize.leastsqepsfcn 的值。

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多