APP下载

基于新息矩阵的独立成分分析故障检测方法

2021-05-17

中南大学学报(自然科学版) 2021年4期
关键词:新息阈值矩阵

(火箭军工程大学导弹工程学院,陕西西安,710025)

偏最小二乘(partial least squares,PLS)、主成分分析(principal component analysis,PCA)、规范变量分析(canonical variable analysis,CVA)和独立成分分析(independent component analysis,ICA)[1-3]等是经典的基于数据驱动的多元统计过程监控(multivariate statistical process monitoring,MSPM)方法[4-6],在钢铁、化工、生物等复杂工业过程和复杂装备测试中不断发展。工业过程和复杂装备测试通常具有非高斯特性,但PLS 和PCA 均在多变量服从高斯分布的前提下,利用信号的低阶统计信息(均值和方差)进行故障检测和诊断。当实际的工业过程和复杂装备测试不满足高斯性时,PLS和PCA 的故障检测效果和故障诊断效果均不理想。相比于PLS和PCA,ICA从主元分析、因子分析上发展而来,能有效利用信号的高阶统计信息(3 阶以上)提取相互独立的成分,在非高斯过程监控中具有很大优势,因此,ICA是非高斯工业过程和复杂装备测试中常用的故障检测技术。JUTTEN 等[7]进行了盲信号的分离研究;COMON[1]阐述了ICA的基本概念并给出了严格的数学定义,使ICA 成为盲信号分离的重要手段;BELL 等[8]不仅提出了信息最大化准则,而且运用ICA 真正实现了盲信号分离,加速了ICA 的发展;YANG 等[9-10]提出了自然梯度搜索算法,不仅提升了梯度ICA 算法的速度,而且使自然梯度搜索算法成为ICA 中广泛应用的搜索算法;HYVÄRINEN等[11]提出了不同于文献[8-10]的定点迭代算法及固定点快速ICA算法(FastICA)[2];KANO 等[12]将ICA 引入简单流程工业的过程监控,第一次实现了基于ICA的故障检测;LEE等[13]将ICA用于故障检测和诊断,给出了较完整的故障检测和诊断策略,与PCA 和PLS 的故障检测指标T2统计量、平方预测误差统计量(squared predicted error,ISPE)相 似,ICA 采 用 指 标I2,I2e和ISPE进行故障检测和诊断,不同的是通过核密度估计(kernel density estimation,KDE)方法[14]获得故障检测三指标的控制限。KDE 方法为基于ICA 的故障检测方法求取控制限提供了可能,但当数据分布不均匀时,该方法获取的监控阈值可能不合理,导致故障检测效果不平稳。LEE 等[15]提出改进的ICA算法并将其用于故障检测及诊断,有效地提高了故障检测率;YANG等[16]针对复杂工业过程中的动态特性和难以检测的微小故障,提出了规范变量-独立成分分析(canonical variable-independent component analysis,CV-ICA)故障检测方法。为避免ICA采用多指标的不足,樊继聪等[17]提出联合指标进行故障检测及诊断;FAN 等[18]提出了核动态ICA(kernel dynamic independent component analysis,KDICA)过程监控方法;CHEN 等[19]为克服经典监控阈值选取不合理的情况,运用支持向量数据描述(support vector data description,SVDD)方法获取静态控制限;杨泽宇等[20]结合核ICA(kernel independent component analysis,KICA)和SVDD 提出KICA-SVDD故障检测方法;TAN等[21]通过组合3 种MSPM 技术提出故障诊断的多层贡献传播分析;SUN 等[22]结合CVA 和KICA,提出了CVKICA故障检测方法。目前,基于ICA的故障检测方法主要采用KDE 和SVDD 方法获取静态控制限实施故障检测[13,15-22]。KDE 和SVDD 方法获取的静态控制限无法跟踪信号中的动态特性,难以实现故障的早期预警。在工业生产过程和复杂装备测试中出现故障,如果不能及时报警,可能会造成不可弥补的损失。针对KDE 方法获取的静态控制限可能不合理以及静态控制限无法跟踪信号动态特性的问题,本文提出了基于新息矩阵的独立成分分析故障检测方法(innovation matrixindependent component analysis,IM-ICA)。该方法首先采用正常样本数据建立ICA 模型,然后将去均值预处理过的在线待检测数据矩阵在主导独立成分(independent components,ICs)方向投影得到重构的在线待检测数据矩阵,将其视为多变量在线观测矩阵,计算获取新息矩阵及其新息均值,最后计算新的故障判断机制的动态阈值并进行故障检测。需特别指出的是,PCA 依照二阶统计信息选取主成分(主元),而ICA依照向量范数选取独立元致使ICA 各指标上分派的系统能量不合理。因此,将新息矩阵应用在ICA 上比应用在PCA 上更具实际意义。本文作者在待检测样本具有独立性的基础上,设置固定长度的窗口去更新协方差矩阵,统计量由当前时刻附近的数据计算获取,控制限由当前时刻附近的正常样本数据计算获取,这样得到的统计量和控制限对数据实际的变化特征更具代表性,既能跟踪系统存在的细微变化,又能在故障发生的早期实现预警;同时,结合基于移动窗口协方差矩阵的新息矩阵将ICA 的故障检测静态控制限改进为一实时动态控制限,有效提高了故障检测率。考虑到工业过程和复杂装备测试通常是非高斯的物理环境,IM-ICA 算法可以在实际的故障检测中得到满意的故障检测率。

