gpt4 book ai didi

python - python下拟合时选择步长

转载 作者:行者123 更新时间:2023-12-01 01:53:08 26 4
gpt4 key购买 nike

正如您所知,Python 中的 lmfit 模块可以方便地扩展 scipy.optimize 函数的功能。

但是,我没有发现在我看来必要的东西:选择步长的可能性(用于偏导、计算参数空间中的 chi2 等......)。我曾经在 IDL 下拟合时玩过这些步骤,我很惊讶我在 python 下没有找到这个。

很明显,默认的步长非常小,在拟合粗略模型时可能会导致恒定的 chi2...因此很尴尬。

所以我的问题:在python下拟合时如何选择步骤?

最佳答案

lmfit 的最小化器可以包装 scipy.optimize 中的多个优化器。不幸的是,各种求解器没有非常统一的接口(interface),特别是对于步长、公差和停止条件等选项。部分原因是算法实际上不同,部分原因是 scipy.optimize 本身包装了许多旧代码。

也就是说,lmfit 的默认求解器是 scipy.optimize.leastsq 或 MINPACK-1,它与 IDL 的 MPFIT 包非常相似(我记得非常好)。与这些代码一样,您可以使用 epsfcn 指定用于计算偏导数的初始步骤。

使用 lmfit 执行此操作在某种程度上取决于您使用 lmfit 的方式。一种方法是

result = lmfit.minimize(objective_function, params, args=(x, data),
epsfcn=0.001)

要获得更详细的答案,请提出更详细的问题。

关于python - python下拟合时选择步长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com