基于DICA的故障检测和诊断
2022-08-10郭金玉
郭金玉, 王 乐, 李 元
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)
现代工业的迅速发展,带来了大规模和复杂的数据以及程序[1]。在工业生产过程故障产生的早期阶段,其对系统的影响比较小,但是,如果不处理这个故障,可能会造成很严重的损失。所以,故障检测和诊断对于工业过程的正常运行越来越重要[2]。然而,大多数过程数据是高维和冗余的。主成分分析(principle component analysis, PCA)可以通过将数据集映射到低维子空间的降维方法来处理具有线性、多维和高斯特点的数据。然而,PCA在处理非高斯、非线性和动态过程时,检测性能会下降[3]。独立成分分析(independent component analysis, ICA)可以处理非高斯信息,ICA的使用可以大大提高数据的检测性能。动态主成分分析(dynamic principal component analysis, DPCA)[4]和动态独立成分分析(dynamic independent component analysis,DICA)对于动态过程监控是2种有效的方法。DPCA和DICA不仅能捕捉到数据之间的相互关联,还能捕捉到每个测量变量的当前值和过去值之间的自相关[5]。 孔祥玉等[6]提出了基于新息矩阵的独立成分分析故障检测方法,能够有效反映数据的动态特性。张成等[7]提出了基于DPCA残差互异度的故障检测方法,能够有效地对动态过程中具有自相关性的残差得分进行状态监控。基于DICA的检测方法可以提取独立于变量的自相关和互相关的信号源,表现出强大的监控性能。因此,针对工业生产过程中的动态和非线性问题,本文运用DICA进行故障检测。
随着信息技术的迅速发展,流程工业的生产工艺也越来越复杂,工厂的控制过程一般具有非线性、动态性等特点,在时间上具有延迟等特点,这些特点导致不能够准确地的建立数学模型,因而基于数据的故障检测与诊断的方法在复杂工业过程中引起了广泛的关注[8]。工业过程安全运行的一个重要方面是快速检测故障或过程异常,并消除导致此类事件的因素。王琦[9]提出了利用知识图谱和贝叶斯理论来定位故障源。Huang等[10]提出基于DPCA、DICA和Bayesian决策改进的贡献图,在故障子空间中构造原始变量的贡献图,消除了正常子空间中变量对故障的影响。因此,贡献图中的变量数量减少,而且更容易确定故障的位置。Cho等[11]提出使用虚拟比例因子法测量每个变量的贡献,计算每个样本的矩阵轨迹。Sang等[12]提出利用变量重构误差来识别故障变量,这种方法需要对每个样本的重构值进行递归迭代。徐莹等[13]提出一种将独立成分分析与Bayesian结合,基于信息传递贡献图的故障识别方法。
以上几种方法都比较复杂,在计算上也不是很简便。所以,为了简化计算、易于理解、方便实现,本文提出一种新的基于DICA贡献图的故障诊断方法。该方法通过DICA计算出I2统计量,然后根据I2统计量的变化率,计算每个变量的贡献值,贡献较大的变量被认为是导致故障的主要因素。
1 基本理论
1.1 动态独立成分分析
独立成分分析假设一个时刻的观测值是独立于过去时刻的观测值的,这会导致在观测过程中,忽略有用的相关信息,而动态独立成分分析用以前的观测值扩充每个观测向量,检测到过去时刻的观测值,扩展到动态系统的建模和监测中[14],从而捕捉到有用的信息。假设在时刻k的n维数据矩阵为xk=[x1(k),x2(k),…,xn(k)]T,增加前l个时刻的观测数据,通过式(1)生成增广数据矩阵
(1)
式中:Xl∈m×n(l +1),m是样本的数量,l代表滞后。根据前人的经验可知,l的取值为1或者2比较合适[15]。将增广矩阵Xl标准化后用X表示,S与独立成分矩阵S的关系为
X=AS+E。
(2)
式中:X∈m×n(l +1)是增广矩阵;A∈m×m是混合矩阵;S∈m×n(l +1)是独立成分矩阵;E∈m×n(l +1)是残差矩阵。DICA最基本的问题就是从X中估计出独立成分矩阵和混合矩阵。因此,动态独立成分分析的目标是得出一个分离矩阵W,通过该矩阵使得重构数据矩阵的分量尽可能地相互独立,见式(3),
(3)
在应用DICA之前,数据矩阵X应该被白化,以消除随机变量之间的互相关。一种常用的白化方法是特征值分解,协方差矩阵的特征值分解的表达式如下:
(4)
式中:U为特征向量矩阵;Λ为特征值的对角矩阵。同时,可以获得白化变化的表达式
式中:F为白化矩阵;Z为对数据集X进行白化后得到的新数据集。经过白化变换后,可以得到
Z=FX=FAS=BS。
(7)
式中,B是正交矩阵。
因此,可将寻找任意满秩矩阵A的问题变为寻找正交矩阵B。可以做出以下估计:
(8)
由此,可以得出
W=BTF。
(9)
3个统计监测量的表达式如下:
(15)
DICA能够从工业生产过程中捕捉到具有动态和非线性的数据,它的目标是在不丢失信息的情况下,将一组多元数据分解成一组统计上的独立成分,不仅能够从互相关变量中提取独立成分,还可以从自相关变量中提取独立成分。DICA检测方法是将ICA应用到具有时滞变量的增广矩阵中,因此能够在动态过程中表现出更强的监控性能,用于建立动态模型和改善监测性能。
1.2 基于DICA的故障检测
动态独立成分分析方法的具体步骤如下。
1) 收集正常操作时的历史数据集,假设在时刻k的n维数据矩阵为xk=[x1(k),x2(k),…,xn(k)]T。
2) 根据式(1),建立增广矩阵Xl。
3) 对增广矩阵Xl=[x1,x2,…,xn(l +1)]进行标准化,使得各列方差为1,均值为0,标准化后的矩阵用X表示,
(16)
4) 建立DICA的模型。
① 对X进行特征值分解,计算出特征值与特征向量,得到特征值矩阵Λ与特征向量矩阵U。
② 对X进行白化。白化矩阵用F表示,根据式(7)对数据集X进行白化得到新的数据集Z。
④ 按降序排列W的行范数,通过85%的累计贡献率选取独立元个数d。
(17)
⑦ 根据核密度估计确定3个统计量的控制限。
5) 利用DICA模型进行故障诊断。
① 新来一个时刻数据xnew,建立增广矩阵Xlnew,利用建模数据的均值和方差,标准化Xlnew。
1.3 基于DICA的故障诊断
基于DICA的过程监控包括2个部分:故障检测和故障识别。故障检测是使用基于DICA的监控统计来检测是否有故障发生。当检测到故障时,故障识别能够判断哪个过程变量与故障相关。基于线性ICA所研究的变量贡献图对于识别故障变量有一定的有效性,然而在DICA中,为了更加有效准确地识别故障变量,本文提出了一种新的DICA贡献图方法。该方法受到灵敏度分析[16]的启发,通过计算系统输出变量的变化率,得到各个变量的贡献度。
对于具有n个变量的观测向量x=[x1,x2,…,xn]T,第i个变量对I2统计量的贡献度为
(18)
又因为
(19)
所以
(20)
(21)
2 仿真结果与分析
2.1 故障检测
通过TE过程数据将DICA的监测性能与PCA、DPCA和ICA3种方法进行比较。TE过程模拟器已被广泛用于比较各种监测方法[17]。该工艺由5个主要单元操作组成:反应器、冷凝器、循环压缩机、产品解析塔和气液分离器[18],如图1所示。
图1 TE过程模型流程Fig.1 Flow chart of TE process
该过程有41个测量变量和12个操纵变量[19]。TE过程总共有21个故障,这21个故障都是预先设定的。整个仿真过程有960个数据采样点,前160个数据为正常样本,在第161个数据时开始加入故障,共计800个故障样本。
PCA、DPCA、ICA和DICA这4种方法对故障17的检测结果如图2所示。对于故障17来说,DPCA的Q检测效果略好于PCA,这是因为DPCA能够考虑到过程的动态性。DICA的检测效果比ICA的效果好。ICA对非高斯过程的检测效果较好,但是工业过程中既有高斯分布的变量,又有非高斯分布的变量,高斯分布的变量就会影响ICA的检测效果,而且ICA没有考虑过程的动态性。与DPCA比较,DICA的检测效果好。这是因为DPCA只考虑了过程中的线性与高斯性,而DICA不仅考虑到了过程的非高斯性,而且还考虑了过程的动态性,从而提高了在动态过程中监测故障的能力,具有较好的效果。
(a) PCA-T2(b) PCA-Q(c) DPCA-T2(d) DPCA-Q(e) ICA-I2
以故障5、10、13、17和18为例,各统计量运用99%的控制限,4种方法的检测结果如表1所示。在大多数情况下,可以看出DPCA优于PCA,将2者中检测率最高的数值用粗体标出。另外DICA优于ICA,将2者中检测率最高的数值也用粗体标出。2者相比较,能够看出DICA优于其他几种方法。
表1 4种算法在TE过程中的故障检测率Table 1 Faultdetection rates of four algorithms in TE process 单位:%
2.2 故障识别
故障检测只能识别是否有故障,但不能提供关于故障源的信息。检测到故障后,能够有效识别导致引起故障的变量是非常重要的。本文以故障12为例,基于灵敏度分析的思想,通过DICA算法的I2统计量的变化率,求出变量贡献度,画出变量贡献图。故障12的I2统计量的变量贡献图如图3所示。从图3中可以看出,贡献图直观地给出了故障源的位置,变量12、15、48和49的贡献度相比较于其他变量是比较大的,认为这4个变量是导致故障的主要因素。
图3 故障12的I2统计量的变量贡献Fig.3 Variable contribution of I2 statisic for fault 12
变量12表示产品气液分离器的液位,变量15表示解析器等级,变量48表示气液分离器罐体流量,而变量49表示解析塔液体产品流量。故障12产生的原因是冷凝器冷却水入口温度发生变化,而这种变化可能是整个过程中的某些变量发生变化而引起的。由整个TE过程可知,当部分反应物经过冷凝器后,到达气液分离器罐体,不能冷却的气体会通过离心式压缩机回到反应器,再进入冷凝器,另一部分冷凝后的液体会进到解析塔。故障12是一种随机变化,当故障发生时,可能会造成冷凝器冷却水流速的剧烈变化与震荡,从而造成冷凝器中的温度和压力也发生变化。这些因素,会导致后面的分离器和解析塔也产生一系列关于压力和液体流量的变化,与故障变量相对应,验证了该方法的有效性。
3 结 论
针对工业生产过程中的动态和非线性问题,本文研究了一种基于DICA的故障检测方法。将PCA、DPCA、ICA和DICA方法应用到TE过程进行了比较,仿真结果表明,DICA的检测效果优于其他3种方法,证明了DICA的有效性。同时,本文提出一种新的基于DICA的故障诊断方法,该方法简单又容易实现,通过变量贡献图,能够有效识别引起故障的变量。虽然上述结果已经证明了贡献图技术在定位故障变量方面的潜力,但许多过程复杂的变量,贡献图可能难以识别。显然,以后需要进一步地研究和完善,以便在面对复杂的数据时,依然能有效地定位故障源。