基于改进ADPP的多变量时间序列异常检测
2016-05-26董红玉陈晓云
董红玉, 陈晓云
(福州大学数学与计算机科学学院, 福建 福州 350116)
基于改进ADPP的多变量时间序列异常检测
董红玉, 陈晓云
(福州大学数学与计算机科学学院, 福建 福州350116)
摘要:针对多变量时间序列异常检测问题进行研究, 提出基于改进ADPP的多变量时间序列异常检测算法IADPP. IADPP算法引入适用于多变量时间序列的张量相似性度量SSOTPCA, 并以此相似性度量构造序列集的k-近邻图, 在构造的k-近邻图上计算多变量时间序列的异常系数. 研究结果表明, IADPP算法克服了原有ADPP算法不支持多变量时间序列和要求密度均匀的缺陷, 取得了较好的检测结果.
关键词:多变量时间序列; 异常检测; 张量相似性度量; k-近邻图
1相关研究
多变量时间序列MTS(multivariate time series)是指多个变量依照时间先后顺序得到的一系列观察值的集合, 记为Xi(t), (i=1, 2, …m; t=1, 2, …n). 其中i表示变量个数(m≥2), t表示序列长度. 它可用一个n×m的矩阵表示如下:
(1)
MTS数据广泛存在于各种应用领域, 如视频监控、 金融、 医疗、 气象、 动作捕捉等.
异常检测是指在数据集中发现不符合期望行为的数据点, 这些不符合期望行为的数据点在不同的应用领域被称为异常, 孤立值, 不和谐的观察值, 奇异模式等[1]. 异常检测作为数据挖掘领域的重要分支, 在医学诊断、 信用卡欺诈、 网络入侵、 生态系统失调等领域有着强大的实际应用背景, 而这些领域的数据类型一般都是或能转化为MTS数据, 因此, 针对MTS的异常检测研究有较强的实践意义.
根据异常的表现形式, 异常可分为全序列异常和子序列异常, 当子序列的长度为1时, 子序列异常退化为点异常. 本文针对多变量时间序列的全序列异常, 即异常样本展开研究.
根据采用技术的不同, 现有MTS异常检测方法可分为以下5类:
1) 基于统计的异常检测. 指为数据建立一个模型, 与模型参数拟合概率较低的对象判为异常. 文献[2]提出的基于核主成分分析KPCA(kernel principal component analysis)的异常检测算法, 通过KPCA获取MTS的主方向矢量并估计训练样本vMF(von miser-fisher)分布模型的参数, 将小概率的测试样本归为异常. 该算法预先设定数据满足vMF分布, 但真实数据的分布一般较为复杂且不一定满足vMF分布. 文献[3]和文献[4]分别采用投影寻踪和独立成分分析确定序列的峰度系数, 样本的峰度系数和模型预定的系数范围比较广. 但这两种方法均单独处理每个变量, 忽视了变量间的相关性.
2) 基于距离的异常检测. 是指若一个对象远离其它大部分数据点, 就认为该对象是异常的, 其中远离程度通过距离度量. 文献[5]提出基于解决集的子序列异常检测算法, 通过滑动窗口获得MTS子序列并用扩展的Frobenius范数(Eros)[6]计算子序列间的距离, 根据距离的大小采用基于解决集的方法检测异常. 虽然该类方法简便易行, 但它对距离的选择异常敏感, 且不适用密度分布不均的数据集.
3) 基于密度的异常检测. 是指若一个对象的密度相对于其它对象较低, 那它就被判定为异常, 对象的密度(局部异常系数)表明了该对象与其它对象的相似程度. 该类方法是对基于距离异常检测方法的改进, 能较好地处理具有不同密度的数据集. 文献[7]和[8]都是基于此思想, 不同的是文献[7]采用Eros计算样本间的相似性, 而文献[8]采用SPCA[9]计算相似性, 但这两种相似性度量均不满足三角不等式.
4) 基于聚类的异常检测. 是将规模较小的簇内对象或簇隶属度较低的对象判定为异常. 文献[10]提出两阶段的异常检测算法, 通过有界坐标系统计算样本相似性, 采用K-means算法对数据聚类并由一个启发式规则对其排序, 最后在簇上采用循环嵌套算法进行异常检测, 该算法严重依赖簇个数, 而且时间复杂度较高.
5) 基于图的异常检测. 先构造一个样本连接图, 之后将连接图中与其它样本连接较少的对象定义为异常. 如文献[11]提出的基于随机游走的MTS异常检测算法, 先采用高斯径向基函数获得数据集每个变量的相似度矩阵, 并把相似度矩阵转化为样本连接图, 之后通过随机游走算法计算各样本的连接系数, 以此判断样本的异常程度. 但该算法将MTS的变量分别处理, 忽视了变量间的相关性.
目前, 基于图的异常检测方法也成为目前异常检测领域的研究热点. 文献[12]提出基于邻近图和PageRank的异常检测算法—ADPP(anomalydetectionusingproximitygraphandPageRank), 该算法先构造了样本的ε-邻域图, 之后利用PageRank算法[11]发现图中的异常样本. 经实验验证, 该方法提高了异常检测的准确率, 但ADPP算法仅适用向量型数据, 不适用于矩阵型的MTS数据. 本文拟对ADPP算法进行适当改进, 使其能成功应用于MTS数据.
2PageRank及ADPP算法简介
PageRank算法[13]最早由Page和Brin提出, 被Google用于网页排名, 可看做在定向图上的马尔可夫随机游走模型:
(2)
ADPP算法[12]则先构造一个ε-邻域图, 在图上执行改进的PageRank.ε-邻域图的构造原理如下: 若两样本点落在ε-邻域内, 边的权值定义如下:
(3)
式中:dist(xi, xj)表示样本点xi和xj的欧氏距离; 反之, wij=0.
转移矩阵P根据构造的ε-邻域图定义:
(4)
传递向量C依据每个样本点的权值定义, 其元素
(5)
此外,ADPP算法通过下式计算J
(6)
由上述可知, ADPP算法主要包括以下四个步骤:
Step 1计算数据集内各数据点间的欧式距离dist(xi, xj)并储存;
Step2给定阈值ε, 若dist(xi, xj)≤ε, 根据式(3)计算数据点间边的权值, 记为权值矩阵W;
Step 3分别由式(4)和(5)计算数据集的转移矩阵P和传递向量C;
Step 4由式(6)计算连接度J, 并对J值升序排列, 将J值较小的数据点判定为异常.
ADPP算法的不足在于: ①构造ε-邻域图时使用全局阈值, 因此ADPP算法对数据集密度分布情况依赖程度高. ②由式(6)可知, 求解J的过程两次用到逆矩阵, 计算一个d×d矩阵的逆矩阵的时间复杂度高达O(d3), 这导致了ADPP算法的时间开销较大.
3IADPP 检测算法
针对ADPP算法不适用MTS数据及要求数据集密度分布均匀, 提出基于改进ADPP的多变量时间序列异常检测方法—IADPP. IADPP算法引入支持多变量时间序列的张量相似性度量SSOTPCA, 构造时间序列集的k-近邻图, 新的k-近邻图可以有效避免原有ADPP算法ε-邻域图对数据集密度敏感的问题.
3.1相关定义
定义1张量相似性度量SSOTPCA.
(7)
定义2样本X的k-相似度(simk(X)).
给定一个自然数k和MTS数据集D, 样本X的k-相似度是X和数据集D中的某个样本Z之间的相似度, 记为simk(X). 样本Z满足以下两个条件:
1) 至少存在k个样本Z′∈D{X}, 使得SSOTPCA(X, Z′)≥SSOTPCA(X, Z′);
2) 至多存在k-1个样本Z′∈D{X}, 使得SSOTPCA(X, Z′)≥SSOTPCA(X, Z′).
对于MTS数据集D={X1, X2, …, Xd}, 通过样本的simk(X)构造样本间的k-近邻图. 近邻图是关于样本的加权图G=(V, E), 其中V表示顶点集, E表示边集, 若样本Xi与Xj存在边当且仅当SSOTPCA(Xi, Xj)≥simk(Xi), 那么边的权值wij≥0. 权重矩阵W定义如下:
(8)
定义3MTS样本异常系数.
MTS样本的异常系数ODi(i=1, …, d)定义为对应连接度的倒数:
(9)
如果样本的异常系数较大, 就意味着样本与其它样本的连接度较小, 从而样本为异常的概率就较大.
定义4MTS数据集的相对异常样本.
3.2基于改进ADPP的异常检测算法描述
算法名称: 基于改进ADPP的异常检测算法.
输入: MTS样本的数据集D, 近邻数k, 输出样本数l, 阻尼系数α, 阈值β, 最大迭代次数t.
输出: 前l个异常样本.
Step 1利用张量相似性度量SSOTPCA计算MTS样本的k-相似度simk(X);
Step 2构造关于数据集D的k-近邻图, 并计算图中边的权值矩阵W;
Step 3分别由式(4)和(5)计算样本转移矩阵P和传递向量C;
Step 4由式(2)采用循环迭代算法计算MTS样本的连接度Ji(i=1, …,d);
Step 5由式(9)计算样本的异常系数ODi(i=1, …,d), 对所有样本的异常系数降序排列;
Step 6输出异常系数最大的前l个MTS样本.
4实验与结果分析
4.1实验数据集
选取两组MTS数据集进行实验, 分别为JV2和Wafer2, 表1概要描述了这两组实验数据.
表1 实验数据概述
JV2数据集选取了JV 数据集[13]中第三个测试者的118个样本作为正常类, 第五个测试者的前10个样本作为异常类. Wafer2数据集随机选择Wafer数据集[14]中normal类的190个样本, abnormal类的10 个样本作为测试集.
4.2三种异常检测算法性能比较
实验比较以下3种算法的检测准确率及时间开销:
1) IADPP算法: 基于张量相似性度量SSOTPCA构造k-近邻图.
3) T_ADPP算法: 基于张量相似性度量SSOTPCA构造ε-邻域图.
当传递向量C取均值时, 由经验定义阻尼系数α=0.85. 为了实验的可比较性, 三种算法均取阻尼系数α=0.85, 输出样本数l=10. IADPP算法设阈值β=0.001, 最大迭代数t=20. 分别在JV2和Wafer2数据集上实验, 实验结果见表2.
由表2可知: 对于JV2和Wafer2数据集, IADPP算法的检测准确率明显高于IADPP_M和T_ADPP算法. 这是因为IADPP_M算法的传递向量没有考虑到序列集的权值, 平等看待每个样本; 而T_ADPP算法的ε-邻域图依赖数据集的密度分布. 此外, 在JV2数据集上, 若T_ADPP算法取邻域ε=1.5时, 求解过程出现奇异情况, 无法得到正确的结果.
表2 三种异常检测算法在两组数据集上的检测准确率
下面比较在以上参数条件下这三种算法的时间开销. 实验结果如图1所示. 由图1可知, 时间开销从小到大排列依次是 IADPP_M、 IADPP、 T_ADPP算法. 从理论上讲, 由于IADPP_M算法的传递向量直接定义为均值向量, 不需要计算, 而IADPP和T_ADPP算法的传递向量都是根据权值矩阵计算, 故IADPP算法时间开销要比IADPP_M算法大; T_ADPP算法求解逆矩阵的时间复杂度为O(d3),d为样本数, IADPP算法采用迭代算法的时间复杂度O(t),t为迭代次数, 因此IADPP算法的时间开销低于T_ADPP算法.
综合比较IADPP、 IADPP_M和T_ADPP三种算法在两组数据集上的检测准确率和时间开销可知, IADPP算法不仅有较高的检测准确率, 其时间开销也比T_ADPP算法小.
4.3参数对IADPP算法的影响
IADPP算法阈值β和最大迭代数t影响算法的时间开销, 而样本近邻图的近邻数k和阻尼系数α影响算法的检测准确率. 本文只讨论近邻数k和阻尼参数α对算法准确率的影响, 实验分别在JV2和Wafer2数据集上进行, 结果如图2所示.
由图2(a)可知: 随着近邻数的增加, IADPP算法的准确率逐渐提高, 当近邻数增加到一定程度后, 准确率保持不变. 由此可知, 在构造k-近邻图时, 直接取较大的近邻数k, 能在一定程度上保证IADPP算法的准确率. 选择上述实验准确率最高时所对应的最小近邻数, 即JV2数据集取k=20, Wafer2数据集取k=10. 由图2(b)可知: 随着阻尼系数α的增加, IADPP算法的准确率始终保持不变. 这说明IADPP算法对阻尼系数α不敏感.
5结语
针对ADPP异常检测算法不适用MTS数据及要求数据密度分布均匀, 提出基于改进ADPP的多变量时间序列异常检测算法IADPP. 该算法基于逆向挖掘思想, 即异常样本肯定是与其它样本连接度最低的样本, 引入支持MTS的张量相似性度量, 并以此度量构造样本的k-近邻图, 在新的k-近邻图上计算MTS的异常系数. 在真实数据集上的实验结果表明算法能取得较好的检测结果.
参考文献:
[1]VARUN C, ARINDAM B, KUMAR V. Anomaly detection for discrete sequences: a survey[J]. IEEE Transactions on Knowledge and Data Engineering, 2012, 24(5), 823-839.
[2]李权, 周兴社. 基于KPCA的多变量时间序列数据异常检测方法研究[J]. 计算机测量与控制, 2011, 19(4): 822-825.
[3]GALEANO D, PENA R, TSAY R S. Outlier detection in multivariate time series by projection pursuit[J]. Journal of the American Statistical Association, 2006, 101(474), 654-669.
[4]BARAGONA R, BATTAGLIA F. Outlier detection in multivariate time series by independent component analysis[J]. Neural Computation, 2007, 19(7): 1 962-1 984.
[5]WENG X, SHEN J. Finding discordant subsequence in multivariate time series[C]//2007 IEEE International Conference on Automation and Logistics. Piscataway:IEEE, 2007: 1 731-1 735. DOI:10.1109/ICA L.27.4338852.
[6]YaNG K, SHAHABI C. A PCA-based similarity measure for multivariate time series[C]//Proceedings of the Second ACM International Workshop on Multimedia Databases. Washington:ACM, 2004: 65-74. DOI:10.1145/1032604.1032616.
[7]翁小清, 沈钧毅. 多变量时间序列异常样本的识别[J]. 模式识别与人工智能, 2007, 20(4): 463-468.
[8]郭小芳, 李锋, 宋晓宁. 一种基于PCA的时间序列异常检测方法[J]. 江西师范大学学报(自然科学版), 2012, 36(3): 280-283.
[9] SINGHA A , SEBORG D E. Pattern matching in historical batch data using PCA[J]. IEEE Control Systems Magazine, 2002, 22(5): 53-63.
[10]王欣.两阶段的多元时间异常检测算法[J]. 计算机应用研究, 2011, 28(7): 2 466-2 469.
[11]CHENG H B, TAN P N, POTTER C,etal. A robust graph-based algorithm for detection and characterization of anomalies in noisy multivariate time series[C]// Workshops Proceedings of the 8th IEEE International Conference on Data Mining.Pisa:IEEE, 2008: 349-358. DOI:10.1109/ICDMW.2008.48.
[12]YAO Z, MARK P, RABBAT M. Anomaly detection using proximity graph and PageRank algorithm[J]. IEEE Transactions on Information Forensics and Security, 2012, 7(4): 1 288-1 300.
[13]PAGE L, BRIN S, MOTWANI R,etal. The PageRank citation ranking: bring order to the web[R].Stanford: Stanford University, 1998.
[14]PageRank[EB/O L].[2013-04-23]. http://en.wikipedia.org/wiki/PageRank.
(责任编辑: 蒋培玉)
Outlier detection based on improved ADPP for multivariate time series
DONG Hongyu, CHEN Xiaoyun
(College of Mathematics and Computer Science, Fuzhou University, Fuzhou, Fujian 350116, China)
Abstract:We study the outlier detection for multivariate time series, and an approach of outlier detection for multivariate time series based on improved ADPP-IADPP is proposed. IADPP algorithm introduces tensor similarity measure SSOTPCAsupporting for multivariate time series, and constructs the k-neighbor graph about the sequence set. Then, we calculate the outlier coefficient of multivariate time series on k-neighbor graph .The research results show that the proposed method overcomes the disadvantages that original ADPP does not support multivariate time series and requests uniform density, IADPP algorithm achieves a better detection results.
Keywords:multivariate time series; outlier detection; tensor similarity measure; k-neighbor graph
中图分类号:TP311
文献标识码:A
基金项目:福建省新世纪优秀人才资助项目(XSJRC2007-11)
通讯作者:陈晓云(1970-), 教授, 主要从事数据挖掘、 机器学习、 模式识别等研究, c_xiaoyun@21cn.com
收稿日期:2013-09-10
文章编号:1000-2243(2016)02-0164-06
DOI:10.7631/issn.1000-2243.2016.02.0164