基于JS散度和潜在特征提取的多块PCA故障监测

2022-07-02 02:50熊亚军谢林柏
仪表技术与传感器 2022年5期
关键词:差分变量样本

熊亚军,谢林柏,彭 力

(江南大学物联网工程学院,江苏无锡 214122)

0 引言

随着工业过程的日趋复杂化与大型化,为提高生产效率、降低安全隐患,对工业生产进行过程监控变得越来越重要。由于工业检测技术的飞速发展,包含丰富信息的过程数据变得更容易获取,使得依赖于过程数据的多元统计过程监控(multivariate statistical process monitoring,MSPM)技术[1]也不断发展。其中,PCA是最常见的MSPM方法之一。

采用PCA方法进行故障监测时,原始数据被投影到2个低维子空间并分别建立主元模型和残差模型来进行过程监控。尽管基于传统PCA的过程监控方法得到了广泛应用[2],但是存在着单一模型容易忽略局部信息的弊端。现代工业过程往往包含大量的操作单元和过程变量,当故障发生时,可能只有部分变量发生变化,此时只建立全局模型,可能会淹没局部信息。为了准确地挖掘过程的局部特征,降低大规模工业过程的复杂度,提出了多块监测方法。Z. Q. Ge[3]等提出了一种分布式主元分析(distributed PCA,DPCA)的故障监测方法,沿PCA主成分的不同方向构造子块,将原始特征空间划分为多个子块空间并分别进行监测;K. Ghosh[4]等提出一种基于故障信息的多块监测方法,该方法利用优化算法选择与故障最相关的变量子块,然后分别在子块中建立PCA监测模型,最后通过贝叶斯推断融合所有子块的监测结果。

上述的多块监测方法虽然通过多块建模策略克服了单一模型易忽略局部信息的缺点,但是这些方法并没有深入挖掘数据中潜在的特征信息。传统的多块PCA故障监测方法能够很好地监测到幅值变化较为明显的故障,但是当故障呈现为缓慢、微小变化或者持续振荡形式时,仅仅依靠过程数据的观测值信息进行建模,监测效果并不理想。因此本文考虑从过程数据的观测值信息中提取出累计误差和一阶差分这两种潜在特征信息以提高对不同故障类型的监测效果。

基于上述分析,本文提出一种基于JS散度和潜在特征提取的多块PCA故障监测方法(JS divergence and latent feature extraction based multiblock PCA,JSLFE-MBPCA)。首先,利用JS散度值进行过程变量分块,突出过程局部特征;其次,对划分后的变量块进一步提取累积误差和一阶差分等潜在特征信息,扩展出额外的信息子块;然后,分别建立PCA监测模型对每个信息子块进行监控;最后,利用贝叶斯推断完成子块决策融合得到全局监测结果。通过TE过程的仿真对本文方法进行验证。

1 基本方法

1.1 PCA故障监测

PCA作为最常用的降维方法,通过将高维数据投影到2个低维子空间,并分别建立主元模型和残差模型来进行故障监测。假设经过标准化后的过程变量数据阵为X∈Rn×m(n为样本数量,m为变量个数),将其投影到主元子空间和残差子空间,可分解得到主元成分和残差成分如下:

(1)

(2)

式中:Z为过程变量数据阵X对应的协方差矩阵;Λ为对角阵,其对角线元素为协方差矩阵Z对应的特征值按降序排列。

对新样本x进行监控时,分别在主元子空间和残差子空间构造如下的T2和SPE统计量:

(3)

(4)

式中:Λd为对角矩阵,其对角线元素为前d个主元所对应的特征值;Tlim2和SPElim分别为T2和SPE统计量对应的控制限[5]。

1.2 JS散度

JS散度[6]是一种概率统计方法,它能够定量地度量2个概率分布之间的差异性。本质上,JS散度是KL散度(Kullback-Leibler divergence)[7]的一种变体形式。KL散度可通过如下方式计算得到

(5)

式中:U和V分别是2个已知的概率分布。

