问题标签 [peakutils]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 无法在 Python 中使用 PeakUtil 检测所有峰
我有两个长度均为 64 的数组 MSFx 和 MSFy,它绘制了一个带有 7 个清晰可检测峰的图形。但是,只有 4-5 个被检测到。
到目前为止我所拥有的。
MSFx 看起来像:
[ 218.75 437.5 656.25 875. 1093.75 1312.5 1531.25 1750. 1968.75 2187.5 2406.25 2625. 2843.75 3062.5 3281.25 3500. 3718.75 3937.5 4156.25 4375. 4593.75 4812.5 5031.25 5250. 5468.75 5687.5 5906.25 6125. 6343.75 6562.5 6781.25 7000. 7218.75 7437.5 7656.25 7875. 8093.75 8312.5 8531.25 8750 8968.75 9187.5 9406.25 9625. 9843.75 10062.5 10281.25 10500. 10718.75 10937.5 11156.25 11375. 11593.75
无国界医生看起来像:
[ 57. 88. 110. 327. 1287. 236. 158. 137. 320. 1076. 241. 143. 108. 123. 286. 902. 204. 115. 116. 146. 205. 569. 1047. 234. 122 . 103. 122. 154. 242. 600. 505. 176. 103. 81. 78. 82. 105. 131. 247. 456. 322. 213. 122. 89. 77. 73. 71. 73. 77. 87 . 104. 131. 170. 228. 260. 302. 391. 488. 568. 606. 597. 555. 528. 521.]
我得到输出:
[ 4 9 15 22] [ 1093.75 2187.5 3500. 5031.25] [ 1287. 1076. 902. 1047.]
情节产生了:
我一直很头疼,试图弄清楚这一点,如果有人有可能的解决方案,那将对我有很大帮助!
python - 从数据中删除基线
我想删除基线并最终使用 python 找到一些噪声数据的峰值(如果有人以前有过拉曼散射测量的经验)。
按照 PeakUtils 库 ( https://pythonhosted.org/PeakUtils/tutorial_a.html ) 上的指南,作者将数据拟合到一个带有 polyval 的多项式,然后在此基础上找到一个基线并减去它。
我的问题是 a) 为什么要费心为数据拟合多项式,为什么不直接从数据中删除基线?b) 参数 [0.002,-0.08,5] 传递给 polyval 有什么意义?我需要为自己的数据微调这些吗?有人可以解释这对我有用吗?
我的数据与此处(下图)的形状相同,但显然已经删除了背景。
python - python 中的简单峰值检测:find_peaks_cwt 和 peakutils 的问题
这是一个类似于我的数据的示例,有一个尖峰,周围有一些小噪音,而在其他地方大部分是恒定的,有小噪音。
两者find_peaks_cwt
都peakutils
没有像我希望的那样执行这些数据。
find_peaks_cwt
:
16 和 17 是正确的峰,但是检测到 1、2、3、9、12 是怎么回事?此外,该例程缺乏将 16/17 识别为单峰的能力。这对我来说有点问题。
这个findpeaks
包看起来更健壮,我已经尝试过实现它,但它有一些奇怪的问题。当我查看数据时(有一个明显的峰值),它会无缘无故地抛出对我有意义的异常,有时它甚至会无缘无故地产生负索引!在使用了一段时间后,我得到了越野车 heeby jeebies。
即使在这个例子中,peakutils
似乎也没有达到预期的效果:
关于识别这样的尖峰有什么建议吗?我正在考虑不使用峰值检测,而只是编写自己的函数来识别它们。
python - 时间序列数据中的峰谷
寻找股票指数时间序列下跌 10% 或更多的每个实例。我正在努力对其进行编程,以便它了解订单问题(不希望升值 10%)。
理想情况下,代码将:选择值,检查值是否低于 10%,如果不是,则检查下一个,继续检查下一个直到找到一个,然后记录下来。然后,移动到那个“低谷”或“谷”作为开始,继续检查它之后的值是否比该值小 10% 或更多。
可以访问 Python、R Studio 和 MatLab。更喜欢 Python,因为我最了解它。
非常感谢您对此的任何帮助。
python-2.7 - peakutils.indexes 给出 TypeError: only integer scalar arrays can be convert to a scalar index
我有一个名为 self.data[_]['smooth_ISA'] 的浮点列表,我将这个列表提供给 peakutils.indexes(),如下所示:
索引 = peakutils.indexes(self.data[_]['smooth_ISA'], thres=0.1, min_dist=50)
但我收到了这个错误:
TypeError:只有整数标量数组可以转换为标量索引
你认为发生了什么?
谢谢
python - 在 python 中 conda 安装 peakutils.peak
我想用
我在 python 中使用 anaconda 包。如何使用 conda 下载 peakutils 包。
我用
但我得到的错误:
python - Peakutils,检测平峰
这与这个问题几乎是相同的问题,但是,这个问题已经死在水中,我没有在评论中恢复它的声誉,但仍然发现自己需要解决这个问题。
这个想法是,当使用 peakutils 检测峰值时,它会忽略它处于平稳状态的峰值(即使只有两个连续点)。有没有人为此创建了解决方法?
我考虑过只是循环遍历整个数据集并将所有实例移动到第一个匹配数字之外的头发上以使它们不均匀,但这很棘手,可能只适用于这种特定情况,因为我正在处理不会的长浮点数是否有小到 的变化无关紧要0.00000001
。
它会失败的一个例子是[1, 2, 3, 5, 5, 1, 2]
5 不会被检测到,因为它等于它旁边的一个点。
值得一提的是,我发现了一个关于这个问题的bitbucket参考,它被认为是一个值得包括但还没有打算这样做的特性(截至 2015 年)。