时序数据异常检测做到这种段位,还怕什么告警风暴( 五 )
图12 特征选择及说明
4)模型训练及实时检测
参考监督学习在分类问题中的应用思路 , 对周期型指标自动异常检测方案具体设计如图下13所示 , 主要分为离线模型训练和实时检测两大部分 。
文章插图
图13 模型检测和实时检测流说明
模型训练主要根据样本数据集训练生成分类模型 , 实时检测利用分类模型进行实时异常检测 。 具体过程说明如下:
- 离线模型训练:基于标注的样本数据集 , 使用设计的特征提取器进行特征提取 , 生成特征数据集 , 通过Xgboost进行训练 , 得到分类模型 , 并存储;
- 实时检测:线上实时检测时 , 时序数据先经过预检测(降低进入特征提取环节概率 , 减少计算压力) , 然后根据设计的特征工程进行特征提取 , 再加载离线训练好的模型 , 进行异常分类;
- 数据反馈:如果判定为异常 , 将发出告警 。 进一步地 , 用户可根据实际情况对告警进行反馈 , 反馈结果将加入样本数据集中 , 用于定时更新检测模型 。
通过上述实践 , 本文得到一套可完整运行的周期型指标异常检测系统 。
在该系统应用到生产环境的过程中 , 也遇到不少问题 , 比如低峰期(小数值)波动幅度较大、节假日和周末趋势和工作日趋势完全不同、数据存在整体大幅抬升或下降、部分规律波动时间轴上存在偏移 , 这些情况都有可能产生误告 。
本文也针对这些场景 , 分别提出对应的优化策略 , 从而减少周期型指标在这些场景下的误告 , 提高异常检测的精召率 。
① 低峰期场景
低峰期主要表现是小数值高波动 , 低峰期的波动比较普遍 , 但是常规检测时 , 只获取当前点前后7min的邻域内的数据 , 可能无法获取到本身已经出现过多次的较大波动 , 导致误判为异常 。
所以对于低峰期 , 需要扩大比较窗口 , 容纳到更多的正常的较大波动场景 , 从而减少被误判 。
文章插图图14 低峰期时不同时段的相似大幅波动
如上图14所示 , 红色是当日数据 , 灰色是上周同日数据 , 如果判断窗口为w1 , w1内蓝色点有可能被认为是异常点 。
而时间窗口范围扩大到w2后 , 大幅波动的蓝色点和绿色点都会被捕获到 , 出现类似大幅波动时不再被判定为异常 , 至于低峰期范围可以通过历史数据计算进行识别 。
② 节假日场景
节假日前一天以及节假日之后一周的数据 , 和正常周期的趋势都会有较大差别 , 可能会出现误告 。
本文通过提前配置需要进行节假日检测的日期 , 在设置的日期范围内 , 除了进行正常的检测流程 , 对于已经检测出异常的数据点 , 会再进入到节假日检测流程 , 都异常才会触发告警 。
节假日检测会取最近1h的数据 , 分别计算其波动比、周同比、日环比等数据 , 当前时间的这些指标通过“孤立森林”判断都为异常 , 才会认为数据是真正异常 。 除此之外 , 对于节假日 , 模型的敏感度会适当调低以适应节假日场景 。
③ 整体抬升/下降场景
文章插图图15 整体抬升下降场景
场景特点如上图15所示 , 在该场景下 , 会设置一个抬升/下跌率 , 比如80% 。
如果今天最近1h数据80%相对昨日和上周都上涨 , 则认为是整体抬升 , 都下跌则认为是整体下降;如果出现整体抬升情况 , 会降低模型敏感度 , 并且要求当前日环比、周同比在1h数据中均为异常点 , 才会判定当前的数据异常 。
④ 规律波动偏移场景
部分指标存在周期性波动 , 但是时间上会有所偏移 , 如图16所示案例中时序数据由于波动时间偏移导致误告 。
本文设计一种相似序列识别算法 , 在历史数据中找出波动相似的序列 , 如果存在足够多的相似波动序列 , 则认为该波动为正常波动 。
相似序列提取过程如下:
- 最近n分钟的时序作为基础序列x , 获取检测时刻历史14天邻域内的数据(如前后30min);
- 在邻域数据中指定滑动窗口(如3min)滑动 , 把邻域数据分为多个长度为n的序列集Y , 计算基础序列x与Y中每个序列的DTW距离;
- 通过“孤立森林”对距离序列进行异常判断 , 对于被判定为异常值的DTW距离 , 它所对应的序列将被视为相似序列;
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用
- V2X|V2X:确保未来道路交通数据交换的安全性
- 短视频平台|大数据佐证,抖音带动三千万就业,视频手机将成生产力工具?
- 权属|从数据悖论到权属确认,数据共享进路所在
- 统计|多久才能换一次手机?统计机构数据有点意外
- 发展|大数据解读世界互联网大会·互联网发展论坛!
- 网购|黑色星期五及网购星期一大数据出炉 全球第三方卖家销售额超48亿美元
- Veeam|Veeam让企业数据拥有“第二次生命”
