基于动态内并行潜结构投影的故障检测方法
2023-08-25孔祥玉陈雅琳罗家宇杨治艳
孔祥玉,陈雅琳,2,罗家宇,杨治艳
(1.火箭军工程大学 导弹工程学院,陕西 西安 710025;2.航空工业成都凯天电子股份有限公司,四川 成都 610091;3.工业和信息化部电子第五研究所,广东 广州 511370)
工业过程较复杂,难以建立精确的机理模型、且产生的数据形式多样,如何利用工业过程中积累的海量数据辅助和提升过程数据分析是当前的研究热点.基于数据驱动的多元统计建模方法在过程监测领域中得到了广泛应用[1-3],常用的建模算法有主成分分析[4-6](principal component analysis,PCA)、独立成分分析[7-8](independent component analysis,ICA)、偏最小二乘分析[9-10](partial least squares,PLS)等[11].
与其他数据驱动的建模方法不同,PLS方法通过迭代提取过程变量和质量变量相关性最大的潜在变量空间,能够有效地监测质量相关故障.Li等[12]研究发现,PLS引导的斜交分解方式没有按照输入X的方差降序提取潜变量,容易出现误报警的现象.Zhou等[13]提出全潜结构投影(total PLS, TPLS)的方法.Yin等[14]提出改进潜结构投影(modified of PLS, MPLS)的方法,采用奇异值(singular value decomposition, SVD)分解代替迭代过程,对输入进行正交分解.Peng等[15]提出高效潜结构(efficient PLS,EPLS)的方法.Qin等[16]提出并行潜结构投影(concurrent PLS,CPLS)的方法.
上述方法不能提取过程变量和质量变量之间的动态变化.近年来,诸多学者提出动态扩展算法.常用的动态扩展方法[17]有数据预处理和模型修正方法.基于数据预处理的方法,Ricker[18]结合有限脉冲响应(finite impulse response, FIR)矩阵格式,提出FIR-PLS动态模型.Ku等[19]提出动态主成分分析(dynamic PCA,DPCA)方法等.Kaspar等[20]构建外静、内动的DPLS模型修正方法.Lakshminarayanan等[21]提出改进内部模型的算法.上述模型未克服内、外部模型不一致的缺点,Li等[22]提出外部模型与输入输出分数之间的内部模型一致的DPLS算法,结合动态潜变量模型(dynamic latent variable,DLV)将其扩展至DTPLS.Dong等[23]提出内、外模型一致的动态内潜结构投影方法(dynamic inner projection to latent structures,DiPLS),给出动态内部模型和外部模型的明确解释.Dong等[24]提出DiPCA算法来捕获动态变化的数据,又提出动态内典型相关分析(Di canonical correlation analysis,DiCCA)算法[25].
DiPLS模型[26]仅提取可预测输入数据中与输出相关的动态特征,忽略了不可预测输入数据中与输出有关的变化.Kong等[27]提出考虑时延的在线监测动态并发PLS(online monitoring dynamic PLS,OMD-PLS)模型,该模型虽然提供了较全面的故障检测方法,但仅考虑了PLS外部模型的动态优化,在实际工业过程中会产生较多的误报情况.为了保证在缺失部分时段质量数据时,能够较好地提取质量相关的动态信息,给出内外模型的明确描述,本文将时延的质量数据引入DiPLS的目标函数中,提出在线监测动态内潜结构投影(online monitoring-DiPLS,OM-DiPLS)模型.结合CPLS算法,将OM-DiPLS模型进行扩展,提出在线监测动态内并行潜结构投影模型(OM-Di CPLS)模型.对自相关的得分采用向量自回归模型分离动态、静态信息,构造合适的统计量进行故障检测,建立完整的故障检测流程.所提方法提供了较完整的空间划分方式,考虑了时滞的输出变量数据,提高了质量相关故障的检测效果.
1 DiPLS模型
Dong等[23]提出内部、外部关系一致的动态PLS模型,即DiPLS模型,推导该模型的几何性质,给出详细的证明过程.该模型最大限度地提高了输入得分与输出得分之间的协方差,得到的动态模型使得输出与潜变量动态相关,潜变量是输入变量向低维子空间的投影.动态潜在变量是在输出数据的监督下提取的,保证了外部模型的导出,提高了模型的可解释性.
设输入矩阵X包含n次采样m个过程变量,输出矩阵Y包含n次采样p个质量变量,如下所示:
假定X的潜在变量可以表示为t=Xw,Y的潜在变量可以表示为u=Yq,其中w和q均为权重向量.由于PLS提取潜变量的原则是包含最多的变异信息和最大化相关程度,则潜变量的选取问题可以转化为求下式的最优解:
通过结合特征值分解对上述目标函数求解,可以推导得到PLS的外部模型:
式中:T、U为X、Y对应的得分矩阵,P、Q为X、Y对应的负载矩阵,E、F为X、Y对应的残差矩阵.若B为回归系数矩阵,则表示潜变量之间关系的内部模型可以表示为U=TB.
传统的PLS方法不适用于动态数据的建模过程.将当前时刻的输出潜变量与输入潜变量之间动态关系的模型构造如下:
式中:rk为当前时刻的残差;βi为输入潜变量t的权重系数,i=0,1,···,s,其中s为动态模型的阶数,由最小化信息准则(Akaike information criterion,AIC)确定.线性PLS的动态内部模型可以被预测为
式中:权重系数矩阵β=[β0,β1,···,βs]T,β⊗w为克罗内克积.为了使构造的外部模型与内部模型保持一致,可以寻找uk与uˆk之间相关程度(或协方差)的最大化,DiPLS的目标函数为
结合文献[19]的方法,将输入输出矩阵进行扩充,可得
结合式(8)~(10),可以将目标函数重新表述为
2 OM-DiCPLS模型及其过程监测策略
2.1 OM-DiPLS模型
为了解决实际工业过程中的质量数据相较于过程数据存在滞后的问题,对DiPLS算法进行改进,提出在线监测DiPLS模型.该模型通过引入t个时延的质量数据,提高了对故障的检测能力.
令Ys=[Yt,Yt+1,···,Ys-1]∈R(n-s+1)×(s-t)p,并代替Yg,则新的目标函数为
采用拉格朗日乘子法,优化该目标函数:
分别关于q、β和w求 偏导并令等式为零,得到下式:
根据克罗内克积的性质,可得
将式(14)~(16)分别左乘qT、wT和βT,结合式(14)~(17),可得目标函数J的最大值:
因此可以得到
从式(19)~(21)可以看出,q、w和β无法直接计算得到.将q、w和β初始化为单位向量,循环迭代直到参数收敛,得到的3个值能够使目标函数取得最大值,避免了局部最值的产生.以上为OM-DiPLS外部模型的建立过程.
从外部模型可以得到输入输出的动态得分,计算公式为ti=Xiw∈Rn×1,us=Ysq∈R(n-s+1)×1.类似于式(6),为了捕捉ti与us之间的动态变化,可以建立动态内部预测模型:=β0ts+β1ts-1+···+βst0.
若ti是自相关的,则可以通过最小二乘法进行参数估计,得到
式中:Ts=[ts,ts-1,···,t0].为了方便从输入扩展矩阵Zs直 接计算输出的得分矩阵, 引入系数矩阵Rg:
式中:βf(i)为Rf(i)对应的权重,f=1,2,···,s.的求解公式为=ZsRg.
综上所述,构建的OM-DiPLS模´型如下:
式中:T、为Zs、Ys对应的得分矩阵,P、Q为相应的负载矩阵,、为相应的残差矩阵.
2.2 OM-DiCPLS模型
OM-DiPLS模型仅关注从输入数据中预测的与输出数据相关的变化,忽视了不可预测的输出数据存在与过程和质量扰动有关的变化.将OMDiPLS模型扩展为在线监测动态内并行潜结构投影(OM-DiCPLS)模型.该模型从OM-DiPLS算法中提取的与可预测输出相关的动态得分,形成联合输入、输出的协变子空间(covariation subspace, CVS),记为SCVS.将输出残差用PCA分解为输出主子空间(output principal subspace,OPS,记为SOPS)和输出残差子空间(outp ut residualsubspace,ORS,记为SORS).将输入残差用PCA分解为输入主子空间(input principal subspace,IPS,记为SIPS)和输入残差子空间(input residual subspace,IRS,记为SIRS).具体步骤如下.
在式(25)两边右乘VcD-c1,可以得到Uc的 表达式:
此时,得到的OM-DiCPLS模型如下:
结合文献[26]的方法,基于OM-DiCPLS算法的回归建模步骤如下.
1) 数据预处理.将给定的训练集输入输出数据进行归一化处理,结合式(8)~(10)进行数据扩充,得到和.
计算wj并归一化,进行收敛性判定:
计算权重向量并归一化:
计算第j个潜在分量的得分向量tj=Xswj;输出潜变量为us(j)=Ys(j)qj.
5) 更新Xs.令滞后样本,则分块数据的得分为负载为矩阵压缩:;循环迭代,直到f>s;最终得到:返回步骤2),循环迭代直到j>A,A为主元个数;用式(25)将由OM-DiPLS算法得到的可预测输出值进行SVD分解,得到Uc、Qc;用式(27)将输出残差进行PCA分解,得到Ty、;用式(28)将输入残差进行PCA分解,得到Tx、.
2.3 基于OM-DiCPLS模型的过程监测技术
Qin等[28]指出潜在变量在数据中包含了较多的动态特性,须通过建立动态模型,体现内部的自相关特性.由于工业过程通常在一个固定点下运行,可以假设当前时刻的得分向量tk是准平稳过程,此时可以用平稳的时间序列模型(即向量自回归(vector autoregressive,VAR)模型) 描述tk,如下所示:
Q统计量作为衡量样本在残差空间中投影变化的指标,可以使用Q统计量对输入输出残差子空间、进行监测,如下所示:
当统计指标超过控制限时,表明故障发生,给出相应控制限的计算公式.对于T2统计量,控制限由主元个数A、 样本数n及置信度α确定,且服从F分布,如下所示:
对于Q统计量,控制限由样本均值µ和样本方差S确定,且服从χ2分布,如下所示:
基于OM-DiCPLS模型构建的统计指标及相应的控制限如表1所示.
表1 OM-DiCPLS模型的统计指标Tab.1 Statistical indicators of OM-DiCPLS model
对于给定的测试集输入Xce、输出Yce,须经离线建模、在线监测以及故障检测3个阶段,才能对测试集实现在线故障检测.
1) 离线建模阶段.采用表1的OM-DiCPLS算法步骤建立完整的模型,得到模型参数.由训练集经VAR建模,结合式(33)、(34)计算模型的控制限:
2) 在线监测阶段.将Xce、Yce进行归一化预处理,得到标准化的输入输出Xnew、Ynew,构建新的增广数据矩阵Zs_new、Ys_new.计算共变子空间的新动态得分矩阵Uc_new=Zs_newRgc,由式(31)计算统计量计算新的输入残差矩阵计算输入主子空间新的得分矩阵由式(31)计算统计量计算新的输出残差矩阵计算输入主子空间新的得分矩阵Ty_new=Ys_newPy,由式(31)计算统计量由式(32)计算新的输入残差统计量和新的输出残差统计量
3) 故障检测阶段.将控制限与新的统计量进行比较,判断故障发生的类型.
当<时,表明发生了质量相关的故障.当<时,表明发生了质量无关但过程相关的故障.当<时,表明发生了质量无关的不可预测故障.当<或<时,表明数据采集时存在噪声或其他干扰.
3 田纳西-伊斯曼过程实验仿真
1993年美国化学公司的Downs和Vogel基于真实的化学过程开发了仿真平台,即田纳西-伊斯曼过程(Tennessee-Eastman process,TEP).TEP中基于气液平衡、物料平衡、能量平衡等平衡方程式,建立30个微分方程和148个代数方程.实际工业过程中方程的数目比仿真平台所有模型方程的总和多.这是由于实际工业过程各部分间耦合严重,难以建模,只能通过优化部分分母、平方根和对数等参数,使得模型具有更加良好的性能[29-32].为了确保TEP的模型具有真实工业过程的动态行为,Downs和Vogel采用线性特征值分析方法求解系统的最快模态;因此,TEP是包含快速和缓慢变化的动态复杂过程,被广泛应用于动态类算法的试验验证[33-34].
TE仿真平台可以获得52个变量,其中有41个过程变量和11个操纵变量.同时,可以模拟21种故障类型,其中有15种已知故障和6种未知故障.该平台通过人为设置不同的故障,相应生成不同的故障样本,样本集中包含了160个正常样本和800个故障样本.当平台正常运行时,可以获得正常样本.正常样本中通常包含了500个样本,对TEP详细的描述可以参见文献[35].将已知故障进行分类,分为质量相关故障(1,2,5~8,10,12,13)和质量无关故障(3,4,9,11,14,15).在质量相关故障的检测实验中,常用实际检测检测到的故障样本数占故障样本数的百分比,即有效故障检测率(fault detection rate, FDR)作为衡量算法有效性的指标.在质量无关故障的检测实验中,将实际检测到的异常样本占故障样本总数的百分比,即误报率(false alarm rates, FAR)作为衡量算法有效性的标准.
在实验仿真中,选取22个过程变量 XMEAS(1~22)和11个操纵变量XMV(1~11)作为输入变量,选取5个输出变量:XMEAS(37~41).通过二维交叉验证,求取最优的A=7,s=6.为了验证所提算法的故障检测性能,选取的比较对象为OMDCPLS和DTPLS算法[18].OM-DCPLS模型的空间划分方式与OM-DiCPLS一致.DTPLS算法将输入空间分解成4个空间:质量相关的动态空间SD、质量无关的动态空间SWD、质量无关的静态空间SWG和残差空间SDT.各子空间对应的统计量为、、和Qs_new.将输出空间分解为可预测的动态输出空间和残差空间.通过交叉验证求取DTPLS的最优参数为ADT=5,sDT=4,OMDC-PLS的最优参数为AOMDC=6,sOMDC=4.分析2种模型可知,DTPLS模型分解得到的质量相关的动态空间与OM-DiCPLS和OMDC-PLS模型得到的质量相关的可预测空间都可以描述为动态的质量相关空间;DTPLS模型分解得到的质量无关的静态空间与OM-DiCPLS和OMDC-PLS模型得到的输入主子空间都可以描述为静态的质量无关空间,故二者可以作为比较的对象.相较于DTPLS和OMDC-PLS算法,本文方法提供了更合理的空间划分方式,也更关注输入数据中存在的不可预测的信息,使得残差空间的监控更合理.
DTPLS算法和OM-DiCPLS算法关于质量相关故障的检测实验结果如表2所示,用加粗的字体标记较好的检测结果.在质量相关的动态子空间,对于阶跃故障(1, 2, 6),利用3种算法均能够较好地检测到质量相关故障的发生,有效故障检测率大于99%.对于随机变化的供料浓度故障(8)和缓慢漂移的故障(13),DTPLS检测效果不如OM-DiCPLS和OMDC-PLS,但3种算法的故障检测率大于92%.对于反映冷却水温度变化的阶跃故障(5, 7),相较于其他2种算法,OM-DiCPLS的故障检测效果较差,这可能是因为水温变化受反应器的级联控制影响.在质量无关的静态子空间中,3种算法对故障(1, 2, 6~8, 13)的监测效果较理想,能够检测到90%的故障.对于故障(5)和供料温度变化的故障(10),DTPLS和OM-DiCPLS的故障检测效果较一般,且检测结果较相近,而OMDC-PLS算法的故障检测率分别较其他2种方法提高了将近10%和18%.对于方差随机增大的故障(12),OM-DiCPLS和OMDC-PLS的检测效果提高了约8%.输入残差子空间主要用来监测噪声的干扰情况.从表2可以看出,OM-DiCPLS算法经过PCA分解后得到的输入残差中包含较少的质量相关信息,更适合Q统计量的监测,故障检测率均有一定幅度的提升.OM-DiCPLS相较于OMDC-PLS,能够更好地提取出数据间的动态相关性,使得输出主子空间和输出残差子空间中仅包含静态的信息,更适合统计量的监测,实现较好的故障检测效果.
表2 质量相关故障检测率Tab.2 Detection rates of quality-related fault%
质量相关故障(12)的监测效果如图1所示.给出测试集正常样本的局部监测结果放大图.从图1可以看出,OM-DiCPLS和OMDC-PLS算法的质量相关动态子空间能够较好地建立正常数据的模型,使得测试集的前160个正常样本能够较好地维持在控制限以下,对测试集的故障样本有更好的监测效果.DTPLS算法存在少量样本超出控制限的现象.出现这种现象的原因一方面是置信度α选取为0.99,另一方面可能是DTPLS在建模阶段提取的动态特征不够彻底,构建的模型不够准确.在质量无关的静态子空间,3种算法对正常样本都有较好的建模效果.在质量相关的动态子空间中,与DTPLS算法相比,OM-DiCPLS和OMDC-PLS检测到更多的故障样本.输入主子空间又称为质量无关静态子空间.对于质量相关故障而言,该空间不应检测到故障的发生.从图1可知,利用3种方法均能够监测到大量误报警的情况.这可能是因为数据中包含了大量与质量无关、但与过程相关的信息.在输入残差子空间和输出残差子空间中,相较于OMDC-PLS方法,较小变化的噪声或其他干扰能够更容易超过OM-DiCPLS的控制限,这说明Q统计量能够实现对残差空间的在线监测.
如图2所示为OM-DiCPLS对故障(2)的监测效果图.可以看出,OM-DiCPLS具有CPLS方法的优势:对于呈现阶跃变化的质量相关故障,在阶跃变化发生后,统计量先上升后下降,而与输入相关的变异性指标较高.这说明TEP中的反馈控制器可以减少部分故障的影响,使质量变量趋于正常状态,但是没有完全回归到正常状态.
图2 OM-DiCPLS方法对故障(2)的监测效果Fig.2 Monitoring effect of OM-DiCPLS method for fault (2)
3种算法关于质量无关故障的检测实验结果如表3所示,用加粗的字体标记检测结果较好的值.在质量相关的动态子空间中,对于质量无关的故障(3, 4, 9, 11, 15),应对输出无影响,不应检测到故障的发生.在实际在线监测过程中,却能发现少量的故障,此时认为发生了误报警情况.从表3可以看出,本文算法在质量相关的动态子空间中对质量无关故障有更少的误报警情况,误报警率分别降低了6%~17%.这是因为通过对得分进行VAR建模,将动态信息与静态信息分离,通过对静态信息的监测能够更好地反映数据的变化情况.在输入残差子空间中,利用3种方法能够较好地监测到阶跃变化的故障(4)的噪声干扰,故障检测率大于95%.对于反应供料温度变化的微小变化故障(3, 9, 15),利用OM-DiCPLS能够较好地监测到噪声干扰,故障检测率比DTPLS提高了约92%,比OMDC-PLS提高了约97%.对于反应冷却水内部温度的随机故障(11),3种算法的监测效果相差不大,但利用OM-DiCPLS能够监测到所有的噪声.将质量无关的不可预测输出值通过PCA分解得到输出主子空间与输出残差空间中不包含质量相关的动态信息,因此故障检测率提高了约40%.通过对得分进行VAR建模,剔除了数据间的自相关变化,能够更加真实地反映数据的变化,因此可以实现较好的故障检测效果.
表3 质量无关故障的误报率Tab.3 False alarm rates of quality-unrelated fault%
反映冷却水内部温度的阶跃故障(4)的监测效果如图3所示.从图3可知,在质量相关的动态子空间中,DTPLS算法对所有样本的监测都存在较多误报警的情况,OMDC-PLS在200~350个样本之前发生较多的误报警情况,而OM-DiCPLS算法仅对故障样本存在少量误报警的情况,能够快速地回到控制限以下,故采用VAR监测的OM-DiCPLS算法对质量无关故障的建模效果优于DTPLS和OMDC-PLS.在前160个正常样本监测阶段,DTPLS存在较多样本超出控制限的现象.OMDC-PLS尽管在第40个正常样本附近出现了越过控制限的情况,但能够立即回到控制限下方.OM-DiCPLS的特征提取能力和建模效果最好,在正常样本时未发生越过控制限的情况.对于质量无关的故障而言,在质量无关的静态子空间中,故障检测率越高越好.从图3可知,OM-DiCPLS不能很好地监测到故障的发生.这可能是数据中包含了较多与质量无关但与过程相关的信息.在输入残差空间中,3种算法都对噪声较敏感,能够很好地监测到噪声干扰的存在.在输出主子空间和输出残差子空间中,OMDC-PLS在前160个正常样本监测阶段即未发生故障时,误报警情况更少.OM-DiCPLS虽然在故障发生后具有较好的故障检测效果,但在故障发生前对正常样本有更多的误报警情况.可能的原因如下:引入的时滞质量数据导致经过动态特征提取后的中包含轻微的偏差,使得对不可预测输出值进行PCA分解后,在线监测的统计量对轻微的偏差更敏感.
图3 质量无关故障(4)的监测效果Fig.3 Monitoring effect of quality-unrelated fault (4)
综上所述,相较于DTPLS和OMDC-PLS,OMDiCPLS算法更适合构建时滞过程数据与时滞质量数据之间的动态模型,对于质量相关故障能够维持较好的监测效果.利用VAR模型得到的统计指标能够分离动、静态信息,使得质量无关故障保持较低的误报率.较完整的空间划分方式使得残差主子空间能够更好地监测微小变化的噪声故障.
4 结 语
本文提出的OM-DiCPLS算法模型关注了不可预测的输入输出数据中存在的扰动信息,考虑了输入输出变量,提供了较完整的空间划分方式,能够更好地适用于存在时滞数据的在线监测.与DTPLS和OMDC-PLS算法模型相比,OMDiCPLS算法模型有更好的质量相关故障检测效果.通过对自相关的得分进行VAR建模后再开展统计指标监测,能够减少质量无关故障的误报警情况.
尽管本文所提的OM-DiCPLS算法成功应用于动态过程的故障检测中,但实际工业过程受周围环境的影响,往往具有时变特性,如何实现模型的自适应更新是亟须解决的问题.将现有方法进行改进并应用于非高斯、多模态、非平稳等其他复杂工业特性中,是未来研究的方向.