【发布时间】:2014-02-06 13:11:27
【问题描述】:
我使用 Python 从一些数据中得到以下图:
示例数据可能是这样的:
339
305
276
248
263
424
451
438
410
399
399
398
.
.
.
我要做的是获取所有峰的索引。请注意,我只想要最大的峰值。我目前正在做的是使用高斯平滑对数据进行平滑处理,以去除半峰和低谷以获得平滑曲线并找到其中最大值的索引。它有效,但它不是一个非常干净的解决方案。
我想知道是否有更好的方法使用一些聚类方法(例如 kmeans)来做到这一点?有人可以指出我的解决方案吗?
【问题讨论】:
-
为什么这不是一个干净的解决方案?您发布的数据代表什么?我认为它是 y 值,但不清楚。
-
这是一个周期信号。如果您可以安全地假设这种周期性得以维持,则可以在特定时间窗口内寻找最大值。
-
数据是心脏的跳动间隔,所以是的,从某种意义上来说,就是y值。至于周期性,是的,数据将是周期性的,但它可能会有所不同,因此我不能只选择一个窗口。至于为什么它不是太干净,我正在更改我要返回的数据。如果我可以使用原始数据,我会更喜欢它。
标签: python graph plot cluster-analysis