摘要
对于大型复杂工业过程, 因其结构复杂, 过程变量往往呈现混合相关性, 单一模型无法精确表征变量之间的混合相关性, 导致故障检测中存在大量漏报或误报. 针对该问题, 本文提出一种双空间特征自适应融合的故障检测方法. 首先, 采用分层级联特征提取策略, 分别在原始数据空间和残差核空间提取高斯线性特征和非高斯非线性特征. 其次, 采用贝叶斯推理将不同空间的监测统计指标转换为故障概率, 并设计自适应概率加权策略, 进而构造总体概率统计指标以监测过程运行状态. 最后, 通过数值仿真和田纳西–伊仕曼过程, 验证所提算法的可行性和有效性.
Abstract
Due to the complex structure of the large complex industrial processes, the process variables often exhibit hybrid correlations. A single model cannot accurately represent the hybrid correlations between variables, resulting in a large number of missed alarms or false alarms in the fault detection. To address this problem, a fault detection method with adaptive fusion of dual-space features is proposed. Firstly, the Gaussian linear features and non-Gaussian nonlinear features are extracted in the original data space and the residual kernel space, respectively, using a hierarchical feature extraction strategy. Then, the Bayesian inference is utilized to convert the monitoring statistics from different spaces into failure probabilities, and an adaptive probabilistic weighting strategy is designed to construct the total probabilistic statistical indices for monitoring the process operation status. Finally, several experiments on a numerical simulation and the Tennessee Eastman benchmark process are presented to demonstrate the feasibility and effectiveness of the proposed method.
1 引言
为满足市场需求,现代工业过程正朝着大规模、高集成化的方向发展. 这种发展趋势导致过程故障复杂多样,如何保障系统的安全稳定运行成为需要迫切解决的问题 [1-2],因此,近年来故障检测和诊断得到了诸多学者的青睐. 得益于传感器、数据采集和存储技术的迅猛发展,工业过程中的大量过程数据得以收集、存储,因此,基于数据驱动的故障检测方法成了近些年的研究热点 [3-4],其中多元统计分析的故障检测是数据驱动方法的重要分支,主要包括主成分分析(principle component analysis,PCA)[5-6]、偏最小二乘(Partial least squares,PLS)[7-8]、独立成分分析(independent component analysis,ICA)[9-10] 及规范变量分析(canonical variable analysis,CVA)[11] 等.
赵帅等 [12] 采用互信息衡量主元与质量变量之间的相关关系,提出一种基于加权互信息主元分析算法的质量相关故障检测. SchÖlkopf 等 [13] 提出了核主成分分析(Kernel PCA,KPCA)模型,在高维特征空间实施PCA故障检测,解决了非线性系统的故障检测问题. 郭大权等 [14] 针对变量多重相关性问题,分块建立了PCA模型. Fan等 [15] 针对工业过程中普遍存在的数据缺失问题,提出了一种用于缺失数据插补的快速增量非线性矩阵方法,使得模型即使在数据缺失的情况下,依然具有稳定的监测性能. 齐咏生等 [16] 在KPCA的基础上,进一步提出核熵成分分析(Kernel entropy component analysis,KECA)模型. 彭开香等 [17] 在 KECA的基础上,融合了典型相关分析(canonical correlation analysis,CCA)的思想,提出一种核典型相关–熵成分分析的质量相关故障检测方法,并在带钢热连轧工业过程数据中验证了模型.
考虑到工业过程中过程变量之间可能同时存在线性和非线性关系,单一模型特征提取能力不足,Deng 等 [18] 提出一种深度主成分分析(deep PCA,DePCA)模型,设计深层特征挖掘策略提高故障检测性能. Jiang等 [19] 提出了并行PCA-KPCA模型,该模型结合了随机算法和遗传算法,分别针对线性变量和非线性变量实施故障检测.
对于大型复杂工业过程,观测数据往往具有混合相关性,即观测数据中线性与非线性、高斯与非高斯等多种特性并存 [20] . 在实际应用中选择合适的故障检测模型至关重要. 传统的故障检测方法通常基于先验知识来判断系统属于线性或非线性,以及过程数据是否符合高斯分布. 但在实际生产过程中,该先验知识是难以准确获取的,这直接导致选择的模型可能并不符合实际情况,从而降低了故障检测性能. 前述方法均未能同时兼顾线性与非线性、高斯与非高斯. 针对这种具有混合相关性的复杂过程,本文提出一种双空间特征自适应融合的故障检测方法(dual-space PCA Kernel independent component analysis,DsPCA-KICA),该方法的主要创新点和贡献包括几下几点:
1)针对过程变量的混合相关性,DsPCA-KICA 方法兼顾过程数据的多种特性,并充分利用过程数据的高阶统计特性,构建分层级联特征提取模型深入挖掘过程数据中的隐藏特征;
2)采用贝叶斯推理将各层统计量转换为后验故障概率,并融合各层统计量形成总体概率统计指标,以监测复杂过程的运行状态;
3)设计自适应概率加权策略,将历史样本信息融入当前样本统计指标构造中,更准确地监测系统状态.
2 传统多元统计分析方法
2.1 基于PCA的过程监测方法
PCA通常用来处理高斯分布的线性过程 [21],考虑一组正常工况下已标准化的观测样本X ∈,其中n和m分别表示样本个数和变量个数,对X的协方差矩阵进行特征值分解,即
(1)
其中通过累计方差贡献率确定主元个数A,并将特征向量矩阵划分为P = [Ppc Pres]. 对于任意给定样本均可被分解为
(2)
(3)
(4)
2.2 基于KICA的过程监测方法
KICA通常用来处理非高斯非线性过程 [22],其核心思想是将非线性样本X通过非线性转换ϕ(·)映射到高维线性空间,由于ϕ(·)难以显式表示,引入核函数为
(5)
其中c为核参数. 对核矩阵K进行中心化和缩放,即
(6)
(7)
式中1n是元素均为 的n维方阵. 对K矩阵进行特征值分解,得到特征值矩阵Λ=diag{λ1,λ2,· · ·,λn}和特征向量矩阵V 后,可将原始数据白化为
(8)
利用白化矩阵,根据非高斯最大化准则,采用FastICA(fast independent component analysis)求得核独立成分S及混解矩阵W为
(9)
(10)
其中C为白化特征空间中的标准化正交矩阵,具体计算推导过程可参考文献 [22] .
3 分层级联特征提取和贝叶斯融合
考虑到复杂过程的混合相关性,为了充分挖掘过程数据中的隐藏信息,本文采用分层级联特征提取和贝叶斯融合的策略,针对高斯线性特征和非高斯非线性特征分层建立特征提取模型,将上层模型的输出作为下层模型的输入; 采用贝叶斯推理将各空间统计量转化为后验故障概率,结合历史样本统计信息,设计自适应概率加权策略构造总体概率统计指标,形成完整的故障检测方案如图1所示.
图1算法整体方案
Fig.1Overall scheme of the algorithm
3.1 高斯线性特征提取
对于正常工况观测样本矩阵X,建立PCA模型将其分解为主元子空间和残差子空间,即
(11)
通常,Hotelling’s T2统计量和平方预测误差(squared prediction error,SPE,本文记作QPCA)统计量被用来检测是否发生异常 [23],对于样本xl,其具体计算公式如下:
(12)
(13)
T2和QPCA统计量的控制限分别为
(14)
(15)
其中:是具有A和n − A个自由度、置信水平为α 的F 分布临界值; 表示自由度为h、置信水平为 α的χ 2分布.
3.2 非高斯非线性特征提取
本节按照第2.2节介绍原理,对第3.1节PCA模型的残差建立KICA模型提取非高斯非线性特征,求得白化特征空间正交矩阵C及混解矩阵W. 对于样本xl,将残差投影到KICA模型,其核独立成分及残差为
(16)
(17)
其中通常采用I2统计量和SPE 统计量(本文记作QKICA)来监测观测数据的异常情况
(18)
(19)
由于数据分布的不确定性,本文采用核密度估计(Kernel density estimation,KDE)[18] 来确定统计量 I2 和QKICA的控制限,分别记作.
3.3 基于贝叶斯推理的自适应概率加权统计指标
为了简化诊断逻辑并整合所有特征层的监测统计信息,采用贝叶斯推理 [24-25] 对各层统计量进行自适应加权融合,构建基于概率的统计指标. 对于PCA线性特征层,样本xl在故障条件CF和正常条件CN下发生的概率分别为
(20)
(21)
其中参数ξ用来降低模型对异常值的敏感性,本文设置为ξ = 0.2. 依据贝叶斯推理, xl在故障条件下的后验概率分别为
(22)
(23)
其中: 先验概率(CF)和(CF)等于显著性水平 1 − α,(CN)和(CN)则等于置信水平α.
同理可得KICA非线性层中,xl在故障条件下的后验概率(CF|xl)和(CF|xl). 为了提高系统故障检测能力,采用自适应加权策略突出故障报警信息,例如,xl在PCA线性层未检测出故障,而在KICA非线性层检测出的系统性变化故障,则应对(CF|xl)予以较大的权值,而对(CF|xl)予以较小的权值. 在加权策略中,为提高系统的鲁棒性,不仅考虑当前样本xl的监测统计,同时兼顾近邻样本的监测统计,对权值设置如下:
(24)
(25)
其中: β = 1 − α,µ 为很小的常数且 0 <µ <1,和表示最靠近样本xl的L个历史样本的平均后验故障概率,具体可表示为
(26)
同理可得和 . 至此,通过对后验故障概率进行加权,可构造统计指标
(27)
(28)
鉴于实际工业过程具有动态性,本文引入指数加权移动平均(exponentially weighted moving average,EWMA)[26]对统计量进行修正,即
(29)
其中γ是遗忘因子,通常设置γ ∈ [0.05,0.25].
综上,采用分层级联特征提取和贝叶斯推理决策,构建两个基于概率的总体概率统计指标进行故障检测,具体实施步骤如下:
1)模型训练.
步骤 1 对正常工况数据X建立PCA模型,得负载矩阵Ppc及特征值矩阵Λpc,并按照式(14)–(15)计算控制限和;
步骤 2 对残差建立 KICA 模型,并按照式(18)–(19)计算I 2和统计量;
步骤 3 采用KDE估计控制限.
2)在线检测.
步骤 1 将在线样本投影到PCA线性特征层,按照式(12)–(13)计算其统计量;
步骤 2 计算残差的核向量,按照式(18)–(19)计算统计量;
步骤 3 按照式(20)–(28)构造统计指标 PT(xnew)和PQ (xnew);
步骤 4 按照式(29)对PT(xnew)和PQ (xnew)进行修正,得到总体概率统计指标(xnew)和 (xnew);
步骤 5 在线监测:
a)如果(xnew)>1 − α,样本xnew发生了系统性故障;
b)如果(xnew)<1−α 且(xnew)>1 − α,样本xnew发生了残差故障;
c)如果(xnew)<1−α 且(xnew)<1 − α,样本xnew为正常运行状态.
4 实验验证
本节通过数值仿真和田纳西–伊仕曼工业过程(Tennessee Eastman process,TEP)来验证所提算法的有效性,将所提算法的检测性能与 KPCA,KICA,DPCA,DICA 及DePCA方法进行对比,采用误报率(false alarm rate,FAR)和检测率(fault detection rate,FDR)作为评价指标,具体计算公式如下:
(30)
(31)
其中:表示将正常样本误判为故障样本的数量,表示正确识别的故障样本数,则分别表示正常样本和故障样本的总数.
在本节后续实验中,DePCA模型的非线性层数默认为2,故将其记作DePCA-N2. 各模型参数设置如下: 对于KPCA,DPCA和DePCA-N2,采用累积方差贡献率确定其主元个数,使前A个主元的累计贡献率大于 85%; 根据文献 [5],高斯核和多项式核参数分别设置为c = 500 m,d0 = 100 m,d1 = 2. 根据文献 [27],DPCA和DICA的动态阶数设置为l = 2. 对于KICA和 DsPCA-KICA,将独立成分个数设置为满足条件λi >0.21 × mean(λ)所有特征值的个数; 采用网格搜索法,设置步长为100,在[1000,5000]区间内搜索最优核参数,结果如图2所示,据此设置核参数c = 3000; 其他参数则根据经验设置为 L = 6,µ= 0.01,γ = 0.2. 此外本文所有故障检测方法均采用 α = 0.95的置信水平.
4.1 数值仿真
按照下列模型 [27] 构造非线性数值仿真:
(32)
其中:为高斯噪声; 非线性函数定义为
按照式(32)生成 1000个正常样本 x = [yT u T],其中500个作为训练集建立模型; 另外500个作为验证集确定控制限. 随后,分别对w1和w2引入故障各生成 500个样本组成测试集,其中前100个为正常样本,后 400个为故障样本,具体故障设置如下:
1)故障1: w1引入幅度为+3的阶跃故障;
2)故障2: w2引入变化率为+0.01的斜坡故障.
不失一般性,对每种故障重复实验500次,将各算法的FDR和FAR平均值记录在表1和表2中,并用粗黑体标记最佳性能.
图2核参数网格搜索结果
Fig.2Grid researching result of kernel parameter c
表1数值仿真实验中平均检测率FDR
Table1Average fault detection rate FDR in numerical simulation
表2数值仿真实验中平均误报率FAR
Table1Average false alarm rate FAR in numerical simulation
由表1可知,DsPCA-KICA对故障1的平均检测率为58.85%和78.04%,相比其他算法均有不同幅度的提高. 相比KICA及DPCA,残差统计量分别提高了 42.11%和45.86%; 相比DePCA-N2,主元统计量的检测率相差不多,但残差空间中分别提高了21.30% 和 2.26%. 由表2可知,DePCA-N2算法的误报率较高,DsPCA-KICA在主元空间的平均误报率相比DePCAN2分别降低了4.29%和3.96%,且均低于显著性水平. 图3展示各方法对故障 1的检测结果,KPCA,KICA,DPCA及DICA均不能连续稳定地检测到故障,DePCA-N2能够检测到大部分故障,但部分正常样本的统计量超过控制限. 而所提DsPCA-KICA可以稳定检测故障,且没有误报警.
为反映不同方法在重复实验中的稳健性,将故障1主元空间统计量的FDR和FAR分布绘制如图4和 5所示. 由图4可知,KPCA,DPCA和DICA大多数实验的FDR位于[0.3,0.8]之间; KICA算法大多数实验的 FDR都集中在[0.2,0.6]之间,极少数实验可以达到0.6 以上; 而所提DsPCA-KICA算法的FDR在[0.5,0.9]内的分布较多. 由图5可知,KPCA,DPCA和DePCA-N2 的FAR在[0.05,0.5]之间的分布明显偏高; KICA和DICA的FAR整体较低,但结合图3,其检测率也较低; 而 DsPCA-KICA大多数FAR均低于0.05,上述分布表明 DsPCA-KICA 在误报率和检测率的稳健性方面均优于其他方法.
图3各算法对故障1的监测结果
Fig.3Monitoring results of each algorithm for fault 1
图4各算法的FDR分布图
Fig.4FDR distribution plots of each algorithm
图5各算法的FAR分布图
Fig.5FAR distribution plots of each algorithm
4.2 TEP仿真
TEP是由Downs和Vogel按照真实化工厂的工业基准开发的一个工业模拟器 [28],是一个典型的非线性动态的复杂特性系统. TEP仿真平台设计了正常工况和 21种故障工况,其中正常工况共包括1460个观测样本,随机选择500个样本作为训练集进行建模,剩余样本验证模型计算相应的控制限,21种故障工况分别记作IDV(1)–IDV(21),每种故障工况下记录960个样本,其中前160个为正常样本,后800个为故障样本. 为了直观展示检测性能,以故障19为例,分别用6种不同方法进行故障检测,结果如图6所示,图中对局部细节进行了放大处理,用紫色箭头和虚线矩形框标识.
为了进一步显示贝叶斯推理中自适应加权策略的作用,将故障19中PCA线性特征层的统计量和KICA 非线性特征层的I2统计量及其对应的权值展示如图7,并将采样时刻1∼400的样本进行局部放大. 图中蓝色线条表示统计量,绿色虚线表示控制限,而橙色线条表示对应的权值,即文中第3.3节中所述和.
由图7可知,单层特征提取都无法连续稳定检测到故障,PCA 线性特征层只能检测到少数的故障,而 KICA非线性层却可以检测到大部分的故障,这意味着残差空间仍包含较多故障信息,对其进一步建模有利于提取更深层的特征. 当某个样本在特定层被检测为故障样本时,那么在构造概率统计指标时,该层被赋予较大的权值; 否则,赋予较小的权值. 以第253个样本为例,从图中可以看出其高斯线性层的T2统计量为36.2805,且低于控制限,所以其对应的权值 = 0.01,而非高斯非线性层的I2统计量为64.2416,高于控制限,且最近邻的L个样本(即样本253 − L至样本 252)的统计量平均值也高于控制限,所以其对应的权值 = 100. 值得注意的是,并非只要当前样本的统计量高于控制限就对其赋予较大的权值,由图7中可以看出,在样本150之前同样存在某些样本的统计量高于控制限,但其权值却为 0.01,这是因为其最近邻的L个样本的统计量平均值低于控制限,这样可以有效避免异常值对监测过程的影响,有利于降低算法的误报率.
图6各算法对故障19的监测结果
Fig.6Monitoring results of each algorithm for IDV (19)
结合图6(f)与图7可知,单层特征提取都无法连续稳定地检测到故障,且非线性层存在部分误报警,但经过自适应加权融合后不仅可以稳定检测到故障且大大降低了误报,这表明对不同特征层的统计量进行自适应加权融合可以有效提升故障检测性能.
图7故障19的各层统计量及其权值
Fig.7Statistics of each layer and their weights for IDV (19)
不失一般性,本文将15种故障分别通过6种不同方法进行故障检测,并将结果记录在表3和表4中. 相较其他方法,所提DsPCA-KICA的检测率和误报率均有不同程度的改善,仅在部分故障类型的主元空间(T2 /I2 /)检测率方面略逊色于DePCA-N2,但整体相差很小,如故障 1,2,4 和5的检测率相差均低于 0.5%. 而DsPCA-KICA在残差空间的检测率相比其他方法分别提高了12.05%,27.59%,15.03%,29.61%和 1.44%. 反观误报率,DsPCA-KICA的统计量在所有故障模式下均不存在误报,相比其他方法平均误报率分别降低了2.79%,1.84%,1.54%,5.08%和3.46%. 综上,所提DsPCA-KICA可以有效提高故障检测率的同时降低误报率.
5 结论
本文针对大型复杂工业过程中观测数据具有混合相关性的问题,提出一种DsPCA-KICA故障检测方法. 针对过程中存在的多种复杂特性,包括高斯/非高斯、线性/非线性以及静态/动态特性,分别设计分层级联特征提取、贝叶斯自适应融合、指数加权移动平均等策略,构造概率统计指标实现实时故障检测. 为验证所提方法的故障检测性能,分别进行了数值仿真和 TEP实验,并将其检测结果与传统模型KPCA,KICA,DPCA,DICA及DePCA-N2进行对比分析. 结果表明,所提DsPCA-KICA方法能够保持较高故障检测率的同时有效降低误报率. 分层级联特征提取模型中PCA及KICA可以换做任何其他多元统计过程监测方法,如PLS或CVA等. 此外,文中参数c,µ,γ和L均来自于经验值,如何进一步对这些参数进行优化,以及如何提高模型对微小故障的敏感性是值得进一步研究的问题.
表3TE过程中各故障的检测率FDR
Table3Fault detection rate FDR of each fault for TEP
表4TE过程中各故障的误报率FAR
Table4False alarm rate FAR of each fault for TEP