我有一个数据集,我正在尝试检测这些峰的峰值和左/右边界。
我成功使用scipy find_peaks_cwt
查找峰值,但我不知道如何识别这些峰的左右边界。
在下图中,峰上的线和圆圈标记是以编程方式绘制的,但是手绘的方形标记是我现在尝试以编程方式进行的。
关于如何做到这一点的任何建议?我考虑过搜索拐点,但由于数据中的噪音,这不起作用。
答案 0 :(得分:2)
如果高斯拟合是合适的,您可以获取已找到的峰数并拟合n个高斯分布(每个峰1个)加上背景噪声的常数变量(或者您可以在曲线上添加另一个高斯变量)适合
row_number()
这应该为您提供一个开始的地方,但您可能不得不调整优化功能以处理您的数据(或者可能根本工作,我没有测试)