2. 东北大学 流程工业综合自动化国家重点实验室, 辽宁 沈阳 110819;
3. 沈阳航空航天大学 设计艺术学院, 辽宁 沈阳 110136
2. State Key Laboratory of Synthetical Automation for Process Industries, Northeastern University, Shenyang 110819, China;
3. College of Design & Art, Shenyang Aerospace University, Shenyang 110136, China
随着科学技术水平的日益提高, 工业过程的规模在不断扩大, 测量变量的相关关系也逐渐加强, 过程的复杂性也越来越高.
为了保证过程工业生产的安全可靠运行, 对其进行在线监测及故障诊断具有重要意义.近年来, 随着计算机技术的发展, 大量过程数据被采集并存储下来.在此背景下, 基于数据驱动的过程监测技术得到了长足的发展.多元统计分析理论也广泛应用于复杂工业过程的在线监测.而其中用于监测高斯数据的PCA[1]方法以及更加适用于非高斯数据的ICA[2]方法更是得到了学术界和工业界的广泛关注, 其基本思想和理论方法为解决过程监测问题带来了光明的前景.
但是PCA和ICA方法都是适用于线性过程的监测方法, 对具有非线性性质的过程监测具有很大的弊端.当工业过程中存在大量的非线性数据, 基于核技术的多元统计方法 (如KPCA[3], KICA[4]等) 可以有效提取非线性特征.
在实际的复杂工业过程中, 一般很难获取过程变量相关关系的先验知识.如果在选择监测方法时, 不考虑这些方法的适用条件, 盲目选择算法, 则无法保证这些监测方法的监测效果, 甚至可能出现错误报警等现象.因此采用多元统计方法对过程进行监测之前, 首先需要对多变量过程数据进行过程变量相关关系及数据分布特性分析, 并根据分析结果自动选择出合适的监测方法, 从而获得良好的监测与故障诊断效果.
目前有一些文献[5-6]提出了多元向量组线性关系以及非线性的判定方法, 并阐述了判定时应该注意的问题.但这些方法中所提及的线性、非线性是传统意义上定义的变量相关关系:只要向量组中能够找到部分向量呈线性关系, 则定义整个向量组为线性关系, 否则认为向量为非线性.而在复杂工业过程中往往存在这样的情况:有一些变量之间呈现线性关系, 但是大量的变量之间是非线性关系.对于这样的过程数据如果按照传统的定义采用线性多元统计方法进行监测, 监测效果必然不理想.因此, 现存的相关关系判别方法不适用于多元监测数据中变量相关关系的判定.
本文给出一种用于工业过程变量相关关系检验的方法, 并能够根据检验结果自动选择一种合适的监测方法, 解决了假设条件带来的限制, 提高了过程监测性能.
1 多元统计监测方法主成分分析 (PCA) 是在保证数据信息损失最少的前提下, 将多个相关的变量转化为少数几个不相关的变量, 从而达到对高维数据降维的目的.但PCA一般适用于监测数据服从高斯分布的情况.如果数据服从非高斯分布, 则PCA方法提取的主元可能无法准确提取过程特性, 而这样的主分量势必会导致监测模型不准确.而且在确定PCA统计量的控制置信限时, 只利用了二阶统计量信息, 其求取公式也要求数据服从高斯分布.因此如果监测数据呈现非常强的非高斯特性, 传统PCA方法的监测性能会大打折扣, 甚至会出现大量误报、漏报等情况[7].
独立成分分析 (ICA) 是近年来发展起来的一种方法, 并已得到了广泛应用.ICA可以通过分离非高斯的混合变量, 得到表征过程内在特性的独立变量.相比较于PCA而言, 它不仅利用了二阶统计量信息, 还充分利用了高阶统计量信息[8].因此, 当数据呈现非高斯分布时, ICA方法呈现出更好的监测性能.
但是PCA和ICA方法均属于一种线性映射算法, 它们可以有效地处理线性关系的数据, 但对于含有大量非线性关系的数据却显得无能为力.这是由于PCA和ICA无法充分压缩和提取数据之间的非线性信息, 因此难以保证在线监测的可靠性和实时性.
核主成分分析 (KPCA)[3, 9]就是将低维空间中的非线性数据通过一个未知的非线性函数φ映射到高维特征空间, 然后在该空间中对变换后的线性可分的数据进行PCA处理的过程.由于PCA只能处理高斯数据, 所以KPCA也适用于数据服从高斯分布的情况.
核独立主元分析 (KICA)[4]的基本思想是首先利用KPCA方法将低维非线性数据映射到高维特征空间并进行白化处理, 然后对白化数据进行独立主元分析.KICA是ICA的非线性推广, 结合了KPCA和ICA的优点, 既具有较强的非线性特征提取能力, 又可以有效处理非高斯信息, 这使得KICA方法广泛应用于非高斯非线性数据的过程监测.
基于核函数的KPCA和KICA方法通过非线性函数将低维空间中的非线性数据映射到高维特征空间中, 并在高维特征空间中提取表征过程非线性特性的隐变量, 有效解决非线性过程的监测问题.也就是说, KPCA和KICA的优势就在于非线性特征的提取上.对于线性过程, PCA, ICA在原空间便可很好提取线性主元 (主成分).而KPCA和KICA需要向高维空间进行映射, 此映射过程对线性关系的提取并无优势, 且因为核函数及核参数选取较困难, 大大增加了算法复杂性.如果核参数选取不当, 其监测效果远不如PCA, ICA方法.因此, KPCA和KICA只适用于非线性过程的监测.线性过程的监测一般选择PCA和ICA方法.
综上, 每种方法都有自己的应用前提条件, 为了对过程进行监测, 首先应对多变量过程数据进行相关关系分析及数据分布特性分析.作者已在文献[10]中提出了一种数据分布特性的判断方法, 线性相关关系判断可采用下面的方法.
2 基于数据特性分析的过程监测 2.1 变量相关关系的判别本文提出了一种通过参数寻优以及逐步剔除的方法, 实现多变量过程线性非线性的自动判别.
设数据X含p个变量, 每个变量有n个采样, 即X=(x1, x2, …, xp).根据线性相关定义, 若判断数据X各变量是否线性相关, 则取决于是否能找到一组不全为零的系数k1, k2, …, kp满足:
(1) |
即能否找到一个p维向量k=(k1, k2, …, kp), 满足:
(2) |
当X满足线性相关条件时, 向量B的模应为零.因此寻找参数的过程可以转换为寻优过程:
(3) |
当J接近零时, 认为寻找到的向量k=(k1, k2, …, kp) 满足式 (1), 说明X是线性相关的, 否则为线性不相关.
当X为线性相关时, 有两种可能:①全线性相关, 即X所有变量均为线性相关的; ②部分线性相关, 即X中有一部分变量是线性相关的, 还有一部分是线性不相关的, 这些变量有可能独立也可能含有非线性关系.
在线性代数中, 上述两种情况均属于变量线性相关, 但是工程中所说的线性数据主要指的是第一种情况, 即全线性相关.也就是说, 只要变量中含有非线性关系, 则认为数据是非线性数据.因此, 当数据X线性不相关时, 直接定义为非线性数据.当数据X线性相关时, 需要进一步判断.
如果找到一组参数使得J最小, 且接近于零, 则X中线性不相关的变量对应的参数ki应该接近0.对于向量k中接近零的变量, 变量组中有可能仍含有线性相关部分, 因此继续寻优, 直到把所有的线性相关部分全部找出.如果最后仍有部分变量属于线性不相关, 则此时数据为非线性数据, 否则, 认为数据为不含非线性关系.
2.2 基于数据特性分析的监测算法经过变量相关关系的判定, 如果数据为线性数据, 则选择适用于线性过程的PCA和ICA方法进行过程监测.当数据含有非线性关系时, 选择适用于非线性数据的核方法 (KPCA, KICA).由于PCA和KPCA适用于高斯数据的监测, ICA和KICA方法在非高斯数据监测上更有优势, 因此在确定变量相关关系后, 利用改进F直线法[10]对数据进行高斯性检验, 根据数据分布情况进一步选择合适的监测算法.
算法详细流程图如图 1所示.其具体步骤:
1) 对样本数据进行标准化处理得到数据X;
2) 令XL等于空矩阵, 用来存放X中线性相关部分;
3) 寻找参数k, 使得J最小;
4) 判断J是否小于阈值e, 如果小于阈值, 则说明X中含有线性部分, 接下来将线性部分、非线性部分分开, 令m等于X变量个数; 否则认为数据X不含线性部分, 转到第11) 步;
5) 令XNL等于空矩阵, 用于存放此次寻优中的非线性相关部分,令i=1;
6) 判断ki的绝对值是否小于阈值β, 若小于阈值, 则说明xi对应的参数接近零, 即xi不属于此次寻到的线性相关的变量, 故放入XNL中, 否则认为xi属于此次寻优找到的线性部分, 放入XL中, 转入下一步;
7) 判断i是否等于m, 如果不等于m, 令i=i+1, 转入第6) 步; 否则认为所有变量均检验完毕, 线性部分已全部提取出来, 转入第8) 步;
8) 判断XNL是否为空矩阵, 如果为空矩阵, 说明X中不含线性不相关部分, 则认为数据X0为线性数据, 转到第10) 步; 否则, 转到第9) 步, 继续寻找XNL中的线性相关变量;
9) 令X=XNL, 转到第3) 步进行新一轮寻优;
10) 用改进F直线法判断X0是否符合高斯分布.如果符合高斯分布, 则建立PCA模型; 否则建立ICA模型; 算法结束.
11) X0为非线性数据, 利用KPCA方法将数据X0进行白化, 得到白化数据Z.
12) 判断Z是否符合高斯分布.如果符合高斯分布, 建立KPCA模型; 否则建立KICA模型; 算法结束.
其中:e为J的阈值, 一般选择9×10-6;β为ki的阈值, 一般选择5×10-5.
3 仿真验证及分析文献[3]给出一个经典非线性仿真系统, 并设置故障, 本文在此基础上, 增加变量个数, 提高变量的复杂性, 并将利用此系统验证算法的有效性.设非线性仿真系统为
(4) |
其中:t为服从均匀分布的随机数据且t∈[0.01, 2]; ei服从正态分布N (0, 0.01), 属于独立的扰动变量.为了仿真分析, 首先根据式 (4) 给定的关系生成450个正常数据样本.
按照文献[5]的方法, 求取数据的秩r=5, 小于变量的个数, 此时认为向量组是线性相关的, 自然应该选择线性方法进行监测.对数据进行高斯性检验, 数据呈现高斯分布特性, 因此传统的变量相关关系检测方法选择了PCA方法进行监测.
下面根据本文第2节提出的算法进行相关关系判断, 仿真可得J=4.3896×10-7 < e, 其中参数k=[k1, k2, k3, k4, k5, k6]的值为
由于J小于阈值, 所以认为数据为线性相关数据.由k的值可以看到第3、第4和第5个变量对应的参数值明显接近零, 而第1、第2和第6个变量对应的参数值很大, 说明这3个变量呈线性相关关系.因此将线性相关部分剔出去, 对剩下的第3、第4及第5变量进一步寻优.
第二次寻优得到的J2=0.0111 > e, 其中参数k2=[k32, k42, k52]的值为
由于J2远大于阈值, 且对应的参数k2值都很大, 所以认为此时数据为线性不相关数据.根据算法定义, 认为整个过程数据为非线性数据.两次寻优时间分别为12.272 s和8.384 s, 寻优效率较高.
接下来将数据进行白化, 得到白化数据Z.利用改进F直线法对数据Z进行高斯性检验, 结果如图 2所示.
计算得到:|A|=0.0897 < 0.05 Y=0.1114, |B-1|=0.0639 < 0.15, 故不拒绝原假设, 可以认为数据服从多元高斯分布.因此, 模型自动选择KPCA方法来进行建模.
为了验证算法的有效性, 因此算法自动选择的KPCA与按传统相关关系方法选择的PCA方法进行比较.首先, 将正常样本中的150个数据建立离线模型, 并计算统计量的控制限.剩余的300个正常数据用于验证正常数据的监测效果.图 3表示KPCA模型的正常数据监测结果.从图 3可以看出, KPCA模型的T2和SPE统计量均低于控制限, 认为过程正常运行.图 4表示PCA模型的正常数据监测结果.同样, 整个过程中两个统计量均在控制限以下, 过程正常.
为了验证模型的故障检测效果, 生成300个测试数据:从第151个样本开始, 变量x1加入一个扰动, 即令x1按0.01(k-100) 线性递增, 其中k是样本数.第271个样本后数据重新恢复正常.将新生成的故障数据进行测试.
图 5表示KPCA模型的故障数据监测结果.由图 5可知, 对于KPCA模型, 前150个样本的T2和SPE统计量均低于控制限, 说明过程正常.从151个样本开始, 两个统计量迅速发生变化, 并明显超出控制限, 而且随着故障的增大, 统计量也越来越大.当过程从271个样本重新恢复正常时, 统计量也迅速恢复到统计量控制限之下.这说明算法自动选择的KPCA方法能有效检测故障, 可以很好地适用于本仿真系统.
图 6表示PCA模型的故障数据监测结果.从图中可以看出, 当过程从第151个样本点开始出现故障时, 两个统计量仍在控制限之下, 没有有效检测到故障.随着故障的增大, T2统计量仍低于控制限, 监测效果并不理想.而SPE统计量在故障出现初期, 虽然具有增大的趋势, 但仍处于控制限之下, 直到第192个样本点时才超出控制限.虽然SPE最终检测到了故障, 但是滞后时间非常长.由此可见, 按照传统相关关系检测方法选择的PCA模型对本系统的在线监测能力很差.
对比结果也再次说明, 在选择监测方法的时候, 如果不考虑监测方法的适用条件, 盲目选择方法, 可能导致错误的结论, 从而验证了本文算法的必要性和重要性.
4 结论1) PCA和ICA等多元统计方法能够有效提取表征过程内在特征的少数主要变量, 因此PCA和ICA广泛应用于线性工业流程的过程监测.基于核函数的KPCA和KICA通过非线性映射, 巧妙地将一个非线性问题转化为了线性问题, 因此被广泛应用于非线性过程监测中.
2) 上述算法均有自身的适用条件, 如果在监测过程中不考虑工业过程的数据特性, 盲目选择监测算法, 则可能给出错误结论.
3) 本文提出的基于数据特性分析的方法, 对于先验知识未知的过程, 检验过程数据的相关特性, 并根据检验结果及各监测算法的适用条件自动选择合适的监测算法, 从而有效解决了各方法对过程数据的限制问题, 提高了监测性能.
4) 仿真验证了该方法选择的监测算法效果良好, 进一步证明了该方法可行有效.
[1] | Zhao E D, Tan L S. A PCA based optimization approach for IP traffic matrix estimation[J]. Journal of Network and Computer Applications, 2015, 57: 12–20. DOI:10.1016/j.jnca.2015.07.006 |
[2] | Ajami A, Daneshvar M. Data driven approach for fault detection and diagnosis of turbine in thermal power plant using independent component analysis (ICA)[J]. Electrical Power and Energy Systems, 2012, 43: 728–735. DOI:10.1016/j.ijepes.2012.06.022 |
[3] | Lee J M, Yoo C, Choi S W, et al. Nonlinear process monitoring using kernel principal component analysis[J]. Chemical Engineering Science, 2004, 59: 223–234. DOI:10.1016/j.ces.2003.09.012 |
[4] | Lee J M, Qin S J, Lee I B. Fault detection of non-linear processes using kernel independent component analysis[J]. Canadian Journal of Chemical Engineering, 2007, 85(4): 526–536. |
[5] |
刘桂珍.
判断向量组线性相关性的常用方法[J]. 凯里学院学报, 2007, 25(3): 3–6.
( Liu Gui-zhen. General kinds of methods for judging the related linearity of vectors group[J]. Journal of Kaili University, 2007, 25(3): 3–6. ) |
[6] | Shen Z Y, Wang Q, Shen Y. A new non-linear correlation measure[J]. Information, Computing and Telecommu-nication, 2009, 9: 11–14. |
[7] | Zhang S M, Wang F L, Zhao L P, et al. A novel strategy of data characteristic test for selecting process monitoring method automatically[J]. Industrial & Engineering Chemistry Research, 2016, 55(6): 1642–1654. |
[8] | Hyvrinen A, Oja E. A fast fixed-point algorithm for independent component analysis[J]. Neural Computation, 1997, 9(7): 1483–1492. DOI:10.1162/neco.1997.9.7.1483 |
[9] | Jiang Q C, Yan X F. Nonlinear plant-wide process monitoring using MI-spectral clustering and Bayesian inference-based multiblock KPCA[J]. Journal of Process Control, 2015, 32: 38–50. DOI:10.1016/j.jprocont.2015.04.014 |
[10] | Zhang S M, Wang F L, Wang S, et al.Multivariate process monitoring based on the distribution test of the data[C]//Proceedings of the 11th World Congress on Intelligent Control and Automation.New York:Institute of Electrical and Electronics Engineers Inc, 2015:2723-2728. |