论文标题:Robust and Rapid Clustering of KPIs for Large-Scale Anomaly Detection
KPI时间序列聚类面临的挑战
- 噪声和异常:噪声是指数据采集时候带来的较小的波动。异常是指相对于序列的平均水平波动很大的数值。噪声和异常都会影响到时间序列的聚类,无论是使用特征工程还是相关性的方式做聚类。
- 振幅:kpi数据因为是在不同机器上采集的数值有可能存在一定的差异。
- 偏移:各个时间序列因为在调用链上的位置不同,所以有可能存在延迟
提取baseline的算法流程
- 为了能解决上面提到的振幅不同的问题,所以需要进行标准化。也就是减均值除以标准差。
- 提取baseline
- 平滑极端值,也就是解决上面提到的异常的问题。平滑极端值的方法很简单,就是直接去掉相对平均值来说偏差最大的5%的数据,然后利用线性插值填充。因为经过标准化之后,序列的均值为0,方差为1,所以直接去掉绝对值最大的5%的数据,这个比例可以根据数据中异常值的数量进行改变。
- 提取baseline,可以通过简单的移动平均的方式进行提取。
![2e81db9096857429684a3b8567309002.png](https://img-blog.csdnimg.cn/img_convert/2e81db9096857429684a3b8567309002.png)
T就是经过平滑极端值后的序列,B就是baseline,R就是残差。W是滑动窗口的大小,也可以根据具体情况来确定。滑动平均的方法实际上也去掉了一部分的噪