0
我有一个数据集,我需要适合的情节。我正在使用leastsq()进行拟合。但是,目前我需要手动给出初始猜测值,这实际上影响拟合。有什么办法可以首先计算我可以通过leastsq()传递的初始猜测值吗?如何在Python中查找leastsq函数的初始猜测?
我有一个数据集,我需要适合的情节。我正在使用leastsq()进行拟合。但是,目前我需要手动给出初始猜测值,这实际上影响拟合。有什么办法可以首先计算我可以通过leastsq()传递的初始猜测值吗?如何在Python中查找leastsq函数的初始猜测?
不,你无法真正计算出初始猜测。
你只需做出一个有根据的猜测,这真的取决于你的数据和模型。
如果初始猜测影响拟合,则可能还有其他事情正在进行;你可能会陷入局部极小。您的模型可能太复杂,或者您的数据范围可能过大,以至于遇到浮点精度限制,并且拟合算法无法检测到参数更改的任何更改。后者通常可以通过标准化数据(和模型)来避免,或者,例如,使用log(-log)空间而不是线性空间。
或者完全避免leastsq,并使用不同的最小化方法(这可能会慢得多,但可能会产生整体更好和更一致的结果),如Nelder-Mead amoebe方法。