相关疑难解决方法(0)

使用python修复拐点估计

我正在尝试使用python查找曲线上的拐点。曲线的数据在此处:https : //www.dropbox.com/s/rig8frgewde8i5n/fitted.txt?dl=0。请注意,曲线已拟合到原始数据。原始数据可在此处获取:https//www.dropbox.com/s/1lskykdi1ia1lu7/ww.txt?dl = 0

import numpy as np
# Read in array from text file
arr = np.loadtxt(path_to_file)

inflexion_point_1 = np.diff(arr).argmin()
inflexion_point_2 = np.diff(arr).argmax()
Run Code Online (Sandbox Code Playgroud)

这两个拐点在附图中显示为红线。但是,它们的位置似乎不正确。第一个拐点应靠近黑色箭头指示的区域。我该如何解决?

在此处输入图片说明

另外,这是差分的图:

plt.axvline(np.gradient(arr[:365]).argmax())
Run Code Online (Sandbox Code Playgroud)

如您所见,代码的行为与编码相同,即找到了数组np.diff的argmax。但是,我想找到一个接近第110天的位置,即距argmax大约一半的位置。

在此处输入图片说明

- 编辑 -

另外,这是另一个显示原始数据和拟合曲线的曲线图(使用二次函数)。

在此处输入图片说明

python numpy scipy

2
推荐指数
1
解决办法
3498
查看次数

标签 统计

numpy ×1

python ×1

scipy ×1