没有合适的资源?快使用搜索试试~ 我知道了~
一种基于Grubbs和孤立森林的多维序列异常检测方法.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 123 浏览量
2022-07-06
17:12:57
上传
评论
收藏 355KB DOCX 举报
温馨提示
试读
11页
一种基于Grubbs和孤立森林的多维序列异常检测方法.docx
资源推荐
资源详情
资源评论
【摘 要】传统的异常检测是针对单维指标进行异常判别,及时发现故障或隐患。随着
计算机技术的发展,异常检测的方式也发生改变,逐渐发展为面向实时性更强、信息更
加丰富的大数据场景的多维序列异常检测。同时,太多的维度以及数据量会导致检测速
度变慢,累积更多的错判和漏判,很难发现相关联的异常指标数据,不利于整体分析问
题。基于此,提出了一种基于 Grubbs 和孤立森林的多维序列异常检测算法,对采集到
的多维数据使用优化的孤立森林算法进行异常检测,最后得出相关异常值发生的时间点
以及相关联的异常数据。实验结果表明,该方法可获得较高的准确率和计算效率。
【关键词】多维序列;异常检测;孤立森林;Grubbs
0 引言
异常检测
[1-3]
也称为离群检测,用于发现数据流中的异常类型并确定其发生
的详细信息。但是随着移动通信的发展,整个通信业务急剧膨胀,为了适配
多种终端、不同接入方式,运行场景日趋复杂,各类监控指标繁多且数据量
巨大,海量多维序列数据给运维人员带来更高的挑战。
面对大数据场景,传统的单指标检测结果可能会出现片面性问题,且效率较
低。文献[4]综述了多维时间序列异常检测算法,并指出了要注意尽量降低
算法的复杂度以及开展实时监测的研究;文献[5-7]针对智能运维、安全驾
驶和交易消费等领域,分别提出了基于 VRNN、自动编码器和模糊孤立森林等
算法,研究了多维序列异常检测算法及应用,并取得良好的效果。上述研究
方法中部分算法复杂度较高,面对多样化的海量数据,算法模型的泛化能力
和计算开销有一定局限。因此,本文提出了一种多维时间序列的异常检测算
法,采用优化的孤立森林(iForest, isolation Forest)算法,实现了较
好的异常检测效果。该算法易于理解,计算开销小,并且泛化能力和实用性
较好。
1 单指标异常检测的局限
传统的单指标异常检测就是 KPI 异常检测
[8]
,也是运维领域中的一个重要环
节。KPI 指的是对系统、服务等运维对象的监控指标(如访问量、利用率
等),其数据是按发生的时间先后顺序排列而成的数列,也就是时间序列。
为了发现异常数据,建立了一个单指标的时间序列异常检测系统
[9]
,基本遵
循以下步骤:
(1)数据采集:数据流的持续采集;
(2)正常行为建模:识别异常的第一步是建立一个模型,设计一个统计测
试来确定数据点,如果模型没有解释它们,则可能就是异常点;
(3)异常行为检测:通过对比正常模型发现异常的数据,并描述异常的各
种属性。
时间序列异常检测系统通过观察度量行为的各个方面,假设数据变化满足一
种分布(如高斯分布或者正态分布)来计算动态阈值模型,对数据按照一定
的规律波动来判断异常是否有效,判别速度快。通过应用异常检测算法将每
个时间点标记为正常/异常或者预测某个点的信号,然后测试该点实际值是
否与预测值相差足够大以将其视为异常。
但是,一旦数据在某一段时间变化幅度加大,数据不够平滑,对于多指标
(多维序列)数据来说,复杂度更高、无效和干扰信息更加严重。针对多维
度时间序列,如果需要将每个维度指标单独进行检测,会存在效率低下的问
题;另一方面,大多数检测只选取独立的维度进行分析,很难发现相关联的
异常指标数据,不利于整体分析问题。
2 多维序列异常检测
2.1 孤立森林的简介
孤立森林(iForest)
[10-11]
属于集成学习方法,广泛应用于异常检测领域。
iForest 对数据集的适应能力很强,同时在训练样本以及样本属性的选择方
面都是随机的,在处理多维序列存在一定的优势。其算法流程大致如下:
(1)从训练数据中随机选择 个点作为子样本,放入一棵孤立树的根
节点;
(2)随机指定一个维度,在当前节点数据范围内随机产生一个切割点 p,切
割点产生于当前节点数据中指定维度的最大值与最小值之间;
(3)此切割点的选取生成了一个超平面,将当前节点数据空间切分为 2 个
子空间:把当前所选维度下小于 p 的点放在当前节点的左分支,把大于等于
p 的点放在当前节点的右分支;
(4)在节点的左分支和右分支节点递归步骤,不断构造新的叶子节点,直
到叶子节点上只有一个数据(无法再继续切割)或树已经生长到了所设定的
高度,此时获得了一个 iTree。
获得 t 个 iTree 之后,iForest 训练就结束,然后可以用生成的 iForest 来
评估测试数据。对于一个训练数据 X,令其遍历每一棵 iTree,然后计算 X
最终落在每个树第几层(X 在树的高度),可以得出 X 在每棵树的高度平均
值。获得每个测试数据的高度平均值后,可以设置一个阈值(边界值),高
度平均值低于此阈值的测试数据即为异常。
2.2 改进的孤立森林异常检测
剩余10页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3591
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功