论文标题:Robust and Rapid Clustering of KPIs for Large-Scale Anomaly Detection
KPI时间序列聚类面临的挑战
- 噪声和异常:噪声是指数据采集时候带来的较小的波动。异常是指相对于序列的平均水平波动很大的数值。噪声和异常都会影响到时间序列的聚类,无论是使用特征工程还是相关性的方式做聚类。
[En]
noise and anomaly: noise refers to the small fluctuation caused by data acquisition. An anomaly is a value that fluctuates greatly relative to the average level of the sequence. Noise and anomalies will affect the clustering of time series, whether using feature engineering or correlation.*
- 振幅:kpi数据因为是在不同机器上采集的数值有可能存在一定的差异。
- 偏移:各个时间序列因为在调用链上的位置不同,所以有可能存在延迟
[En]
offset: there may be delays in each time series because of their different positions on the call chain*
提取baseline的算法流程
- 为了能解决上面提到的振幅不同的问题,所以需要进行标准化。也就是减均值除以标准差。
- 提取baseline
- 平滑极端值,也就是解决上面提到的异常的问题。平滑极端值的方法很简单,就是直接去掉相对平均值来说偏差最大的5%的数据,然后利用线性插值填充。因为经过标准化之后,序列的均值为0,方差为1,所以直接去掉绝对值最大的5%的数据,这个比例可以根据数据中异常值的数量进行改变。
- 提取baseline,可以通过简单的移动平均的方式进行提取。
T就是经过平滑极端值后的序列,B就是baseline,R就是残差。W是滑动窗口的大小,也可以根据具体情况来确定。滑动平均的方法实际上也去掉了一部分的噪声。
这个是论文中baseline、raw data、residuals的可视化,可以看到baseline清晰了很多。