我有个X轴是时间(以小时为单位),Y轴是数据值,能画出一个大体圆滑的曲线(如下图),但是异常时,会出现一个特别明显的突出点或凹进去的点(数据相对而言变化特别大),请问有什么算法可以识别出这些异常的点吗?
正常时:
异常时:
请问那个凹下去的点怎么用算法发现?
没有看到具体的时间序列的最小值和最大值。
如果每天最小值、最大值变化不大,可以考虑使用周期函数$$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}|$$不就好了,如果这个值很大,就可以考虑这个点异常了。