高斯拟合修正问题

时间:2019-07-15 03:08:36

标签: python curve-fitting

我遇到曲线拟合问题。我正在测量输入值范围内的系统响应(输入和输出值均为标量和实数)。

我在两次试验之间更改了系统的特定参数,导致相同输入的输出不同。

此行为如下所示:

enter image description here

我需要拟合一个模型,该模型本质上采用该参数和x值,并尽可能接近地产生观察到的y值。

我正在尝试拟合高斯函数,如下所示:

enter image description here

我正在将$ f_ \ alpha(c)$建模为$ a0 + a1 * c $ 我正在将$ f_ \ beta(c)$建模为$ b1 + b1 * c $

基本上根据参数c使峰值和平均位置偏移。

问题是我遇到了与$ f_ \ beta(c)$相关的收敛问题。如果仅将中位数设置为常数,则可以估计a0和a1,但显然拟合度很差。 我正在使用scipy.optimize.curve_fit

所以我的问题基本上是,有没有更好的方法来解决这个问题?例如,一个可以为$ f_ \ alpha $更好地建模的函数;和$ f_ \ beta $?

此处采样数据:https://drive.google.com/file/d/1QPjrpxaDnnj3pmqzjZgjJJLKWnQjLikc

此处的示例代码:https://drive.google.com/open?id=135P9euXYAoa9CR3hrLOg6ja_6XfGndDN

(数据集与我在发布中的图中显示的略有不同)

两个问题: 1.是否有条理地进行猜测,以确保能够收敛? 2.我可以使用更好的函数来近似观察结果吗?

非常感谢您提前提供帮助

0 个答案:

没有答案