发明内容
本发明所要解决的主要技术问题是:针对分布式化工过程监测问题,如何在实施多块建模时同时考虑变量块间的共性与各块内的独特性,并可同时应用于重叠与不重叠的变量分块模式。解决该问题的关键在于本发明方法所涉及的正则化广义典型相关分析(Generalized Canonical Correlation Analysis,缩写:GCCA)算法,该算法能够充分挖掘变量块间的相关性特征,从而考虑了变量块间的共性。
本发明解决上述技术问题所采用的技术方案为:一种基于正则化GCCA模型的分布式化工过程监测方法,包括以下所示步骤:
步骤(1):采集化工过程正常运行状态下的n个样本数据x
1,x
2,…,x
n,组成训练数据矩阵X=[x
1,x
2,…,x
n]
T∈R
n×m,并对X中各样本数据实施标准化处理得到矩阵
其中m为测量变量数、R为实数集、R
n×m表示n×m维的实数矩阵、x
i∈R
m×1与
分别表示第i个样本数据及其标准化处理后的数据向量、i=1,2,…,n、上标号T表示矩阵或向量的转置、
中各列向量即表示各测量变量标准化后的n个采样数据。
值得指出的是,化工过程的各个采样数据一般都是由温度、压力、流量、液位等测量仪表测量得到的数据。步骤(1)中测量变量的个数为m,则表示有m个测量仪表对化工过程对象进行实时采样。
此外,由于各个测量变量的变化范围不可能一致,也就导致各个测量变量之间存在量纲的差异影响。因此,需要使用标准化处理的方式,将各个测量变量的采样数据皆变换成均值为0,标准差为1的数据。
步骤(2):将化工过程m个测量变量分解成B个变量子块,并根据这B个变量子块从矩阵
中取出相应的列向量,分别构造B个子块矩阵X
1,X
2,…,X
B。
值得指出的是,步骤(2)对变量子块是否存在重叠的情况不做任何要求。若用子块矩阵X1,X2,…,XB中测量变量的个数分别为m1,m2,…,mB,则m1+m2+…+mB≥m。
步骤(3):利用正则化广义典型相关分析算法求解得到B个子块矩阵X1,X2,…,XB对应的变换向量基W1,W2,…,WB,正则化GCCA算法的具体原理及推理过程如下所示。
本发明方法所涉及的正则化GCCA算法是一种全新的多块建模算法,旨在通过分别对应于X1,X2,…,XB的变换向量基W1,W2,…,WB实现变换后潜在特征之间的典型相关性最大化。具体来讲,其目标函数如下所示:
上式中,k=1,2,…,B、λ=1,2,…,B、
表示计算矩阵中各个元素的平方和、
与
分别表示m
k×m
k维的单位矩阵与m
λ×m
λ维的单位矩阵、s.t.为单词Subject To的缩写,表示约束条件的意思、正则化参数H
kλ的定义如下所示:
若是令
与
其中C
kλ=X
k TX
λ,上式②中定义的优化问题可转换成如下所示形式:
上式①中优化求解W1,W2,…,WB的问题就变成了上式③中优化求解U1,U2,…,UB的问题。
通过上式①可以发现,目标函数中使用
是将经W
1,W
2,…,W
B变换后得到的潜特征矩阵S
k=X
kW
k各列向量之间的典型相关系数进行平方处理后,再进行累加和处理。因此,本发明方法所涉及的广义典型相关分析充分地考虑到了变量块之间潜藏的典型相关性。
考虑到
其中A表示任意一个实数矩阵、tr()表示计算矩阵的迹(等价于计算矩阵对角线元素之和或所有特征值之和),上式③中的目标函数可进行如下所示的等价变换:
上式中,矩阵
很显然,由于矩阵Φ
k是对称的,因此上式④中U
k的最优解即为矩阵Φ
k的所有特征向量。然而,矩阵Φ
k的计算与U
λ的优化求解是相互耦合的,因此,特设计出如下所示的迭代循环求解过程。
步骤(一):分别初始化U1,U2,…,UB为任意m1×m1,m2×m2,…,mB×mB维的随机实数矩阵,并设置k=1。
步骤(二):计算矩阵
后,求解特征值问题Φ
kμ=ημ中所有特征值所对应的特征向量
并保证各特征向量的长度都为1且要求特征向量μ
1,μ
2,…,μ
m按照特征值大小的降序排列
而进行先后排列,再更新矩阵U
k=[μ
1,μ
2,…,μ
m]。
步骤(三):若k<B,则设置k=k+1后返步骤(二);若k≥B,则执行步骤(四)。
步骤(四):若U1,U2,…,UB都收敛,则执行步骤(五);若U1,U2,…,UB中存在未收敛的情况,则设置k=1后,返回步骤(二)。
步骤(五):根据公式
计算得到变换向量基W
1,W
2,…,W
B。
步骤(4):根据公式S
k=X
kW
k计算得到得分矩阵S
1,S
2,…,S
B后,再分别确定各变量子块中块间相关特征的个数为d
1,d
2,…,d
B,从而将变换基W
1,W
2,…,W
B对应分成两部分:
与
其中k=1,2,…,B、
由变换基W
k中前d
k列的列向量组成,
由W
k中后m
k-d
k列的列向量组成,k=1,2,…,B。
确定各变量子块中块间相关特征的个数需要考虑到各个得分矩阵S1,S2,…,sB之间各个列向量之间的典型相关性大小。为此,本发明方法使用如下所示步骤依次客观地确定出各变量子块中块间相关特征的个数d1,d2,…,dB。
步骤(一):设置k=1,并设Sk(j)表示得分矩阵Sk中的第j列的列向量。
步骤(二):按照公式Jk(j)=|Sk(j)TZk|计算得到第k个得分矩阵中第j个列向量的典型相关性绝对值向量Jk(j),其中j=1,2,…,mk,Zk=[S1,…,Sk-1,Sk+1,…,SD]。
步骤(三):将Jk(j)中元素的最大值记录为ρk(j)后,确定dk等于ρk(1),ρk(2),…,ρk(mk)中大于0.2的个数。
步骤(四):若k<B,则设置k=k+1后返回步骤(二);若k=B,则得到各变量子块中块间相关特征的个数d1,d2,…,dB。
步骤(5):根据公式
计算块间相关特征矩阵
后,利用最小二乘回归算法建立输入矩阵
与
之间的回归模型:
其中E
k为回归误差矩阵、
表示回归系数矩阵、k=1,2,…,B。
步骤(6):根据公式
计算块内特征矩阵
后,再分别计算回归误差矩阵E
k与块内特征矩阵
的协方差矩阵Λ
k=E
k TE
k/(n-1)与
步骤(7):根据公式ψ
k=diag{E
kΛ
k -1E
k T}与
分别计算监测指标向量ψ
1,ψ
2,…,ψ
B和Q
1,Q
2,…,Q
B,其中k=1,2,…,B,并利用核密度估计(Kernel DensityEstimation,缩写KDE)法分别确定出各监测指标向量在置信限α=99%条件下的具体数值,分别对应记做δ
1,δ
2,…,δ
B与β
1,β
2,…,β
B,其中diag{}表示将大括号内的矩阵对角线元素转变成向量的操作。
步骤(8):根据如下所示公式⑤计算综合监测指标向量ψ与Q:
并再次使用核密度估计法确定ψ与Q在置信限α=99%条件下的具体数值,分别对应记做δ与β;
离线建模阶段至此完成,接下来进入在线动态过程监测阶段,包含以下所示实施步骤。
步骤(9):收集新采样时刻的样本数据x
new∈R
m×1,并对x
new实施与步骤(1)中相同的标准化处理对应得到向量
步骤(10):分别根据步骤(2)中的B个变量子块将向量
中相应的元素用于构造B个子块向量y
1,y
2,…,y
B,并根据公式
与
计算块间特征向量
与块内特征向量
步骤(11):根据公式
计算回归误差向量e
k,其中
再分别根据公式
与
计算监测指标
与θ
1,θ
2,…,θ
B,其中k=1,2,…,B。
步骤(12):根据如下所示公式⑥计算综合监测指标ψnew与Qnew:
步骤(13):判断是否满足条件:ψnew≤δ且Qnew≤β,若是,则当前采样时刻化工过程运行正常,返回步骤(9)继续实施对下一个新时刻样本数据的监测;若否,则当前采样时刻化工过程进入异常工作状态,触发故障警报并返回步骤(9)继续实施监测。
与传统方法相比,本发明方法的优势在于:
首先,本发明方法所涉及的正则化GCCA算法通过典型相关系数的平方将各变量子块间的共性特征提取给考虑进来,因此所提取的块间相关特征是满足典型相关系数最大化要求的。其次,本发明方法进一步使用最小二乘回归算法描述块间相关特征之间的关系,并通过监测回归误差的方式来反映块间相关特征的变化。最后,本发明方法将块间相关特征与块内特征分开进行考虑,两个综合监测指标能够清楚地指明故障工况数据是改变了块间的共性还是改变的块内的独特性。因此,本发明方法是一种更优越的分布式化工过程监测方法。
具体实施方式
下面结合附图与具体的实施案例对本发明方法进行详细的说明。
如图1所示,本发明公开一种基于正则化GCCA模型的分布式化工过程监测方法,下面结合一个具体的化工过程对象来说明本发明方法的具体实施过程。
应用对象是来自于美国田纳西-伊斯曼(TE)化工生产过程,TE过程是伊斯曼化工生产车间的一个实际工艺流程,其流程示意图如图2所示。目前,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=960个样本数据实施本发明方法的离线建模,包括以下步骤:
步骤(1):采集化工过程正常运行状态下的n=960个样本数据x
1,x
2,…,x
960,组成训练数据矩阵X=[x
1,x
2,…,x
960]
T∈R
960×33,并对X实施标准化处理得到矩阵
TE化工过程的生产流程示意图如图2所示,通过该流程示意图可将表1中对应的33个测量变量分解成B=4个变量子块,相应的变量子块详情如表2所示。
表2:
子块编号: |
测量变量编号 |
分块标准 |
k=1 |
1、2、3、4、8、23、24、25、26 |
TE过程原料进料测量变量 |
k=2 |
1、2、3、5、6、7、8、9、17、21、32、33 |
反应器与冷凝器 |
k=3 |
5、10、11、12、13、14、20、22、27、28、29 |
分离器与压缩机 |
k=4 |
4、12、14、15、16、17、18、19、30、31 |
汽提塔 |
步骤(2):将化工过程m=33个测量变量分解成4个变量子块,并根据这4个变量子块从矩阵
中取出相应的列向量,分别构造B个子块矩阵X
1,X
2,X
3,X
4。
步骤(3):利用正则化广义典型相关分析算法求解得到4个子块矩阵X1,X2,X3,X4对应的变换向量基W1,W2,W3,W4。
步骤(4):根据公式S
k=X
kW
k计算得到得分矩阵S
1,S
2,S
3,S
4后,再分别确定各变量子块中块间相关特征的个数为d
1=3,d
2=9,d
3=8,d
4=7,从而将变换基W
1,W
2,W
3,W
4对应分成两部分:
与
步骤(5):根据公式
计算块间相关特征矩阵
后,利用最小二乘回归算法建立输入矩阵
与
之间的回归模型:
步骤(6):根据公式
计算块内特征矩阵
后,再分别计算回归误差矩阵E
k与块内特征矩阵
的协方差矩阵Λ
k=E
k TE
k/(n-1)与
步骤(7):根据公式ψ
k=diag{E
kΛ
k -1E
k T}与
分别计算监测指标向量ψ
1,ψ
2,…,ψ
B和Q
1,Q
2,…,Q
B,其中k=1,2,…,B,并利用KDE法分别确定出各监测指标向量在置信限α=99%条件下的具体数值,分别对应记做δ
1,δ
2,…,δ
B与β
1,β
2,…,β
B。
步骤(8):根据上述公式⑤计算综合监测指标向量ψ与Q,并再次使用核密度估计法确定ψ与Q在置信限α=99%条件下的具体数值,分别对应记做δ与β。
离线建模阶段至此完成,接下来进入在线动态过程监测阶段。利用TE化工过程在故障工况下的960个测试数据对本发明方法的故障监测性能进行测试。其中,这960个数据的前160个数据采集自TE过程的正常运行状态,从第161个样本点开始TE过程才进入故障工况。
步骤(9):收集新采样时刻的样本数据x
new∈R
33×1,并对x
new实施与步骤(1)中相同的标准化处理对应得到向量
步骤(10):根据步骤(2)中的4个变量子块从向量
中取出相应的元素构造4个子块向量y
1,y
2,y
3,y
4,并根据公式
与
计算块间特征向量
与块内特征向量
步骤(11):根据公式
计算回归误差向量e
k,其中
再分别根据公式
与
计算监测指标
与θ
1,θ
2,θ
3,θ
4;
步骤(12):根据上述公式⑥计算综合监测指标ψnew与Qnew。
步骤(13):判断是否满足条件:ψnew≤δ且Qnew≤β,若是,则当前采样时刻化工过程运行正常,返回步骤(9)继续实施对下一个新时刻样本数据的监测;若否,则当前采样时刻化工过程进入异常工作状态,触发故障警报并返回步骤(9)继续实施监测。
如图3所示,本发明方法与传统MBPCA、DPCA、和DICA方法的在监测故障工况数据的监测图。从图3中对比可以很明显地发现,本发明方法在故障检测成功率明显优越于其他动态过程监测方法。因此,可以说本发明方法具有更可靠的过程监测性能。