You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

scipy.signal.find_peaks中threshold与prominence的区别是什么?

scipy.signal.find_peaks中threshold与prominence参数的区别

核心逻辑差异

  • threshold:只看峰值和左右紧邻点的高度差。要求峰值至少比左侧或右侧的相邻点高出(正阈值)/低于(负阈值)指定数值。它是极端局部的判断,完全不考虑峰值所在的更大区域环境。
    举个例子:哪怕信号里有个小凸起周围全是更高的平台,只要它比旁边两个点的差值达标,这个小凸起就会被判定为峰值。
  • prominence:衡量峰值相对于周围最低谷底的突起高度。计算方式是:从峰值向左右两侧延伸,直到遇到比它高的点,取这两个范围里的最低值,用峰值高度减去这个最低值就是突起度。它判断的是峰值在一片区域里的“显眼程度”,而非仅紧邻点的差异。

实际应用场景

  • 过滤噪声尖刺:threshold很难有效过滤——噪声尖刺通常能满足和紧邻点的差值要求,但它们在更大范围里毫无突出性;而prominence可以轻松排除这类尖刺,因为它们的突起度极低。
  • 保留平台上的小峰值:如果想保留大平台上的小凸起,threshold更合适——因为prominence会因周围平台的高度,判定这些小峰值的突起度不足,从而过滤掉它们。

直观示例

假设信号序列为:[1,3,2,5,4,6,5],其中3是小峰值,6是大峰值:

  • 若设置threshold=1,3和6都会被检测到:3比左右的1、2都高出1以上,6比左右的4、5也高出1以上。
  • 若设置prominence=2,只有6会被检测到:3的突起度是3-2=1(左右延伸到第一个比它高的点是5,中间最低值是2),达不到阈值;6的突起度是6-4=2(左右延伸到第一个比它高的点不存在,中间最低值是4),刚好达标。

内容的提问来源于stack exchange,提问作者S -

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:37:14