1 ICA

1.1 经典ICA算法

经典ICA算法的原理图如图1所示。ICA通过将观测到的数据矩阵分解成独立成分的线性组合来寻求ICs,ICs 为统计独立变量并且它们是非高斯性的潜变量。经典ICA算法的数学模型如下:

式中:X∈Rm×n,为测量变量矩阵;A∈Rm×d,为混合矩阵;S∈Rd×n,为独立成分矩阵;d为独立成分数;m为变量数;n为样本数。

除了测量变量矩阵X,剩余的独立成分矩阵S、混合矩阵A均是未知的。因此,需要将实际求解问题转化为根据测量矩阵X求解解混矩阵W∈Rd×m,最终得到输出矩阵Y的最优估计:

式中:∈Rd×n,为重构的拥有d个ICs 的独立成分矩阵。

图1 ICA原理图Fig.1 Schematic diagram of ICA

在运用ICA算法前,首先要对矩阵X进行预处理,预处理包括标准化(使数据成为零均值的数据)和白化(数据经过白化不相关,且方差为定值1)这2个步骤。

预处理后,进行X的协方差矩阵Rx的特征值分解,即Rx=E[(x(k)x(k)T)]=XXT=VΛVT。然后,k时刻的样本x(k)经白化后得:

式中:x(k)为未白化的k时刻的样本;白化矩阵Q=Λ-0.5VT;V为Rx的特征向量矩阵;Λ为Rx的对角矩阵;白化k时刻的样本z(k)为

式中:B为单位正交矩阵,且B=QA。重构的k时刻的独立成分s(k)为:

令W=BTQ,并称其为解混矩阵。

经典ICA 算法的实质是根据判别独立性最优的判据寻求解混矩阵W,从而使得独立成分矩阵S^中的d个ICs 最大程度相互独立。HYVÄRINEN等[2]提出的FastICA 算法有峭度、负熵最大和似然最大等形式,它不仅收敛速度极快,而且计算量极小。在很多情况下,负熵是非高斯性的最优估计准则,但直接使用负熵计算较困难,因此,采用近似负熵最大化形式的FastICA算法求解B:

式中:bk为单位正交矩阵B的向量;E{ }代表期望;G()代表非线性函数,具体选取见参考文献[3];为了得到较好的估计,选取增长不太快的非线性函数G(v)=-exp(-a2v2/2)/a2,其中v为变量;g′()为G()的二阶导数。在一般情况下,a2=1。

ICA 选取ICs 的方法至今没有通用标准,本文根据文献[17]先将解混矩阵W的ICs 从大到小排序,然后选择前d个ICs(1 行代表1个IC,即前d行)作为Wd,最后计算Wd对应的Bd,即Bd=(WdQ-1)T。W中剩余的ICs 构成We,B中对应的列为Be,也可通过计算公式Be=(WeQ-1)T获取Be。需特别强调的是,W=[Wd;We],且B=[Bd Be]。

通过sd(k)=Wdx(k)求解重构的主导ICs,通过se(k)=Wex(k)求解重构的次要ICs。主导ICs投影的变量数据通过=Q-1Bdsd(k)求解。