对于式(5),当且仅当U=V时取等号。由于KL散度具有非对称性,故无法准确地衡量2个概率分布之间的真实差异,而JS散度通过构造U与V的平均概率分布解决了该问题。U与V之间JS散度的计算公式如下:

(6)

根据式(6)不难看出,DJS(U‖V)=DJS(V‖U),即JS散度满足对称性。此外,JS散度的值域范围是[0,1]。JS散度在对称性和值域范围上都优于KL散度,更适合用来衡量2个概率分布之间的差异性。

2 基于JS散度和潜在特征提取的多块建模方法

本文在提取过程局部信息的基础上,进一步从每个变量块中提取潜在特征信息从而丰富信息的多样性,提高对不同类型故障的监测灵敏度。所采用的多块建模方法如图1所示。

图1 多块建模方法框图

2.1 局部信息提取

通过计算变量之间的JS散度值将具有相同分布特征的变量置于同一子块中,从而突出过程局部特征。对于标准化后的训练集X=[x1,x2,…,xm]∈Rn×m(n为样本数量,m为变量个数),计算变量xi和xj(i=1,2,…,m;j=1,2,…,m)之间的JS散度JSij值,得到JS散度值矩阵DJS∈Rm×n。矩阵DJS中的某个JS散度值越小,表示与之相关的2个变量相似度越高。

为更合理地对变量进行分块,本文采取一种简单的子块划分规则。首先,通过分析矩阵DJS中的JS散度值设定一个划分阈值λ,λ一般根据经验设定,本文中λ取0.7JSM,其中JSM是矩阵DJS中所有JSij值的中值。然后,将矩阵DJS的每个JS散度值与阈值λ进行比较,如果某2个变量之间的JS散度值小于λ,那么将这2个变量置于同一个子块中;反之,如果某2个变量之间的JS散度值大于λ,那么将这2个变量划分到不同的子块中;特殊地,如果某一个变量xi与其他所有变量的JS散度值都大于λ,则需要找到与变量xi之间JS散度值最小的变量xj,将变量xi放入变量xj所在的子块中。按以上规则,训练集X被分为b个变量块

X=[X1,X2,…,Xb]∈Rn×m

(7)

2.2 潜在特征信息提取

在完成过程变量分块后,基于数据的观测值信息从每个变量块中继续提取累积误差和一阶差分等潜在特征信息。

2.2.1 累计误差信息

累计误差信息是通过将一段时间内观测值与标准值的差值累加得到。当故障导致过程变量呈现出微小变化或者缓慢漂移时,累积误差信息可以放大这类变化,提升PCA模型监测该类故障的灵敏度。

假设训练集完成变量划分后得到某一变量块Xb∈Rn×b,因为经过标准化后变量均值为0,那么通过将前T个时刻的样本观测值信息直接相加[8],即可得到累计误差信息子块Xbe∈R(n-T)×b。若x(t)是变量块Xb中t时刻的样本观测值信息,那么t时刻的累计误差信息xe(t)可通过如下公式计算得到:

(8)

2.2.2 一阶差分信息

当某个故障导致相关变量呈现振荡式变化而非普通的幅值变化时,不管是观测值信息还是累计误差信息都不能很好地监测到此类故障[9],而对过程数据进行一阶差分后,能够反映出原始数据观测值的动态变化率。对于振荡型故障,其变化率一般不在正常范围内,故通过提取一阶差分信息进行建模能够有效地检测到此类故障。

假设训练集完成变量划分后得到某一变量块Xb∈Rn×b,通过对每个时刻样本观测值求取一阶差分可得到一阶差分信息子块Xbd∈R(n-2)×b。若x(t)是变量块Xb中t时刻的样本观测值信息,则t时刻的一阶差分信息Xd(t)可通过如下公式计算得到

(9)

式中:x(t-1)为t-1时刻的样本观测值;x(t-2)为t-2时刻的样本观测值。

通过引入前2个时刻的样本观测值,减小了样本中的噪声对监测结果的影响。

