王琨,侍洪波,谭帅,宋冰,陶阳
(华东理工大学能源化工过程智能制造教育部重点实验室,上海 200237)
在现代工业过程中,系统规模越来越大,流程也越来越复杂[1-2],一旦故障发生,不仅会影响生产效率,甚至会造成重大的安全事故。同时,随着传感器技术、实时存储技术和信息管理系统的发展[3],大量在线和离线数据更易被获取和存储[4-5]。因此,为了保证工业过程的生产安全,数据驱动的过程监测和控制技术越来越受关注[6],多元统计过程监控(multivariate statistical process monitoring,MSPM)方法作为数据驱动过程监控方法的典型代表,得到了广泛的研究[7]。目前常用的MSPM 方法有主成分分析(principal component analysis,PCA)、偏 最 小 二 乘(partial least squares,PLS)、独立主元分析(independent component analysis,ICA)等,这些方法对过程数据进行降维[8-11]并基于提取的特征信息建立模型。然而,这些方法仅考虑样本间的全局特性,并没有关注局部包含的结构关系,这将忽略隐藏在高维空间中的更多信息。
近年来,基于流形学习的方法得到快速发展[12],拉普拉斯特征映射(Laplacian eigenmaps,LE)[13]、局部线性嵌入(locally linear embedding,LLE)[14]和等距映射(isometric feature mapping,ISOMAP)[15]等非线性流形学习算法被提出,这些方法可以从高维采样数据中揭示低维流形结构以实现维数的约简,但运算成本高且得到的投影仅在训练数据上定义。He 等[16]提出局部保持投影(locality preserving projections,LPP),它作为一种线性流形学习算法,对LE 算法进行线性近似,不仅保留了诸如LE、LLE 非线性算法的数据属性,还可以被定义在环绕空间的任何地方,而不仅限于训练数据中。He 等[17]进一步提出邻域保持嵌入(neighborhood preserving embedding,NPE),也是通过邻域近似线性表示得到投影矩阵,但目标函数表示为最小化重构误差,目前也成功应用于故障检测领域[18-21]。但无论是关注全局结构信息的典型多元统计方法还是关注局部结构信息的流形学习方法,它们都基于数据样本独立分布的假设建立静态模型,忽略了样本在连续时间采集过程中的相关性[22]。
在实际工业中,变量可能受到噪声等干扰使其在稳态值附近波动,该过程便具有动态行为特征。Ku 等[23]提出动态主成分分析算法(dynamic PCA,DPCA),通过加入时间延迟因子的方法来表示模型中的动态行为,利用时间窗将连续时间的样本依次排列,形成增广矩阵作为模型训练的输入。Li 等[24]提出动态邻域保持嵌入(dynamic neighborhood preserving embedding,DNPE)算法将原始数据矩阵转换为增广数据,既保留了NPE 算法的优势又克服了无法考虑时序相关性的问题,然后利用LSSVM 方法实现对数据的多类评价。赵小强等[25]提出GSFAGNPE 算法,通过计算顺序相关矩阵,对过程变量的特性进行评估,划分为动态子空间和过程子空间,根据得到的混合模型指标实现过程监控。但是,这些算法广泛关注的是样本的全局时间特性,并没有充分挖掘局部时间特性。
针对全局结构信息无法准确反映样本间关系和时序相关性未被考虑两个问题,本文在传统NPE算法基础上提出一种新的数据降维和特征提取方法——LTDCNPE 算法,它使用一种全新的方式选择近邻样本来对原始样本进行重构。不同于大部分算法单纯使用欧氏距离的大小来选择邻域,很多距离小的样本可能时间尺度上相隔较远,导致邻域中选择了时间上关系很小但距离相隔很近的样本,这在一定程度上会影响特征的提取。LTDCNPE 算法同时兼顾时序相关性和局部空间结构信息,任意选取一个样本作为中心点,根据样本时间上的相关性大小选定一个长度固定的时间窗,再利用中心点与时间窗内其他每个采样点之间的时间关系和二者之间的距离,来构造更加合理的邻域选择标准,并将时间关系作为近邻样本的权值,来提高系统的故障检测精度。本文将LTDCNPE 算法用于工业过程的故障检测,分别在特征空间中构造T2统计量和在残差空间中构造SPE统计量来进行检测。最后利用数值例子和TE 仿真过程对该方法的有效性进行实验验证。
NPE 算法根据样本之间的欧氏距离选择邻域来对中心样本进行重构,但是在化工过程中,一段时间内的连续样本之间具有时序相关性[26]。传统的NPE 方法仅考虑样本间的空间关系,忽略了样本间的时序关系,使得检测效果变差。因此,本文将提出的LTDCNPE 算法用于化工过程故障检测,希望在一个时间窗内通过同时考虑时间和空间上的局部性来进行邻域挑选,并利用时差为近邻样本赋权,进而提取更为合理的特征。
2.1.1 挑选邻域 在选择邻域前,LTDCNPE 算法先对选择的范围进行了预缩减,根据连续过程样本间的时序相关性寻找一个长度为L的时间窗,保证范围内的样本包含大部分主要信息。具体地,以给定数据集X=[x1,x2,…,xN]∈RD×N的任一样本xi为中心划取时间窗,得到时间维度上的缩减邻域。时间窗大小可以通过过程变量平方和的自相关来确定[27],这样当时间距离大于确定的时间窗长度时,相关性可以被忽略。
但通过时间窗得到的缩减邻域所包含的样本并非全部适合重构xi,需要在此基础上利用式(5)反映邻域样本与xi在局部时间和空间上的差异,选取与xi更相关的k个近邻点。第j个邻域样本xj与xi的差异Bi,j计算方式如式(5)所示。
LTDCNPE算法中的局部时差由式(7)体现。
具体地,在xi和xj选定以后,时间项Ti,j的分子值也随即确定,当xi和xj分别与周围的近邻样本点在时间相关上越紧密,也即Ti,j的两个分母值越小,Ti,j整体数值也会越小,表示由两个集群所表示的xi和xj在时间上也就越疏远。
对照以上分析,将图1中的中心样本及其邻域投影到时间轴上,此时的示意图如图2(a)所示。当考虑了邻域样本的局部时序关系后,该算法将图2(a)中距离中心样本近而时间相隔较远的样本剔除,并选择在时间和空间两种约束下更为紧密的近邻样本,如图2(b)所示,可以看出T的数值变化对样本间局部时间的刻画是合理的。
图1 仅考虑空间距离的样本分布Fig.1 Sample distribution considering only spatial distance
图2 时间投影上的样本分布Fig.2 The sample distribution on the time projection
2.1.2 邻域加权 当在时间窗中根据Bi,j选择出k个近邻样本之后,样本xi对应的局部时差样本个数由原来的L个变为k个,Ti,j的表示改为Ti,s(s=1,…,k)。xi的k个 近 邻 为{xs|s= 1,2,…,k}。对 时 间约束矩阵进行归一化处理,如式(8)所示。
式中,zi,s表示对样本xi的第s个近邻样本加权后的向量;⊗是克罗内克积。
2.1.3 计算权值系数矩阵和映射矩阵 利用时间
关系为近邻样本加权后,按式(10)求解使重构误差最小的权值系数矩阵W。
为了提高故障检测模型在化工过程中的监控效果,本文使用提出的LTDCNPE 算法获得投影矩阵A,从新样本xnew∈RD1中提取出具有时间和空间局部特性的特征向量ynew∈Rd1。随后,采用HotellingT2统计量以及SPE 统计量来进行故障检测,计算公式为
式中,xk(k= 1,2,…,N)是x的采样点;h为带宽,这里的核函数一般选用高斯函数。
基于LTDCNPE 算法进行离线建模和在线监控的具体实施步骤如下。
离线建模阶段:
(1) 以正常数据X∈RD×N作为训练数据,采用z-score方法进行数据预处理;
(2) 利用式(6)、式(7)计算样本间的空间约束Di,j和时间约束Ti,j;
(3)式(5)计算得到的局部差异Bi,j作为选择xi邻域的标准,并选取最小的前k个样本作为重构样本;
(4) 利用式(8)、式(9)得到归一化后的时间约束Pi,s作为权值和加权后的近邻样本zi,s;
(5) 根据最小化公式式(10)获得权值系数矩阵W,并利用式(11)求解前m个最小特征值对应的特征向量,得到特征映射矩阵A;
(6) 根据式(13)计算训练数据的T2和SPE 统计量,并使用KDE方法估计统计量的控制限。
在线监控阶段:
(1) 获取新样本xnew,利用正常样本下求得的均值和方差对其进行标准化处理;
(2)利用离线建模步骤(5)获得的特征映射矩阵A对xnew进行线性降维;
(3)计算新样本的T2和SPE统计量,将其与控制限进行对比,判断是否为故障样本。
为了说明LTDCNPE 算法的有效性,本文使用数值例子和TE仿真实验进行故障检测,并将所提出算法的性能与经典算法PCA、NPE 及其时间相关的衍生算法DNPE[24,30-31]进行了比较。
本文采用Ku 等[23]提出的多元动态过程来验证所提方法的有效性:
测试集中各算法的漏报率(miss alarm rate,MAR)总结在表2中,用粗体数值表示检测结果的最优值。由表2 可以看出当故障1 发生时,PCA 算法和NPE 算法的T2有很多漏报,而DNPE 算法和LTDCNPE 算法的两个统计量漏报率都相对较低,且LTDCNPE算法的T2漏报率仅有0.33,效果更好。在故障2 中,四种方法的结果相差不大,但是LTDCNPE 算法仍然保持最低的T2漏报率。以上结果表明对时序系统进行监控时,LTDCNPE 算法更加合理地考虑了连续数据间的时间关联。
表1 过程故障描述Table 1 Process fault description
表2 数值例子的漏报率Table 2 MAR in case study
图3 是四种方法针对故障1 数据的二维投影结果。可以看出,图3(a)~(c)的故障样本投影后有接近一半超过椭圆控制限,使正常样本和故障样本在二维投影平面上大量重叠,无法进行区分。而LTDCNPE 算法可以通过椭圆形的控制限将测试数据中的正常数据和故障数据很好地分开,两部分数据几乎没有重叠,表明数据中的时间序列在低维空间中得到了较好的保留和利用,从而提高了映射空间的质量。图4 是四种方法针对故障1 数据的控制图。其中,图4(a)、(b)的T2漏报率明显偏高,图4(c)、4(d)的T2及SPE 统计量明显高于控制限,但当故障刚发生时,LTDCNPE 的T2统计量可以更早发现故障,从而减少漏报率。
图3 数值例子故障1的T2检测结果Fig.3 T2 results of fault 1 in case study
图4 数值例子故障1的控制图Fig.4 Control diagram of fault 1 in case study
TE过程是对实际工业过程的模拟,该平台广泛应用于控制技术和监测方法的开发、研究和评价[1,10,32-33]。该工艺过程包括反应器、冷凝器、压缩机、分离器和汽提塔5 个主要生产单元[34],8 种成分,22个连续过程变量,19个成分变量,12个控制变量,21 种故障。由于实际过程中的搅拌速率和成分变量很难实时采集,因此选用剩余的33个变量作为监控的连续过程变量。故障4为反应器冷却水入口温度的一个阶跃变化,但在实际中相当于过程中的干扰而非故障;故障3、9、15的数据在均值方差和高阶矩上均没有可以被观测到的变化[35],难以检测且对监测过程影响较小,因此本文选取剩余的17种故障进行在线检测。在此基础上,采集正常工作模式下的960个样本作为训练数据,各种故障均在第161个样本引入并收集960个样本作为训练样本。
在设置实验参数时将所有算法统计量的置信度设置为α= 99%,每个算法的低维空间维度以及时间尺度应保持一致。考虑到PCA 通过采用85%的方差贡献率来确定降维的维度,因此实验中LTDCNPE、DNPE、NPE 算法所选择的主元个数为d=14。由于训练数据是TE 过程稳态运行时所采集的正常数据,不存在工况切换问题,所以时间窗长度为固定值L=44,由过程变量平方和的自相关来确定。根据文献[36],仍延续LLE 算法提出的参数准则,为保证降维数量小于近邻样本数k并且L=2k,实验选择的近邻样本数量为k=22。在确定时间权重T的步骤中,选取的邻域尺度l=7。
为了更加全面地对比LTDCNPE 算法和其他算法在实际中的有效性和可行性,本节不仅使用漏报率来对TE 过程的17 种故障数据进行故障部分的检测,还利用误报率(fault alarm rate,FAR)来检验不同算法对正常数据的效果。在表3 中,误报率均写在括号内。根据表中数据可以看出,LTDCNPE 算法总体上提供了较低的漏报率。对于容易检测的故障,四种算法的结果均能得到令人满意的结果;对于初始阶段难于检测的故障10、16、19、20,三种对比方法的漏报率均很高,在实际应用中无法提供可靠的报警,而LTDCNPE 算法的漏报率仍能保持较低数值。从误报率角度来看,PCA 的误报率相对其他三种方法偏高一点,其他三种方法的误报率相差不大,整体上数值都比较低,说明对正常数据有较好的检测效果。
表3 TE过程17种故障的漏报率和误报率Table 3 MAR and FAR of 17 faults in TE process
因此,综合测试数据的漏报率和误报率可以看出,LTDCNPE 法在故障检测过程中具有更佳的效果。与仅考虑空间结构关系的传统算法PCA 和原始NPE算法相比,LTDCNPE算法明显降低检测的漏报率,与处理全局时序过程的DNPE 算法进行对比,LTDCNPE 算法的效果也更为显著,保留了更多的数据特征。
为了更直观地表明LTDCNPE 算法的优势,图5和图6 展示了故障5、故障10 两种典型故障的检测结果。故障5是冷凝器冷却水的入口温度产生的阶跃变化。该故障的显著影响是引起冷凝器冷却水流量的阶跃变化。当故障发生时,从冷凝器出口到汽/液分离器的流速增加,导致汽/液分离器的温度升高,并使分离器冷却水出口温度也升高[37]。但是控制回路能够补偿这个变化,并使分离器中的温度返回到设置点。由图5可以看出PCA算法和NPE算法虽然在故障初始阶段能及时地反映出故障,但随着过程的推进,统计量又逐渐降低到控制限以下,而此时过程中的故障仍然存在,所以无法持续进行故障的监测。这表明一旦忽略了实际过程中的时序特性,无论使用全局数据还是利用局部信息建立模型,都无法实时反映过程的真实状态。而四种方法的SPE统计量都是先超限持续一段时间后又回到正常,这与33个变量特征提取和变换时被赋予的权重大小有关。对于故障5中先发生异常后恢复至原始状态的变量,其对应的权重较大,而保持稳定的变量以及一直保持故障状态的变量所对应的权重在大多情况下数值较小,保留的信息较少,使得这部分变量的信息被掩盖在了可恢复正常变量的信息中。所以最终SPE统计量的变化也符合这个变化趋势,使SPE数值最终回到正常范围内,无法很好区分正常和故障时候的数据。
图5 故障5的TE过程检测结果Fig.5 Monitoring results of the Tennessee Eastman process for fault 5
图6 故障10的TE过程检测结果Fig.6 Monitoring results of the Tennessee Eastman process for fault 10
故障10为一种随机故障,过程中的某些变量在不同时刻随机进行变化,检测结果如图6 所示。在故障发生的初期,图6(d)中的T2统计量可以快速捕捉过程的变化并一直具备报警趋势,结果符合实际生产需求。另外三种方法不仅初期无法做出报警,而且大部分时间无法有效检测出故障,存在较高的漏报率。相比于PCA 算法和NPE 算法,DNPE 算法虽然使漏报率稍微降低,但仍不能正确表征过程的真实工作情况。
由数值例子实验结果可以看出,LTDCNPE 算法可以有效识别阶跃故障和随机故障,并且相比于其他方法,具有更高的准确率。由TE平台的实验结果可以看出,PCA算法使用全局数据建立的模型无法实时地反映过程的真实状态;NPE算法作为一种较为原始的利用局部信息进行建模的方法,忽略了实际过程拥有的时序特性;DNPE 算法构建增广向量,通过消除输入变量的相关性来考虑样本的自相关性,但它仍未很好地捕捉到数据间的时变。LTDCNPE算法克服了以上算法的缺点,可以同时提取数据中的局部结构和时序信息,对各类故障均能够做出反应,快速捕捉过程的变化,结果符合实际生产需求。
本文提出一种基于LTDCNPE 算法的工业过程故障检测方法,通过关注局部时差和局部几何结构,克服了传统PCA 算法和NPE 算法仅考虑不同样本空间距离的缺点,改进了DNPE 算法提取时间特征的方式。LTDCNPE 算法使用一种新的邻域选择方法,从时间和空间角度进行考虑,挑选出更加合适的近邻样本对原始样本进行重构,并利用它们的时序差异为近邻样本进行加权,尽可能保留原始数据的结构关系,降低信息的丢失程度。通过对比PCA、NPE、DNPE、LTDCNPE 算法在数值例子和TE仿真实验中的结果,可以看出LTDCNPE 算法挑选的时序特征更加合理,并且其在降维和检测效果上的表现也得到了验证。
符 号 说 明
A——特征映射矩阵,A∈RD×d
B——局部时间空间差异矩阵,B∈RN×k
D——空间约束矩阵,D∈RN×k
D——输入变量数
d——降维后的维数
E——最小化重构误差
h——带宽
I——单位矩阵,I∈RN×N
K( · )——核函数
k——构造邻域连接图所需的近邻样本数
L——样本具有时序相关性的时间窗长度
l——邻域尺度
m——选取的特征值数量
N——输入样本数
P——归一化的时间约束矩阵,P∈RN×k
p( · )——密度函数
T——时间约束矩阵,T∈RN×k
t1,t2,t3——邻域中近邻样本与中心样本之间的采样时差
t( · )——样本对应的采样时间
W——最优权值系数矩阵,W∈RN×N
X——输入矩阵,X∈RD×N
xnew——新样本,xnew∈RD×l
Y——特征矩阵,Y∈Rd×N
ynew——新样本对应的特征向量,ynew∈Rd×l
z——近邻样本加权后的矩阵,z ∈RN×k
Λ——Y的样本协方差矩阵,Λ∈Rd×d
上角标
q——邻域中样本的近邻样本序号
下角标
i——输入样本序号
j——构造邻域连接图的样本序号
s——重新选取的构造邻域连接图的样本序号