有一组采样数据,横轴时间,绘制出来一张图,希望能标识出图中的尖峰,对“尖峰”没有量化定义,目前是两种,一是某一个时间点的激增,二是某一段时间的激增;从图上看就是突然某一个点比前后都高很多,或者是平滑处理后的包络图,某会有类似二次函数的突起。
这两种 尖峰能否使用现有的库,通过分析数据进行标注呢,确定出现尖峰的时间段即可
有一组采样数据,横轴时间,绘制出来一张图,希望能标识出图中的尖峰,对“尖峰”没有量化定义,目前是两种,一是某一个时间点的激增,二是某一段时间的激增;从图上看就是突然某一个点比前后都高很多,或者是平滑处理后的包络图,某会有类似二次函数的突起。
这两种 尖峰能否使用现有的库,通过分析数据进行标注呢,确定出现尖峰的时间段即可
|
F281M6Dh8DXpD1g2Mar 11, 2021
1
异常值检测呗
|
|
lixudaMar 11, 2021
2
sklearn 库看看,有个异常检查。
|
|
WincerMar 11, 2021
3
mark 一下,楼主有方案了麻烦告知一下,我最近也有类似的需求。目前尝试了 PCA,但是效果不是很理想。
|
|
guyskk0x0Mar 11, 2021 via Android
4
Facebook Prophet
|
|
learningmanMar 11, 2021
5
你先用数学把“尖峰”定义好,然后翻译成代码就行了
|
|
no1xsyzyMar 11, 2021
6
话说传统上异常值检测有:在回归时,添加某一个值会使得 r 值突然降低。
|
|
imn1Mar 11, 2021
7
第一个想到应用场合是证券的放量
我目前的做法是设定斜率临界点,前后两点拉直线的斜率,但不太满意 此帖我会回看 |
|
8
@learningman emm,其实就是这个尖峰的数学定义没有讨论出很好的定义
|
|
superrichmanMar 11, 2021 via iPhone
9
我是通过计算 z-score 来找 outlier,有一定局限性
看看有其它好方法没 |
|
Macv1994Mar 11, 2021 via Android
10
在上一家公司做过,我记得 numpy 还是 scipy 中有一个函数可以直接做尖峰检测
|
|
hasasikiMar 11, 2021
11
现有库不太清楚,不过可以试试直接找到所有峰值,然后再按自己需求筛选,找峰值的算法就很多了
|
|
VectorsMar 11, 2021
12
scipy 库,scipy.signal.find_peaks
https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html |
|
yesterdaysunMar 12, 2021
13
之前用过 peakutils
|
|
14
@yesterdaysun 好用的,我目前也是采用了这个方案
|
|
necomancerMar 14, 2021
15
https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html
一般这些算法都是基于小波变换,看看原理很简单的。 |