通过以上方式对原始变量块Xb提取累计误差和一阶差分这2种潜在特征信息,可以生成2个额外的信息子块Xbe和Xbd,加上原始变量块Xb,每个变量块可扩展成3个信息子块。

2.3 决策融合

经过以上的变量划分和子块扩展后,总共得到了3×b个信息子块,即:

X=[X1,X2,…,X3×b]

(10)

在每一个信息子块中,分别建立PCA模型进行故障监测,并计算2个监控统计量T2和SPE以及各自对应的控制限。

当得到一个新样本xj时,首先按照式(10)将新样本xj构造成3×b个信息子块,然后计算得到3×b组监测统计量T2和SPE的值。最后,为了得到全局监测统计量,采用贝叶斯推断[10]将所有子块的决策进行融合。按照贝叶斯推断理论,对于1个新样本xj,它在某个子块中被判别为故障的条件概率PT2(A|xj)为

(11)

PT2(xj)=PT2(xj|N)PT2(N)+PT2(xj|A)PT2(A)

(12)

式中:PT2(N)和PT2(A)为正常和故障样本的先验概率,一般取值为α和1-α(α为置信度);PT2(xj|N)和PT2(xj|A)为条件概率,分别如式(13)和式(14)所示:

(13)

(14)

鉴于总共有3×b个信息子块,那么经过贝叶斯推断融合后的T2统计量(BICT2)和SPE统计量(BICSPE)可以通过一种加权的形式计算得到:

(15)

(16)

在正常工况下,全局监测统计量BICT2和BICSPE应当低于检测阈值1-α,一旦BICT2或者BICSPE中有1个超过检测阈值1-α,那么视为过程发生了故障。

3 基于JSLFE-MBPCA的故障监测

本文所提算法分为离线建模和在线监测两部分。离线建模阶段确定监测统计量的控制限,在线监测阶段计算对新样本的监测统计量并将其与控制限比较判断故障是否发生。基于JSLFE-MBPCA的故障监测流程如图2所示。

图2 基于JSLFE-MBPCA的故障监测流程图

4 仿真实验

TE过程[11]是田纳西-伊斯曼化学品公司创建的基于真实化工过程的仿真平台,被广泛用于测试复杂工业过程的控制和故障监测模型。本文的仿真实验选取了22个测量变量和11个操作变量(除搅拌速度外)共33个变量进行建模与监测。整个TE数据集包括1个正常工况下的训练集和21个不同故障的测试集,均是由960个观测样本组成。在测试集中,故障都是从第161个样本点引入。

首先,根据训练集计算2个变量之间的JS散度值JSij,得到JS散度值矩阵DJS∈R33×33。经过对JS散度值矩阵DJS的分析计算得到JSij中值为0.114,则变量块划分阈值λ设置为0.08。然后,根据提出的划分规则,33个过程变量被划分到8个子块中,划分结果如表1所示。

表1 变量块划分结果

在完成过程变量划分后,继续对每一个变量块进行累计误差信息和一阶差分信息提取。以首个变量块X1∈R960×2(含变量1、25)为例进行潜在特征提取(在本次仿真中T取5)。首先,通过累加前T个时刻的观测值信息,得到累计误差信息子块X1e∈R955×2;然

后,按照一阶差分计算公式,可得到一阶差分信息子块X1d∈R958×2;而变量块X1∈R960×2同时也是观测值信息子块。由于计算累积误差信息时的宽度T取值为5,故在进行故障监测时会损失前5个样本,为了统一3个信息子块中样本的数量,X1中的前5个样本以及X1d中的前3个样本被舍弃。因此由变量块X1∈R960×2进行潜在特征提取得到的观测值、累计误差和一阶差分信息子块分别为X1∈R955×2,X1e∈R955×2和X1d∈R955×2。对其他7个变量块,也按照同样的方式进行子块扩展,最终得到了24个特征信息子块。

