如何检测时间序列中的峰值
Posted
技术标签:
【中文标题】如何检测时间序列中的峰值【英文标题】:How to detect peaks in timeseries 【发布时间】:2020-06-16 16:19:29 【问题描述】:slow growing peak
我们如何使用pandas找到标记为黄色的索引周围的突然峰值,我已经看到了突然下降的答案,(How to detect a sudden change in a time series plot in Pandas) 但我无法以滚动窗口方式实现突然的峰值(图中的黄色点)和时间序列的缓慢增长趋势 如果再次出现缓慢增长的峰值,我们如何以滚动方式检测所有这样的点
【问题讨论】:
我会使用突然下降的答案,并在你的数据前面放一个减号 XD XD 谢谢,但我没有在数据前面得到减号? 好吧,如果你想在你的数组data_y
中找到一个峰,那就和在-data_y
中寻找一个下降一样:)
你能给我们一些日期吗?
你能定义一下,什么是你的突然高峰?
【参考方案1】:
您可以使用diff()
,文档为hier
n = 0
m = 1
df.loc[df['velocity'].diff(m)>n]
n
表示值的增加,当n
为正时。 m
是句号。
对于用户定义的值更改,必须调整 n
和 m
这两个值,因为当时数据不可用。
【讨论】:
不,这并没有给出突然变化的确切点,索引 160 周围的点是图表开始增加的点以上是关于如何检测时间序列中的峰值的主要内容,如果未能解决你的问题,请参考以下文章
实时时间序列数据中的峰值信号检测Matlab R Golang Python Swift Groovy C ++ C ++ Rust Scala Kotlin Ruby Fortran Julia C