背景技术
由于计算机技术的广泛应用于化工工业生产,过程对象可以离线存储与在线测量海量的数据,现代工业过程逐步走向数字化管理。这些数据蕴含着能体现生产过程运行状态的潜在信息,利用采样数据实施过程运行状态的监测于是乎得到了较多学者们的青睐。近十几年来,无论是学术界还是工业界,都投入了大量的人力与物力研究故障监测技术。在数据驱动的故障监测研究领域,统计过程监测是被研究得最多的方法,其中当以主元分析(Principal Component Analysis,PCA)与独立元分析(Independent ComponentAnalysis,ICA)为最主流的实施技术手段。一般而言,由于ICA算法能够挖掘出数据中潜藏的非高斯成分信息,更能揭示对象的本质,因此更适合于采样数据呈现非高斯性的化工过程故障监测。
另一方面,现代化工过程规模逐步朝着大规模方向发展,生产单元实现多模块化的自动控制。因此,现代化工过程更青睐于对各个生产单元进行分布式监测的故障监测方法技术。相比于对整个系统实施监测而言,分布式故障监测方法对生产过程机理的可解释性程度更高,出现故障后,能够更直接地定位出那个设备出现了问题。在现有科研文献与专利材料中,已经出现了基于多块主元分析算法的分布式故障监测技术。然而,利用ICA算法实施多块化建模的多块独立元分析算法目前只停留在对各个生产单元的数据单独进行基于ICA算法的建模与监测,而未曾考虑整个化工生产系统的整体性。
此外,由于现代化工过程各个生产单元的连贯性与相互制约性,很多时候将测量变量强硬的划分进某个模块中是不合理的。因此,根据实际情况,过程对象的测量变量很多时候需要划分进多个变量中,即出现了相互重叠的变量子块划分情况。如何对这种多块划分结果实施多块ICA建模,并考虑块与块之间的相互影响,目前还未曾有文献或专利充分予以考虑。传统的多块主元分析算法同样要求变量块的划分不出现重叠情况,因此直接将多块主元分析拓展成多块ICA算法无法应对相互重叠的变量子块划分情况。
发明内容
本发明所要解决的主要技术问题是:如何针对重叠或不重叠的变量子块划分,在实施ICA建模的过程中同时考虑各子块的独特性与子块之间的整体性,以此实施多块建模与分布式的故障监测。具体来讲,本发明公开一种广义多块独立元分析算法,针对重叠与不重叠的变量子块划分皆可实施多块建模。本发明方法旨在利用该广义多块独立元分析算法实施分布式的故障监测。
本发明解决上述技术问题所采用的技术方案为:一种基于广义多块独立元分析模型的化工故障监测方法,包括以下所示步骤:
步骤(1):采集化工生产过程正常运行状态下的n个样本数据,组成训练数据矩阵X∈R
n×m,并对X中的各样本数据实施标准化处理得到矩阵
其中m为测量变量数、R为实数集、R
n×m表示n×m维的实数矩阵,矩阵
中各列向量分别表示各测量变量的n个采样数据。
值得指出的是,化工过程的各个采样数据一般都是由温度、压力、流量、液位等测量仪表测量得到的数据。步骤(1)中测量变量的个数为m,则表示有m个测量仪表对化工过程对象进行实时采样。此外,由于各个测量变量的变化范围不可能一致,也就导致各个测量变量之间存在量纲的差异影响。因此,需要使用标准化处理的方式,将各个测量变量的采样数据皆变换成均值为0,标准差为1的数据。
步骤(2):将化工过程的m个测量变量划分成B个变量子块,并依次根据这B个变量子块将矩阵
中相应的列向量组建成B个子块矩阵
其中各变量子块中测量变量的个数分别记为m
1,m
2,…,m
B。
值得注意的是,划分B个变量子块可根据化工生产过程对象的组成单元,确定各个生产单元所涉及到的测量变量,以此将m个测量变量划分成B个变量子块。
此外,由于本发明方法对变量子块之间是否相同测量变量的问题不做任何要求,因此m
1+m
2+…+m
B≥m。其中,m
1,m
2,…,m
B分别表示各变量子块中测量变量的个数,即分别表示B个子块矩阵
中列向量的个数。
步骤(3):设定需要提取的独立元个数为A,需保证A≤min{m1,m2,…,mB},即设置提取的独立元个数A需不大于m1,m2,…,mB中的最小值,并利用广义多块独立元分析算法依次逐个求解A个分离向量w1,w2,…,wA,具体的实施过程如下所示。
步骤(3.2):对矩阵X0进行奇异值分解X0=UDVT后,根据公式Z=X0VD-1对矩阵X0实施白化处理从而得到白化矩阵Z∈Rn×M,其中U与V表示奇异值分解的两个酉矩阵、对角矩阵D对角线上的元素即为奇异值、M表示白化矩阵Z中列向量的个数。
步骤(3.3):初始化ca为任意的一个M×1维的实数向量。
步骤(3.4):根据公式ca=E{ZTg(Zca)}-E{h(Zca)}ca更新向量ca,其中E{}表示计算向量所有元素的平均值、函数g(u)=tanh(u)/ln(10)、函数h(u)=sech(u)2/ln(10)、u为函数自变量。
步骤(3.5):根据公式ca=ca/||ca||对向量ca进行单位化处理,从而使向量ca的长度变为1。
步骤(3.6):判断向量ca是否收敛(判断的标准是ca中的元素不再变化为止)?若否,则返回步骤(3.4);若是,则根据公式wa=VD-1ca计算第a个分离向量wa。
步骤(3.7):判断是否满足条件a<2?若是,则根据步骤(2)中的B个变量子块,将分离向量wa分成B个子分离向量va,1,va,2,…,va,B;若否,则分别将分离向量wa中第1个至第m1个元素、第m1+1个至第m1+m2个元素、第m1+m2+1个至第m1+m2+m3个元素、…、第m1+m2+…+mB-1+1个至第m1+m2+…+mB个元素组成B个子分离向量va,1,va,2,…,va,B,其中b=1,2,…,B表示第b个变量子块。
步骤(3.8):根据公式sa,b=Xbva,b分别计算B个子得分向量sa,1,sa,2,…,sa,B后,再根据公式Pa,b=sa,b TXb/(sa,b Tsa,b)计算B个子混合向量pa,1,pa,2,…,pa,B。
步骤(3.9):根据公式Xb=Xb-sa,bpa,b T分别更新矩阵X1,X2,…,XB后,再将其合并成一个矩阵X0=[X1,X2,…,XB],那么矩阵X0同样得到更新。
步骤(3.10):判断是否满足条件:a<A?若是,则设置a=a+1后返回步骤(3.2);若否,则得到B个子分离矩阵W1,W2,…,WB、B个子得分矩阵S1,S2,…,SB、B个子混合矩阵P1,P2,…,PB、以及B个子载荷矩阵C1,C2,…,CB,其中子分离矩阵Wb=[v1,b,v2,b,…,vA,b]、子得分矩阵Sb=[s1,b,s2,b,…,sA,b]、子混合矩阵Pb=[p1,b,p2,b,…,pA,b]、以及子载荷矩阵Cb=wb(Pb TWb)-1。
步骤(4):根据公式Λ
b=S
b TS
b/(n-1)分别计算矩阵Λ
1,Λ
2,…,Λ
B后,再分别根据公式D
b=diag{S
bΛ
b -1S
b T}与Q
b=diag{F
bF
b T}分别计算故障监测指标D
1,D
2,…,D
B和Q
1,Q
2,…,Q
B,并使用核密度估计(Kernel Density Estimation,缩写:KDE)方法确定各故障监测指标在置信度
条件下的控制上限D
1,lim,D
2,lim,…,D
B,lim和Q
1,lim,Q
2,lim,…,Q
B,lim,其中,子残差矩阵
lim为单词limit的缩写,表示上限的意思,diag{}表示将大括号内的矩阵对角线元素变成向量的操作。
上述步骤(1)至步骤(4)是本发明方法的离线建模阶段,主要实施各子块的多块建模与统计量上限的确定。离线建模阶段完成后,即可根据如下若是步骤(5)至步骤(9)实施在线故障监测。
步骤(5):收集新采样时刻的样本数据x∈R
m×1,并对x实施与步骤(1)中相同的标准化处理得到向量
步骤(6):根据步骤(2)中的B个变量子块,将
划分成B个子向量
后,根据公式
和
分别计算B个子得分向量θ
1,θ
2,…,θ
B和B个子残差向量e
1,e
2,…,e
B。
步骤(7):根据公式Db=θbΛb -1θb T与Qb=ebeb T分别计算故障监测指标D1,D2,…,DB和Q1,Q2,…,QB,其中b=1,2,…,B。
步骤(8):利用贝叶斯推理将D1,D2,…,DB融合成一个概率型指标BICD,再次利用贝叶斯推理将Q1,Q2,…,QB融合成另一个概率型指标BICQ。
步骤(9):判断是否满足条件:
且
若否,则当前采样时刻生产过程进入故障状态,触发故障警报并返回步骤(5)继续实施对下一采样时刻样本数据的监测;若是,则当前采样时刻化工过程正常运行,并返回步骤(5)继续实施对生产过程的故障监测。
与传统方法相比,本发明方法的优势在于:
首先,本发明方法公开了一种全新的广义多块独立元分析算法。该算法不同于传统多块建模算法简单地为各个子块提取得分向量,而是从整体分离至局部子块提取,再由局部子块返回至整体分离的相互交错的逐个提取策略。因此,本发明方法提出的广义多块独立元分析算法不仅考虑了各子块的独特性,而且还考虑到了全局的整体性。此外,从步骤(3)的具体实施过程来看,该算法可应对重叠的变量划分情况。换句话讲,本发明方法对变量划分是否存在重叠的情况不做任何特殊要求。因此,本发明方法是一种通用性更强的非高斯多块建模与故障监测方法。再者,具体实施案例中将会验证本发明方法的优越性,从而说明本发明方法是一种更为优选的非高斯分布式故障监测方法。
具体实施方式
下面结合附图与具体的实施案例对本发明方法进行详细的说明。
如图1所示,本发明公开一种基于广义多块独立元分析模型的化工故障监测方法,下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程,以及相对于现有方法的优越性。
应用对象是来自于美国田纳西-伊斯曼(TE)化工过程实验,原型是伊斯曼化工生产车间的一个实际工艺流程。目前,TE过程因其流程的复杂性,已作为一个标准实验平台被广泛用于故障检测研究。整个TE过程包括22个测量变量、12个操作变量、和19个成分测量变量。该TE过程对象可以模拟仿真多种不同的故障类型,如物料进口温度阶跃变化、冷却水故障变化等等。为了对该过程进行监测,选取如表1所示的33个过程变量。由于采样间隔时间较短,TE过程采样数据不可避免的存在序列自相关性,接下来结合该TE过程对本发明具体实施步骤进行详细的阐述。
表1:TE过程监测变量。
序号 |
变量描述 |
序号 |
变量描述 |
序号 |
变量描述 |
1 |
物料A流量 |
12 |
分离器液位 |
23 |
D进料阀门位置 |
2 |
物料D流量 |
13 |
分离器压力 |
24 |
E进料阀门位置 |
3 |
物料E流量 |
14 |
分离器塔底流量 |
25 |
A进料阀门位置 |
4 |
总进料流量 |
15 |
汽提塔等级 |
26 |
A和C进料阀门位置 |
5 |
循环流量 |
16 |
汽提塔压力 |
27 |
压缩机循环阀门位置 |
6 |
反应器进料 |
17 |
汽提塔底部流量 |
28 |
排空阀门位置 |
7 |
反应器压力 |
18 |
汽提塔温度 |
29 |
分离器液相阀门位置 |
8 |
反应器等级 |
19 |
汽提塔上部蒸汽 |
30 |
汽提塔液相阀门位置 |
9 |
反应器温度 |
20 |
压缩机功率 |
31 |
汽提塔蒸汽阀门位置 |
10 |
排空速率 |
21 |
反应器冷却水出口温度 |
32 |
反应器冷凝水流量 |
11 |
分离器温度 |
22 |
分离器冷却水出口温度 |
33 |
冷凝器冷却水流量 |
首先,利用TE过程正常工况下采样的n=500个样本数据实施本发明方法的离线建模,包括以下步骤:
步骤(1):采集生产过程正常运行状态下的样本,组成训练数据矩阵X∈R
500×33,并计算矩阵X中各列向量的均值μ
1,μ
2,…,μ
33以及标准差δ
1,δ
2,…,δ
33,对应组成均值列向量μ=[μ
1,μ
2,…,μ
33]
T与对角矩阵Φ=diag(δ
1,δ
2,…,δ
33)后,再根据公式
对矩阵X实施标准化处理得到矩阵
表2:变量子块划分结果
变量子块 |
所涉及的测量变量序号 |
b=1 |
1,2,,3,4,8,23,24,25,26 |
b=2 |
1,2,3,5,6,7,8,9,17,21,32,33 |
b=3 |
5,10,11,12,13,14,20,22,27,28,29 |
b=4 |
4,12,14,15,16,17,18,19,30,31 |
步骤(2):根据如图2所示的TE过程对象的结构框图,确定各个组成单元所涉及到的测量变量,以此将m个测量变量划分成B=4个变量子块,具体的分块结果如表2所示。据此可将矩阵
分成4个子块矩阵
其中各变量子块中测量变量的个数依次为m
1=9,m
2=12,m
3=11,m
4=10。
从表2中的变量子块划分结果可以看出,这四个变量子块是存在重叠的。因此,本实施案例考虑的是变量子块划分重叠的情况。对于变量不重叠的情况,即m1+m2+…+mB=m,本发明方法同样可以实施。
步骤(3):设定需要提取的独立元个数为A=6,并利用广义多块独立元分析算法求解得到4个子分离矩阵W1,W2,W3,W4、4个子得分矩阵S1,S2,S3,S4、4个子混合矩阵P1,P2,P3,P4、以及4个子载荷矩阵C1,C2,C3,C4,具体的实施流程如图3所示。
步骤(4):根据公式Λ
b=S
b TS
b/(n-1)分别计算矩阵Λ
1,Λ
2,…,Λ
B后,再分别根据公式D
b=diag{S
bΛ
b -1S
b T}与Q
b=diag{F
bF
b T}分别计算故障监测指标D
1,D
2,…,D
B和Q
1,Q
2,…,Q
B,并使用核密度估计(Kernel Density Estimation,缩写:KDE)方法确定各故障监测指标在置信度
条件下的控制上限D
1,lim,D
2,lim,…,D
B,lim和Q
1,lim,Q
2,lim,…,Q
B,lim。
在离线建模阶段完成后,即可进入在线故障监测的实施阶段,利用TE过程在故障工况下的960个测试数据对本发明方法的故障监测性能进行测试。其中,这960个数据的前160个数据采集自TE过程的正常运行状态,从第161个样本点开始TE过程才进入故障工况。
步骤(5):收集新采样时刻的样本数据x∈R
m×1,并对x实施与步骤(1)中相同的标准化处理得到向量
步骤(6):根据步骤(2)中的B个变量子块,将
划分成B个子向量
后,根据公式
和
分别计算B个子得分向量θ
1,θ
2,…,θ
B和B个子残差向量e
1,e
2,…,e
B;
步骤(7):根据公式Db=θbΛb -1θb T与Qb=ebeb T分别计算故障监测指标D1,D2,…,DB和Q1,Q2,…,QB,其中b=1,2,…,B;
步骤(8):利用贝叶斯推理将D1,D2,…,DB融合成一个概率型指标BICD,将Q1,Q2,…,QB融合成另一个概率型指标BICQ,具体的实施过程如下所示(以融合D1,D2,…,DB为例):
步骤(8.1):根据如下所示公式计算第b个故障监测指标Db属于故障的概率P(F|b):
其中,概率P(b)的计算公式如下所示:
P(b)=P(b|N)P(N)+P(b|F)P(F) ②
上式①与式②中,N与F分别表示正常与故障工况,先验概率P(N)与P(F)分别取值0.99与0.01,条件概率P(b|N)与P(b|F)的计算公式如下所示:
步骤(8.2):根据如下所示公式计算最终的概率型指标BICD:
将Q1,Q2,…,QB融合成一个概率型指标BICQ的实施过程只需将上述步骤(8.1)至步骤(8.2)中涉及到的Db与Db,lim对应替换成Qb与Qb,lim即可。
步骤(9):判断是否满足条件:
且
若否,则当前采样时刻生产过程进入故障状态;若是,则返回步骤(5)继续实施对生产过程的故障监测。
如图4所示,本发明方法与建立多个ICA模型的传统多块ICA方法在监测TE过程故障时监测详情对比图。从图4中的条状图对比可以很明显地发现,本发明方法在故障检测成功率明显优越于传统方法。因此,可以说本发明方法具有更可靠的过程监测性能。
上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。