面向复杂工业大数据的实时特征提取方法
2016-11-23孔宪光马洪波常建涛
孔宪光,章 雄,马洪波,常建涛,牛 萌
(西安电子科技大学工业大数据技术研究中心,陕西西安 710071)
面向复杂工业大数据的实时特征提取方法
孔宪光,章 雄,马洪波,常建涛,牛 萌
(西安电子科技大学工业大数据技术研究中心,陕西西安 710071)
工业大数据具有大体量、多源性、连续采样和价值密度低等特点,造成其数据复杂度高、实时性强和异常数据多.而传统的特征提取方法已无法满足复杂工业大数据的实时性要求,同时工业大数据的处理方法不同于基于互联网的数据流处理方法,其对精度要求较高.针对该问题,提出一种鲁棒的增量在线特征提取方法,即鲁棒增量主成分分析,采用滑动窗口动态更新数据,过滤窗口内的异常数据点;然后对窗口内数据进行增量主成分分析,从而满足工业大数据处理的精度及实时性要求.实验结果表明,该方法可有效对数据流进行实时的特征提取,并达到一定的精度要求.
工业大数据;实时性与鲁棒性;滑动窗口;主成分分析;离群点检测;特征提取
近年来,德国工业4.0及中国制造2025的提出,使得工业大数据的应用走向了发展的舞台[1].工业大数据分析是智能制造的基础,也是支撑未来制造智能化的方向.工业大数据是一个新的概念,泛指工业领域的大数据,包括企业内部制造系统数据和企业外部的大数据,具有大体量、多源性、连续采样、价值密度低、复杂度高和动态性强等特点.工业大数据的这些特点使其不同于互联网等数据流,分析难度与对分析精度的要求相对较高.多源性及复杂性导致了工业大数据的高维性,为准确进行工业大数据分析与预测,需要对工业大数据降维.特征提取是一种常用的特征降维方法,其原理是利用原始的特征空间构建一个新的低维空间,消除冗余特征及不相关特征,有效降低数据的维度.由于工业大数据对处理分析的实时性要求很高,传统的特征提取方法如主成分分析(Principal Component Analysis,PCA)[2]、线性判别分析(Linear Discriminant Analysis,LDA)和偏最小二乘法(Partial Least Squares,PLS)[3]等均不能满足工业大数据的实时性及要求.
数据流实时性问题的通常解决方法是以传统特征提取为基础,对其进行快速更新:在主成分分析方面,文献[4]提出了一种分块增量核主成分分析算法用来降低核主成分分析在特征分解上的计算代价,该算法基于累积率增加特征空间,可不保留历史数据而更新特征空间,并针对每一个数据块只计算1次特征值来求解特征空间.文献[5]提出了一种可以增量的更新数据特征的主成分分析法(Candid Covariance-free Incremental PCA,CCIPCA),该算法无需计算协方差矩阵,不仅提高了计算速度,而且面对高维数据时可快速收敛;在线性判别分析方面,文献[6]提出了一种构造方法,用于更新判别特征空间,包含新类的数据以一种随机块的方式加入到初始判别特征空间中.文献[7]基于最小二乘线性判别式分析,提出了一种新的增量线性判别式分析算法(Least Square-Incremental Linear Discriminant Analysis,LS-ILDA),当新数据到达时,算法增量更新线性判别式分析算法(Linear Discriminant Analysis,LDA)的最小二乘解,具有低时耗性和高准确性.文献[8]提出了一种完备奇异值分解的增量线性判别分析方法,并用于面部识别中.文献[9]提出一种快速增量线性判别式分析算法,可很好地处理新样本的更新问题,具备较低的空间和时间复杂度;在偏最小二乘法方面,文献[10]提出了一种增量偏最小二乘法用于处理大规模数据流.
上述增量特征提取方法很好地解决了数据流的实时性问题,却存在一定的精度问题.针对工业大数据应用对数据分析结果的高精度要求,笔者在主成分分析的基础上结合异常点检测,提出了一种鲁棒增量主成分分析(Robust Incremental Principal Component Analysis,RIPCA)方法,该方法在对数据流进行增量特征提取之前,对数据进行异常点的检测及过滤.文中创新点在于提出了一种实时的鲁棒增量主成分分析方法,它不仅可实时对数据进行降维,而且可提高降维的精度.
1 主成分分析及可增量更新数据特征的主成分分析法的原理及鲁棒性
特征提取是模式识别及机器学习中很重要的一个部分.目前,线性特征提取方法已被广泛用于文本分类和面部识别中[11].在工业大数据领域,线性特征提取主要应用于故障检测、故障诊断及质量控制中.其中,PCA与LDA是两种最广泛的线性子空间学习方法,而线性判别分析主要关注点在小样本问题[12],即当处理的数据集比较大时,类内散度矩阵会出现奇异值.因此,文中主要探讨主成分分析.
1.1主成分分析
其中,W为最佳投影矩阵.主成分分析的目标便为在解空间Hp×k={W∈Rp×k,WTW=I}中最大化目标函数J(W).已经证明W的列向量为协方差矩阵C的k个主特征向量.PCA算法将原始数据投影到一个k维(k×p)子空间中.新的低维特征向量可以表示为WTx.
PCA算法虽然可有效降低数据的维度,但仍存在以下几个缺点:
(1)PCA对数据点中的异常值十分敏感,存在严重的鲁棒性问题.
(2)PCA中的特征值分解过程计算复杂度高,时间消耗大,不利于进行在线分析.
(3)PCA是一种批处理算法,数据维度过高时,计算复杂度会过高,不能满足很多实际问题的需求.
1.2可增量更新数据特征主成分分析算法
针对PCA算法不能实时处理数据的问题,文献[5]以PCA为基础,提出了CCIPCA算法.该算法避免了PCA中的协方差矩阵的特征值分解的同时,对新到达的数据进行增量计算,不需要重新扫描所有的数据,因而减少了计算的复杂度,可用于在线数据流降维的处理.
假设数据流按样本向量u(1),u(2),…,收集,向量可能无限大.每个u(n),n=1,2,…,是一个d维向量,其中,d可能为5 000,甚至更大.不失一般性,假设u(n)的均值为0.A={u(n)uT(n)},是一个d×d维的协方差矩阵,采用增量更新的方式计算协方差矩阵,即
令v(0)=v(1),即数据分布的第1个方向.对于增量估计,式(2)可写成一种递归的形式为
其中,v=λx,为样本协方差矩阵,特征向量和特征值可分别计算和来得到.上述方法得到的是第1阶向量,第2阶向量可通过第1阶向量的投影得到,即
其中,u1(n)=u(n).在完备空间中,u2(n)被用作下一个迭代的输入.
CCIPCA算法避免了协方差矩阵的特征值分解,极大减少了计算复杂度;同时,该算法具备快速收敛的特征,因而可对数据流进行实时降维.但同主成分分析一样,该算法对数据流中的异常点十分敏感,导致降维精度受异常点影响较大,而实际工业大数据存在许多的异常点,因而该算法不适用于处理实际工业大数据问题.同时,考虑工业大数据的实时性要求,需要准确处理动态更新的实时数据流.因此,文中提出一种基于滑动窗口的鲁棒增量主成分分析方法.
2 鲁棒增量主成分分析算法
为提高增量主成分分析算法的鲁棒性,必须去除数据流中离群点对算法造成的影响.利用滑动窗口获取近期数据,并对其进行离群点检测,去除离群点.同时,可去除过期数据对算法造成的影响.
2.1利用反k近邻法判别数据流离群点
数据流异常点检测是数据流挖掘领域中的一个非常重要的工作.基于反k近邻的数据流离群点算法利用滑动窗口更新当前数据,实时检测数据流的离群点[13].
假设数据流表示为〈u1,t1〉,〈u2,t2〉,…,其中,〈u,t〉是数据项的表示,u为数据流上的样本数据点,t为该样本点进入或流出滑动窗口的时间.假设滑动窗口的大小为w,在任意时间点tn,滑动窗口模型的查询范围为{umax(0,tn-w=1),…,un}.时间点max(0,tn-w+1)之前的数据为过期数据,可忽略不计.文献[14]关于离群点定性定义如下.
定义1 离群点是一个与其他点差别很大的观测值,以至于怀疑它是由不同的机制产生的.
定义2 k-distance(p)为对任意自然数k,定义p的k距离为p和某个对象o之间的距离d(p,o),且o满足:
至少存在k个对象o′∈D/{p},使d(p,o′)≤d(p,o);
至少存在k-1个对象o′∈D/{p},使d(p,o′)<d(p,o).
定义3 p的k距离邻域Nk(p)为给定p的k-distance(p),p的k距离邻域包含所有与p距离不超过k-distance(p)的对象.
定义4 p的反k近邻NRNk(p)为把p当作k近邻的对象的集合.表示集合的大小,即反k近邻个数,且
定义5 基于反k近邻的离群点为当前窗口反k近邻最小的m个对象作为本次查询基于反k近邻的离群点.
基于上述定义对CCIPCA算法进行修正,提出新的鲁棒增量分析算法.
2.2鲁棒增量主成分分析算法介绍
原始CCIPCA算法在所有的数据集上对协方差矩阵进行增量更新,然而设备状态评估更多考虑的是其历史数据,对当前数据考虑不够,不足以很好地表征当前设备状态.因此,文中以周期更新的滑动窗口对CCIPCA算法进行修改,更多地考虑近期获取的数据,并对获取的数据进行离群点处理.
假设滑动窗口的大小为w,基本窗口大小为b,当前滑动窗口内的时间序列数据为u1,u2,…,uw,对应的协方差矩阵为,当新的基本窗口内b个数据到达时,滑动内数据更新为xb+1,…,xw,xw+1,…,xw+b,对应的协方差矩阵可表示为
由式(5)可以看出,滑动窗口内更新后的数据的协方差矩阵等于上一个窗口内数据的协方差矩阵加上一个增量,可避免重复扫描数据带来的时间损耗,满足在线实时分析的需求.
基于上述滑动窗口增量更新,结合反k近邻离群点检测,提出鲁棒的增量主成分分析算法描述如下:
(1)初始化滑动窗口宽度w,用户指定窗口内离群点数m,整数k,主特征向量数p.
(2)扫描一遍当前窗口内数据,更新当前窗口受影响的k近邻表与反k近邻表,删除最小的m个对象.
(4)利用式(4)计算下一阶特征向量,直到特征向量数为p.
2.3时间与空间复杂度分析
当前窗口大小计为b,当前窗口内一个k近邻对就着一个反k近邻,协方差更新与数据量大小线性相关.因此,算法的空间开销为O(N(2d+2k)).
文献[11]证明反k近邻的时间复杂度为O(b),RIPCA算法的复杂度与数据量和特征数量线性相关,因此,该算法的时间复杂度为O(b).
3 仿真实验与结果分析
文中对RIPCA算法与CCIPCA算法在处理速度与处理精度上分别进行仿真实验与比较,测试数据集为某半导体制造数据,该数据集包含了1 567行记录,每条记录共590个特征,对数据集中的缺失值,用均值进行填充后,利用时间戳,将其仿真成一段实时的数据流,并将其应用于算法比较中.表1取其前10个记录,前10个特征.
表1 部分实验数据
文中算法利用python实现,窗口大小设为500,k=15.对两个算法分别重复10次取平均值,作为最后的运行结果,首先,对比各算法处理实时数据流的速度.分别将数据集降维成5~20个主成分,每个实验重复10次,取其平均值作为各算法的处理时间,实验流程如图1所示,实验结果如图2所示.
由图2可以得出,将数据降成维度15以内时,CCIPCA算法的处理速度要高于RIPCA算法的.将数据降成维度15后,鲁棒增量主成分分析的处理速度变快.两者的处理速度在10 ms左右,基本满足数据流的处理要求.
图1 算法运行时间对比实验流程示意图
图2 算法运行时间对比示意图
在数据集中添加10%的异常点以验证算法的鲁棒性,对数据分别进行降维处理,算法流程如图3所示.
图3 鲁棒性对比分析流程示意图
取k=5,窗口宽度(即窗口中样本点个数)对异常点的检测率的影响如图4所示.可以看出,随着窗口宽度的增加,算法中异常检测部分对异常点的检测效果不断提升,因此,可有效剔除异常点对主成分分析造成的影响.
表2 累积方差对比
可见,对数据进行异常处理后,在提取相同的主成分前提下,鲁棒增量主成分分析RIPCA算法可获得更高的累积方差贡献率,更能反映原变量的信息,因而,提取的主成分更能代表原数据集特征.
图4 k=5时,异常检测结果示意图
4 结束语
简要介绍了一种常用线性特征提取方法即主成分分析,指出了该方法的计算复杂度与鲁棒性问题. CCIPCA算法可解决数据流的实时性问题,但存在一定的噪声敏感性,不适用于实际数据流的处理.因此,文中以CCIPCA算法为基础,采用周期更新的滑动窗口,对当前窗口数据实现增量更新方式,并对当前窗口数据进行离群点检测去除离群点,减少离群点对增量主成分分析的影响.实验结果表明,该算法在满足数据流实时性的同时,可有效对数据进行降维处理,并保证一定的精度.
[1]彭训文.工业4.0:从自动生产到智能制造[J].大飞机,2014(7):40-42. PENG Xunwen.Industrie 4.0:From Automatic Production to Intelligent Manufacturing[J].Jetliner,2014(7):40-42.
[2]王晓慧.线性判别分析与主成分分析及其相关研究评述[J].中山大学研究生学刊(自然科学、医学版),2007,28(4): 50-61. WANG Xiaohui.A Summary of LDA,PCA and Relative Work[J].Journal of the Graduates Sun Yat-Sen University (Natural Sciences,Medicine),2007,28(4):50-61.
[3]ROSIPAL R,KRÄMER N.Overview and Recent Advances in Partial Least Squares[C]//Lecture Notes in Computer Science:3940.Birlin:Springer,2006:34-51.
[4]JOSEPH A A,TOKUMTO T,AZAWA S.Online Feature Extraction Based on Accelerated Kernel Principal Component Analysis for Data Stream[J].Evolving Systems,2015:1-13.
[5]WENG J Y,ZHANG Y L,HWANG W S.Candid Covariance-free Incremental Principal Component Analysis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(8):1034-1040.
[6]PANG S N,OZAWA S,KASABOV N.Incremental Linear Discriminant Analysis for Classification of Data Streams[J]. IEEE Transactions on Systems,Man,and Cybernetics-Part B:Cybernetics,2005,30(5):905-914.
[7]LIU L P,JIANG Y,ZHOU Z H.Least Square Incremental Linear Discriminant Analysis[C]//IEEE International Conference on Data Mining.Piscataway:IEEE,2009:298-306.
[8]LU G F,ZOU J,WANG Y.Incremental Learning of Complete Linear Discriminant Analysis for Face Recognition[J]. Knowledge-Based Systems,2012,31:19-27.
[9]CHU D,LIAO L Z,et al.Incremental Linear Discriminant Analysis:A Fast Algorithm and Comparisons[J].IEEE Transactions on Neural Networks and Learning Systems,2015,26(11):2716-2735.
[10]ZENG X Q,LI Z G.Incremental Partial Least Squares Analysis of Big Streaming Data[J].Pattern Recognition,2014,47(11):3726-3735.
[11]温浩,卢朝阳,高鑫学.融合小波变换和张量PCA的人脸识别算法[J].西安电子科技大学学报,2009,36(4): 602-607. WEN Hao,LU Zhaoyang,GAO Xinxue.Face Recognition Algorithm Based on Wavelet Preprocessing and Tensor PCA [J].Journal of Xidian University,2009,36(4):602-607.
[12]SHARMA A K,PALIWAL K.Linear Discriminant Analysis for the Small Sample Size Problem:an Overview[J]. International Journal of Machine Learning and Cybernetics,2013,6(3):443-454.
[13]张忠平,梁永欣.基于反k近邻的流数据离群点挖掘算法[J].计算机工程,2009,35(12):11-13. ZHANG Zhongping,LIANG Yongxin.Stream Data Outlier Mining Algorithm Based on Reverse k Nearest Neighbors [J].Computer Engineering,2009,35(12):11-13.
[14]HAWKINS D.Identification of Outliers[M].London:Chapman and Hal,1980:1-45.
(编辑:齐淑娟)
Real time feature extraction method for complex industrial big data
KONG Xianguang,ZHANG Xiong,MA Hongbo,CHANG Jiantao,NIU Meng
(Industrial Big Data Technology Research Center,Xidian Univ.,Xi’an 710071,China)
Industrial big data have the traits of big volume,multi-sources,continuous sampling and low value density,which results in high complexity,real-time and high abnormality.Traditional feature extraction methods cannot meet the real-time requirements of complex industrial big data.In addition,the processing method for industrial big data is different from the internet data stream processing method,which has a higher accuracy requirement.Therefore,this paper proposes a robust incremental on-line feature extraction method as the Robust Incremental Principal Component Analysis.It uses the sliding window to update new coming data dynamically and filter the abnormal data in windows,then the incremental principal component analysis is implemented on data in windows in order to meet the accuracy and real-time requirements of industrial big data processing.Experimental results show that the proposed method can effectively extract the data stream in real time with high accuracy.
industrial big data;real-time and robustness;sliding window;principal component analysis; outlier detection;feature extraction
TP391
A
1001-2400(2016)05-0070-05
10.3969/j.issn.1001-2400.2016.05.013
2015-08-13 网络出版时间:2015-12-10
中央高校基本科研业务费大数据群资助项目(BDY231423);国家自然科学基金资助项目(51505357);陕西省国际科技合作与交流计划资助项目(2016-KW-048)
孔宪光(1974-),男,副教授,博士,E-mail:kongxg@vip.sina.com.
网络出版地址:http://www.cnki.net/kcms/detail/61.1076.TN.20151210.1529.026.html