在没有先验了解曲线形状的情况下识别峰?

Identify peaks without a priori knowledge of curve shape?

提问人:AaronJPung 提问时间:10/11/2023 更新时间:10/11/2023 访问量:46

问:

我有一个数据集,其配置文件会随时间而变化。它的形状似乎总是大致是高斯的,但高斯“点”的方式(高斯是上升然后下降,还是下降然后上升)随着时间的推移而变化。每个信号都不是纯高斯信号,而是有噪声......我在这里使用高斯来说明。可以使用以下方法生成两条样品曲线:

import numpy as np
from scipy.stats import norminvgauss 

numargs = norminvgauss.numargs  
a, b = 20.32, 5.18
rv = norminvgauss(a, b)  
dist_1 = np.linspace(0, np.minimum(rv.dist.b, 2))
a2, b2 = 10.32, 10.18
rv2 = norminvgauss(a2,b2)
dist_2 = np.linspace(0, np.minimum(rv2.dist.b, 15))

plt.figure()
plt.plot(rv.pdf(dist_1))
plt.plot(-rv.pdf(dist_2),'--r')
plt.show()

产生以下信号:enter image description here

如果先地不知道高斯点的哪个方向,我怎么能总是确定主要的极值指数和值(例如,青色图最大点的位置和大小,以及红色虚线图的最小点)?

python-3.x scipy max 最小 高斯

评论

1赞 Reinderien 10/11/2023
解范数高斯的一阶部分相对于 x 的根。这很讨厌,因为其中有一个贝塞尔。你最好用数字来做。
0赞 Reinderien 10/11/2023
但是青色(高斯)的最大值位于其平均值处。
0赞 Reinderien 10/11/2023
肯定应该使用吗?plt.plot(-rv.pdf(dist_2),'--r')rv2
0赞 Reinderien 10/11/2023
还有其他奇怪的事情;就像你可能应该把你作为情节的水平轴传进来一样。dist
0赞 Reinderien 10/11/2023
如果你的数据真的只是高斯的,为什么要打电话?为什么不叫规范norminvgauss

答: 暂无答案