【发布时间】:2020-09-26 00:21:01
【问题描述】:
TL;DR:有需要处理的水流时间序列,无法找出去除异常峰值的方法。
我目前在一个项目中工作,我收到一个包含两列的 .csv 数据集:
- 日期,
datetime时间戳 - value,一个水流值
该数据集通常是对具有自动灌溉系统的管理实体的水流量传感器进行一年的测量,包含大约 402 000 个原始值。有时它可能有一些与浇水期不对应的峰值,因为它是正常值之间的准时值,例如image。
到目前为止,我已经尝试计算两点之间的百分比差异和间距,并计算中值绝对偏差 (MAD),但两者都出现误报。
这里的问题是我需要一种算法来识别持续 1 或 2 次测量的自发峰值,因为在 2 分钟内流量增加 300% 在物理上是不可能的。
另一个问题是编码。需要一种动态的方法来检测这些峰值,因为根据整个dataset,我们清楚地看到了原因:在夏天,流量增加了一倍以上,不可能达到 0.95 个百分点。
我已经使用上述技术和 1 天的数据集准备了一个 github 存储库,这是我目前正在使用的数据集(大约 1000 个值)。
【问题讨论】:
标签: python time-series detection