经典ICA 算法采用3 个指标(I2,I2e和ISPE)对观测数据进行故障检测:

式中:I2为检测系统性变化的指标;I2e为检测特殊事件引起的非系统性变化的指标;ISPE为检测残差有没有发生变化的指标,用于监测一般原因造成的非系统性变化。通过KDE 法求取3 个指标的静态控制限。

1.2 ICA的联合指标

为了与本文提出的基于新息矩阵的独立成分分析故障检测方法进行比较,引入樊继聪等[17]提出的联合指标:

式中:,和lISPE分别为I2,Ie2和ISPE这3 个统计量由KDE 法求得的控制限阈值。与ICA 算法的控制限阈值相似,ICA联合指标的控制限阈值同样采用KDE法获取。

2 基于移动窗口协方差矩阵的新息矩阵故障检测方法

YANG[23]提出基于全局协方差矩阵的新息矩阵故障检测方法,文成林等[24]在该基础上优化改进得到基于移动窗口协方差矩阵的新息矩阵故障检测方法。该方法引入固定长度的移动窗口,首先将全局的协方差矩阵改为移动窗口长度的协方差矩阵,然后求出对应的新息矩阵和新息矩阵的新息均值及动态阈值,最后进行故障检测。该方法不仅可降低更新协方差矩阵的计算复杂度,而且可得到更具代表性的阈值,所以有效地提高了故障检测率。该方法的整体思想如下。

给定1组多变量的在线观测矩阵Tn∈Rm×n,m为变量数,n为同一变量的样本数。首先预处理在线观测矩阵,得到Tn的均值向量an:

式中:ln=[1,1,…,1]T∈Rn×1。将在线观测矩阵进行预处理可得Tln:

获得Tln后,设定窗口长度L并在在线观测矩阵中选取L个正常样本数据做局部数据矩阵:

式中:T(in')为in'时刻采集的正常样本矩阵;TnL为n时刻的局部数据矩阵;TLn有L个正常样本,以in'时刻采集的正常样本T(in')为基准,T(in'-L+1)为相较T(in')最早采集到的正常样本。当获取第n+1时刻的样本数据后,n+1 时刻的局部数据矩阵即为

公共部分的局部数据矩阵通过观察对比式(14)和式(15)获得

由式(16)可以获得局部数据矩阵中各样本数据的均值向量,为

式中:in=[1,1,…,1]T∈R(L-1)×1。

为方便计算,需定义

这时,可以获得n时刻的局部协方差矩阵RLn:

式中:aLn为n时刻的均值向量:

类似地,定义n+1时刻有

这时,可以获得n+1 时刻的局部协方差矩阵:

对比式(19)和式(22),获取新息矩阵:

计算局部数据矩阵的新息均值和局部正常样本数据的动态阈值:

式中:采样数需满足n>L+2且前L+2个样本数据为正常样本数据;H为阈值系数;n'为n时刻非异常数据的标号;ζLs为没有发生故障的新息均值。

最后,进行故障检测,判断依据如下:

1)当≥时,则有故障发生。

2)当<时,则无故障发生。

3 基于IM-ICA的故障检测方法

基于IM-ICA 的故障检测方法总体思路:首先,采用ICA 算法离线建模,将离线建模获取的解混矩阵W的ICs 从大到小排序,选择前d个ICs作为Wd并计算Wd对应的Bd,即Bd=(WdQ-1)T;然后,将去均值预处理过的在线待检测数据矩阵Xn在主导ICs 方向投影得到重构的在线待检测数据矩阵Sn,将其视为第2节的多变量在线观测矩阵Tn,计算获取新息矩阵和新息矩阵的新息均值;最后,计算新的故障判断机制的动态阈值并进行故障检测。

基于IM-ICA 的故障检测方法的具体步骤如下。

步骤1:对正常训练样本的数据矩阵X进行预处理,预处理划分为标准化和白化这2个步骤。为简化ICA算法,首先标准化处理数据矩阵X:

式中:E(X)代表数据矩阵X的期望。

步骤2:白化处理最先要对标准化X的协方差矩阵进行奇异值分解:

获得白化矩阵:

步骤3:运用式(3)对去均值的X进行白化,运用式(6)求解B矩阵;

步骤4:运用W=BTQ求解解混矩阵W并将其ICs从大到小排序,选择前d个ICs作为Wd并计算Wd对应的Bd,即Bd=(WdQ-1)T。

