如何时间序列的曲线中发现异常点
我有个X轴是时间(以小时为单位),Y轴是数据值,能画出一个大体圆滑的曲线(如下图),但是异常时,会出现一个特别明显的突出点或凹进去的点(数据相对而言变化特别大),请问有什么算法可以识别出这些异常的点吗?
正常时:
异常时:
请问那个凹下去的点怎么用算法发现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有看到具体的时间序列的最小值和最大值。
如果每天最小值、最大值变化不大,可以考虑使用周期函数$$ts = csin(frac{24}{2pi}t + a )+ b = beta_1 sin(frac{24}{2pi}t) +beta_2 cos(frac{24}{2pi}t) + beta_0$$来做回归分析,然后通过区间估计,估计出每一时刻的值。设置一个可以接受的阈值,比如90%,如果实际点落在90%估计的区间外,可以考虑这个点为异常值。
如果出现的异常值往往只有一个点,直接用$$|ts_{t_2} - ts_{t_1}|$$不就好了,如果这个值很大,就可以考虑这个点异常了。
用差分的逻辑就行。
检验每个数据,一但出现巨大差距就报警。