在完成变量分块和子块扩展后,分别建立PCA模型对每一个信息子块进行监控。对于每一个新的测试样本,首先计算出新样本在每个信息子块中的故障统计量T2和SPE,然后采用贝叶斯推断将所有子块的监测结果融合得到全局监测统计量BICT2和BICSPE。

表2给出了传统PCA、文献[3]中的DPCA、文献[12]中的CMBPCA、文献[13]中的WDSMBPCA以及本文方法这5种方法对于TE过程不同故障(不包括故障3、9和15)的监测结果。故障3、9和15不参与对比实验,因为这3种故障的变化很微小,基本上所有数据驱动的监测方法对这3种故障的监测效果都不佳。

在本文的对比实验中,5种方法都遵循CPV>90%的主元选取原则并且每种方法的置信度都设为0.99。从表2可以看出,本文所提的JSLFE-MBPCA方法对于绝大多数故障都取得了最佳的监测结果,尤其对于故障11、16、19和20的监测效果更加显著。从整体来看,本文方法的平均漏报率仅为7%,优于其他方法(PCA、DPCA、CMBPCA和WDSMBPCA的漏报率分别为27%、16%、16%和11%)。实验结果表明,经过局部信息和潜在特征信息的双重提取,提高了整个监控模型对不同类型故障的监测灵敏度。为说明本文算法的优越性,下面详细分析了故障16和故障19的监测结果。图3和图4分别展示了对这两种故障的监测结果(各图中的虚线为计算得到的故障控制限)。

表2 各方法对TE过程不同故障的漏报率

故障16是一种未知故障,图3展示了传统PCA和本文算法对此故障的监测结果。

(a)PCA的T2监测结果

从图3(a)、图3(b)中可以看出,传统PCA对此故障的监测效果并不理想。图3(c)~图3(f)展示了本文的JSLFE-MBPCA方法以及其中最优监测子块17对故障16的监测结果,可以看出本文的方法取得了不错的监测效果。子块17是24个信息子块中监测故障16的最优子块,它是由表1中变量块6(含变量18、19和31)扩展生成的累计误差信息子块。图3(g)、图3(h)显示故障16导致变量19表现为微小的幅值波动,通过对其观测值信息进行累计误差计算,故障样本的幅值波动更加明显,从而提高了对这种微小故障的监测灵敏度。

故障19也是一种未知故障,图4展示了传统PCA和本文方法对此故障的监测结果。从图4(a)~图4(d)可以看出传统PCA并不能很好地识别此类故障,而本文方法取得了明显优于传统PCA的监测效果,BICSPE统计量显示本文方法对故障19的漏报率仅为13%。图4(e)、图4(f)展示了最优监测子块21对故障19的监测结果,子块21是由表1中变量块7(含变量7、13、20和27)扩展生成的一阶差分信息子块。由图4(g)、图4(h)可知,故障19导致变量27出现持续的振荡,通过对变量27的观测值进行一阶差分计算,发现故障样本的变化率远高于正常样本,从而更有利于检测到这种持续振荡型的故障。

(a)PCA的T2监测结果

5 结论

本文提出一种基于JS散度和潜在特征提取的多块PCA故障监测方法,利用JS散度值对过程变量进行分块,并对每个变量块进一步提取累积误差和一阶差分等潜在特征信息进行子块扩展。所提方法在提取过程局部信息的基础上,进一步挖掘过程数据中潜在的特征信息。在TE过程上的仿真证明了本文算法的有效性,相比于现有的一些多块监测方法取得了更好的监测效果。本文所提方法是一种完全基于数据驱动的故障监测方法,在进一步研究中可以考虑将其与先验知识或者专家经验进行结合。

猜你喜欢
差分变量样本
一种基于局部平均有限差分的黑盒对抗攻击方法
一类分数阶q-差分方程正解的存在性与不存在性(英文)
抓住不变量解题
用样本估计总体复习点拨
一个求非线性差分方程所有多项式解的算法(英)
规划·样本
基于差分隐私的数据匿名化隐私保护方法
随机微分方程的样本Lyapunov二次型估计
分离变量法:常见的通性通法
“官员写作”的四个样本