步骤5:将预处理过的正常训练样本的数据矩阵X在主导ICs方向投影:

步骤6:去均值一步预处理待检测数据矩阵Xf:

步骤7:将去均值的待检测数据矩阵Xf在主导ICs方向投影:

步骤8:将式(31)获得的Sf均视为第2 节的多变量在线观测矩阵Tn,运用式(12)~(24)获取局部数据矩阵的新息均值:

步骤9:计算新的故障判断机制的动态阈值:

式中:H1和H2为不同的阈值系数,在一般情况下,1

步骤10:利用新的故障判断机制进行故障检测。判断依据如下:

若前一样本为故障状态,则设置当前控制限为,当≤时,判断此时无故障发生;

若前一样本为正常状态,则设置当前控制限为,当>时,判断此时有故障发生。

故障判断机制是基于移动窗口协方差矩阵的新息矩阵故障检测方法的核心问题,文成林等[24]运用传统的故障判断机制直接比较统计量与控制限,本文在考虑连续样本相互影响的基础上提出一种故障判断机制。该故障判断机制首先计算当前样本的统计量,若前一样本为故障状态,则设置当前控制限为,这样,当前样本更难被判定为正常状态;若前一样本为正常状态,则设置当前控制限为,这样,当前样本可以利用正常规则被判定为正常状态。通过新的故障判断机制比较统计量与设置后的控制限,能更合理、更准确地获得当前样本的状态,因而可以提高故障检测率。

最后,给出如图2所示的基于IM-ICA 的故障检测方法的实施流程图。

4 TE实验

图2 基于IM-ICA的故障检测方法的实施流程图Fig.2 Implementation flowchart of fault detection method based on IM-ICA

为了验证IM-ICA 算法进行故障检测的可行性和有效性,故障检测过程选用TE 过程。VOGEL等提出实际工业过程中的全厂过程控制过程即田纳西-伊斯曼(Tennessee Eastman,TE)过程。TE 过程被广泛地用于故障检测和诊断、预测控制与优化等研究领域[25-26]。张展博等[27]详细描述了TE过程的实验数据,它具有6 个工况,由41 个测量变量和12个操控变量组成检测变量。500个无故障的样本数据组成故障0 的训练集,960 个带波动的无故障样本数据组成故障0的测试集。故障1至故障21的测试集由160个无故障的样本数据和800个故障样本数据组成。TE 过程中的故障类型如表1所示。

本文实验选取故障0的测试集作为正常训练样本,故障1~21 的测试集作为在线待检测样本。在TE过程中,运用IM-ICA算法进行故障检测,并与经典ICA 算法和ICA 联合指标算法的实验结果对比分析。主导ICs、窗口长度L和阈值系数H1与H2等的选择对故障检测至关重要,本文实验选取27个主导ICs,窗口长度L=10,阈值系数H1=1.6,H2=0.8。因为基于IM-ICA 的故障检测实验刚开始需要启动数据,本文实验的启动数据为18 个,真正的故障检测从第19 个样本开始,所以,只有942个样本的故障检测结果。

表1 TE过程中的故障类型Table 1 Fault description in TE process

为了直观地比较经典ICA算法、ICA的联合指标算法和IM-ICA算法这3种算法的故障检测效果,表2和表3分别列出了3种算法在TE过程中的故障检测率和平均误报率。

TE 过程的各个故障测试集有960 个样本,其中前160个为正常样本,后800个为故障样本。因为选取前18个正常样本为IM-ICA故障检测方法的启动数据,所以,有142个正常样本和800个故障样本。在IM-ICA 故障检测方法中,误报率提升2.35%,仅有3 个正常样本被误报为故障,几乎不影响过程监控效果。同时,所提方法明显提高了故障的有效检测率(故障检测率提升1%,能多检测8 个故障样本)。综合分析,IM-ICA 故障检测方法在受极小误报影响下,能够有效地提高故障检测率。

表2 3种算法在TE过程中的故障监测率Table 2 Fault monitoring rates of three algorithms in TE process %

表3 3种算法在TE过程中的平均误报率Table 3 Average wrong alarm rates of three algorithms in TE process %

为充分说明IM-ICA 算法在故障检测中的优良特性,分别给出故障检测率提升4%的微小故障3和故障检测率提升13.86%的故障19 的实验结果。TE 过程中的故障3 是代表D 的进料温度发生阶跃类型的故障,经典ICA算法、ICA的联合指标算法和IM-ICA 算法对故障3 的故障检测结果分别如图3~5 所示。由图3~5 可知:采用经典ICA 算法和ICA 的联合指标算法完全检测不到故障,具有100%的故障漏报率;当采用IM-ICA 算法时,第640 个样本到第810 个样本(故障3 测试集的第658个故障样本到第828 个故障样本)的部分故障统计量高于控制限,相较经典ICA 算法和ICA 的联合指标算法,IM-ICA 算法有效地降低了故障检测的漏报率。

图3 经典ICA对故障3的监测结果Fig.3 Monitoring results of fault 3 by classic ICA

图4 ICA的联合指标对故障3的检测结果Fig.4 Monitoring results of fault 3 by ICA joint indicators

图5 IM-ICA算法对故障3的检测结果Fig.5 Detection results of fault 3 by IM-ICA algorithm

经典ICA 算法和ICA 的联合指标算法均采用KDE 法获取的静态控制限进行故障检测,而静态控制限无法克服系统存在的细微变化,不能在故障发生的早期实现预警。IM-ICA 算法通过引入新息矩阵获取新息均值和动态阈值,从而获取动态控制限。通过对比图3~5 的故障检测结果可以发现,IM-ICA 算法对故障3 的故障检测效果明显比经典ICA 算法和ICA 的联合指标算法的检测效果好,验证了IM-ICA算法的可行性。

TE过程中的故障19是未知的随机变量类型故障,对比分析经典ICA算法、ICA的联合指标算法和IM-ICA 算法对故障19 的故障检测结果,如图6~8 所示。由图6~8 可知:当采用经典ICA 算法对故障19进行检测时,3个检测指标的故障检测结果各不相同;由于ICA 的联合指标D2a是将经典ICA算法的3个检测指标联合起来进行故障检测,ICA的联合指标D2b是将经典ICA算法的I2和ISPE检测指标联合起来进行故障检测,而经典ICA算法的3个故障检测指标对故障19 的检测结果差异较大,所以,ICA 联合指标的故障检测率也并不高;IMICA 算法从第143 个样本(第1 个故障样本)开始,极大部分故障能被检测到(高于控制限),因此,IM-ICA 算法对故障19 的故障检测效果比经典ICA算法和ICA 的联合指标算法的检测效果好,进一步验证了IM-ICA算法的可行性和优越性。

图6 经典ICA对故障19的监测结果Fig.6 Monitoring results of fault 19 by classic ICA

图7 ICA的联合指标对故障19的监测结果Fig.7 Monitoring results of fault 19 by ICA joint indicators

图8 IM-ICA算法对故障19的检测结果Fig.8 Detection results of fault 19 by IM-ICA algorithm

由此可见,当采用IM-ICA 算法进行故障检测时,若无故障数据,则可以实时更新控制限,实时跟随系统存在的细微变化;若有故障数据出现,则动态阈值为上一时刻的阈值,剔除该故障数据不影响实际控制限,从而有效提高故障检测率。因此,该算法可行且有效。

5 结论

1)针对KDE 方法获取的静态控制限可能不合理以及静态控制限无法跟踪信号动态特性的问题,本文提出了基于新息矩阵的独立成分分析故障检测方法。

2)提出的方法考虑了连续样本的相互影响,结合基于移动窗口协方差矩阵的新息矩阵将ICA故障检测的静态控制限改进为一实时动态控制限,有效提高了故障检测率。

3)通过与经典ICA 算法和ICA 联合指标算法的实验结果对比分析,验证了所提算法的优越性。

4)在基于新息矩阵独立成分分析故障检测方法的基础上,如何进行故障诊断是所提算法需改进的重要方向。

猜你喜欢

新息阈值矩阵
传递函数辨识(21):线性回归系统的递阶递推参数估计
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
M估计的强跟踪SVD-UKF算法在组合导航中的应用
比值遥感蚀变信息提取及阈值确定(插图)
室内表面平均氡析出率阈值探讨
自适应卡尔曼滤波在航空重力异常解算的应用研究
初等行变换与初等列变换并用求逆矩阵
基于新息正交性自适应滤波的惯性/地磁组合导航方法
矩阵