0 引言
监测工业过程的运行状态是确保生产安全与维持产品质量稳定性的主要技术手段,其首要目的在于及时准确地检测工业生产中出现的故障.随着计算机辅助系统和先进传感器在工业过程领域的广泛应用,生产过程对象可以采集、存储和处理海量的数据.近十几年来,基于数据驱动的过程监测方法已成为过程监测领域的研究热点而受到学术界和工业界的广泛关注[1-5],尤其是多元统计过程监测方法(multivariate statistical process monitoring,MSPM),如主成分分析(principal component analysis,PCA)、独立成分分析(independent component analysis,ICA)和偏最小二乘算法(partial least square,PLS)等[3].和PCA相比,ICA不仅能从观测数据中提取二阶统计信息,还能提取到高阶统计信息,因此ICA可以更有效地刻画观测数据的本质[5-6].
和传统工业过程不同,大规模工业过程由不同的操作单元、生产车间和制造工厂组成,其中往往涉及大量的过程测量变量[7].基于多块建模算法的分散式过程监测方法因为可以有效地降低建模的复杂性,通常将其应用到大规模工业过程的监测中[7-9].文[10]和文[11]系统地分析了多块PCA(multi-block PCA,MBPCA)和多块PLS算法的有效性,并且论证了多块建模算法的优势.在建模时,分散式过程监测方法一般需要考虑两个方面的因素:1)如何对过程变量进行有效地分解;2)变量分解后采用什么建模算法.这两个因素会直接影响模型的最终监测性能.
如果工业过程的拓扑结构或机理知识可用,那么可以直接将其用以分解过程测量变量[12].而对于某些复杂的工业过程,若其机理知识不可用,则可通过统计分析的方法将过程变量自动地分解成若干个子块[13-18].目前已提出了很多分块方法,如文[14]采用互信息分解过程变量,文[15]提出一种基于PCA主元方向的多块分解方法.此外,近似相关性统计方法[16]和Hellinger距离[17]也能用于变量分块.尽管对过程变量的分解已经有了很多有效的方法,但在基于ICA的多块建模算法方面的研究,目前还不够深入.
文[11]提到的MBPCA算法在建模时不仅强调每个子块的局部特征,而且在对整个过程测量变量求负载向量时还考虑到了各子块间的相互联系.因此,真正的多块建模算法不是简单地组合多个子块监测模型.本文将分别在各个子块上建立独立监测模型的方法统称为“伪”分散式监测方法.尽管MBPCA算法在十几年前就已经提出,但相对应的多块ICA算法却一直没有被研究,这主要是因为FastICA迭代求解算法在提取多个独立成分时,各个独立成分间是并列的,不存在优先排序.因而在利用ICA算法实施多块分散式过程监测时,就只能简单地为各个子块分别建立独立的ICA监测模型,即“伪”分散式ICA模型[16-18].
因此,在参考MBPCA多块建模思想的基础上,提出一种类似的多块ICA建模算法,并将之应用于非高斯的分散式过程监测.首先,对FastICA算法的迭代过程进行修正,使修正后的FastICA(MICA)算法在提取多个独立成分时,能够根据它们的负熵大小给出优先排序.其次,在MICA算法的基础上提出一种类似于MBPCA求解过程的MBMICA算法. MBMICA算法不是简单为各个子块建立MICA模型,而是通过测量变量整体的解混向量引导各个子块中独立成分的分解.最后将通过在TE过程的仿真实验来验证基于MBMICA算法实施分散式非高斯过程监测的可靠性与优越性.
1 非高斯与分散式过程监测方法 1.1 基于ICA的非高斯过程监测假设观察数据为X=[x1,x2,…,xm]∈Rn×m,ICA算法的目的在于从观察数据中分离出k(k≤m)个未知的独立成分S=[s1,s2,…,sk],并将X表示为[5]
(1) |
其中,E∈Rn×m是残差矩阵,S∈Rn×k和A∈Rm×k分别表示独立成分矩阵和混合矩阵.在A和S未知的情况下,ICA通过找出一个解混矩阵W∈Rm×k,使得从X分离出来的信号
(2) |
(3) |
其中,Q是白化矩阵.
当ICA用于在线监测新采集的样本
(4) |
(5) |
其中,
文[19]提出的MBPCA算法实施的前提在于能将m个测量变量分解成B个互不重叠的变量子块,即将X∈Rn×m分解成:
(6) |
其中,第b个子块Xb∈Rn×mb含有mb个变量且满足m=
MBPCA首先在整个变量空间中求得第1负载向量,然后将其分解到各个子块中,进而求解各个子块的得分向量. MBPCA算法的实施步骤归纳为:
1) 初始化i=1与X(i)=[X1,X2,…,XB].
2) 利用PCA算法求解矩阵X(i)对应的第1负载向量p(i),并根据式(6)对应地将p(i)分解成B个子块负载向量p1(i),p2(i),…,pB(i).
3) 计算各子块得分向量tb(i)=Xb(i)pb(i).
4) 更新各子块矩阵
5) 更新矩阵X(i+1)=[X1(i+1),X2(i+1),…,XB(i+1)],并置i=i+1后返回步骤2)继续求解.
从上述实施步骤中可以看出,利用MBPCA算法实施多块建模时,每次迭代都需要利用矩阵X(i)的第1负载向量来引导各个子块矩阵中得分向量的求解,而不是像“伪”多块PCA算法那样直接在各个子块中建立相应的PCA模型.当利用MBPCA算法对新采集的样本
FastICA算法由于具有快速收敛的优点而广泛地用于提取独立成分[16-18],具体的实施过程可参考文[5].为了提取多个不同的独立成分,FastICA算法采用正交化处理的方法进行去相关[5],即:
(7) |
(8) |
然而FastICA算法在每次迭代过程中提取到的独立成分都是从Z直接分离出来的,这使得它无法对各个独立成分进行优先排序.事实上,文[20]已经提到过多种对独立成分进行优先排序的法则.为了在迭代求解多个独立成分的过程中能保证它们的正交性,同时还能给出它们的先后或优先顺序,提出了一种MICA算法.该MICA算法对原始FastICA算法的迭代过程进行修正,具体实施过程为
1) 对X进行白化处理得到矩阵Z.
2) 设置独立成分的个数k与初始化i=1.
3) 随机初始化解混向量wi.
4) 更新
5) 实施归一化处理
6) 先计算第i个独立成分si=Zwi,再从矩阵Z中剔除掉该独立成分,即Z=Z-siaiT,其中,
7) 若i < k,则置i=i+1后返回步骤3);否则,算法执行结束,得到k个独立成分.
从上述的迭代求解过程可以看出,MICA算法不再对解混向量wi进行正交化处理,而是利用从Z中逐个剔除其独立成分的方式来保证各个独立成分间的正交性.另外,正是由于从Z中逐个剔除已提取的独立成分,MICA算法实现了对各个独立成分按其负熵大小的优先排序.
2.2 MBMICA算法MICA算法对矩阵Z实施逐一剔除的方式与1.2节介绍的MBPCA算法实施步骤4)相似,因此基于MICA算法可提出相应的MBMICA算法.在对过程测量变量分解的基础上,类比于MBPCA算法通过矩阵X(i)的第1负载向量引导各个子块得分向量的计算,相应的MBICA算法的具体实施过程为:
1) 初始化i=1与X(i)=Z.
2) 利用MICA算法求解矩阵X(i)对应的第1个解混向量w(i),并根据过程变量分解的方法相应地将w(i)分解成B个子块解混向量w1(i),w2(i),…,wB(i).
3) 计算各子块的独立成分向量sb(i)=Xb(i)wb(i).
4) 更新各个子块的矩阵Xb(i+1) = Xb(i)-sb(i)ab(i)T,其中,
5) 更新矩阵X(i+1)=[X1(i+1),X2(i+1),…,XB(i+1)],并置i=i+1后返回步骤2)继续求解.
同样地,从上述算法的实施步骤中可以看出,MBMICA使用矩阵X(i)的第1个解混向量引导各子块独立成分向量的计算,而不是利用MICA算法简单地为各个子块提取其独立成分.
2.3 基于MBMICA的分散式过程监测对新采集的样本
(9) |
其中,
(10) |
(11) |
其中,Tb,lim2是第b个子块对应的控制限. 接着计算
(12) |
(13) |
最后将各个子块的统计量Tb2整合为
(14) |
类似地,可以根据上述的融合方法计算BICSPE.本文将监测控制限1-α设为0.01,如果BICT2或BICSPE大于1-α,说明该系统检测到故障;否则继续监测下一个新采集的样本. 图 1是基于MBMICA的分散式过程监测流程图.
3 实验对比与分析 3.1 非高斯数值过程考虑非高斯数值过程:
(15) |
式中,非高斯源信号s(t)=[s1(t),s2(t),s3(t)]T按照式(16)生成:
(16) |
其中,mod表示取余操作,U(0,1)表示在0和1之间的均匀分布,矩阵A为
(17) |
采集500个
Tennessee Eastman(TE)过程是一个包含多个生产单元的复杂化工系统,其采样数据已经被广泛地用于验证过程监测方法的有效性和优越性[20-23]. TE过程对象主要包括连续搅拌式反应器、冷凝器、气液分离塔、汽提塔和离心式压缩机等5个生产单元组成,它可以连续地测量22个过程变量、19个成分信息及12个操作变量,并且可以在21种不同的故障工况下仿真运行[23].本文采用的TE过程仿真数据集从http://webs.mit.edu/braatzgroup/links.html.下载获得.
本文根据文[15]的建议选取33个与TE过程运行状态紧密联系的过程变量作为监测变量,并利用在正常工况下采集的960个数据样本作为训练样本集.为了实施分散式过程监测,将已选取的33个测量变量根据TE过程的组成单元分解成4个互不重叠的子块[12],分解结果如表 1所示.由于压缩机和冷凝器仅涉及3个变量,即变量20、27和33,如果单独建立子块,无法保证能够提取到足够的子块信息,因此将这3个变量和它们距离最近的分离塔的变量都分在子块3中.为了对比分析MBMICA监测方法的可靠性与优越性,除了和MBPCA方法作对比外,还需要采用PCA、ICA和MICA算法分别在4个子块上建立“伪”分散式过程监测模型,即DPCA(decentralized PCA)、DICA(decentralized ICA)和DMICA(decentralized MICA).另外,为了保证实验结果的可比性,所有涉及ICA算法的监测方法都使用KDE计算各个子块中监测统计量的控制限,并且对所有的分散式监测方法统一使用贝叶斯推理方法将4组监测统计量整合成两个对应的概率型监测指标:BICT2与BICSPE.
子块 | 过程变量 | 变量描述 |
1 | 1,2,3,5,6,23,24,25 | 原料输入 |
2 | 7,8,9,21,32 | 反应器 |
3 | 10,11,12,13,14,20,22,27,28,29,33 | 分离塔、压缩机和冷凝器 |
4 | 4,15,16,17,18,19,26,30,31 | 汽提塔 |
首先,利用在正常工况下采集的第0组数据集测试不同分散式监测方法在监测正常工况时的误报率,并在表 2中给出相应的测试结果.从表 2可以看到,MBMICA方法的监测指标BICSPE给出的误报率最低(0.77%),而DPCA方法的监测指标BICT2得到的误报率最高(3.96%),DICA和DMICA方法的误报率较高,由此可知MBMICA方法在过程故障检测中相比其它4种方法更有效.其次,利用在21类不同故障工况下采集到的21组数据集测试各个监测方法的故障漏报率,相应的故障漏报率对比于表 2中,并且用黑体标出各个监测方法对每类故障检测到的最小故障漏报率数值.由于故障3、9和15对TE过程的影响甚微,而且已经被很多文献证实无法检测到相应的故障信息[15-18],因此在本文的研究中不予考虑.
序号 | DPCA | DICA | DMICA | MBPCA | MBMICA | |||||
BICT2 | BICSPE | BICT2 | BICSPE | BICT2 | BICSPE | BICT2 | BICSPE | BICT2 | BICSPE | |
0 | 3.96 | 1.04 | 1.98 | 1.46 | 2.29 | 1.15 | 1.80 | 0.80 | 1.20 | 0.77 |
1 | 0.75 | 0.25 | 0.13 | 0.38 | 0.13 | 0.38 | 0.50 | 0.25 | 0.38 | 0.00 |
2 | 1.25 | 1.50 | 2.13 | 1.38 | 2.50 | 1.50 | 1.38 | 1.63 | 1.63 | 1.63 |
3 | 98.38 | 94.63 | 97.13 | 94.50 | 97.13 | 95.50 | 98.13 | 92.75 | 96.75 | 94.75 |
4 | 39.75 | 0.00 | 0.00 | 97.00 | 4.00 | 95.50 | 0.00 | 96.38 | 0.38 | 2.13 |
5 | 72.88 | 75.38 | 74.00 | 70.88 | 74.63 | 71.75 | 72.75 | 77.25 | 0.00 | 0.00 |
6 | 0.50 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.50 | 0.00 | 0.00 | 0.00 |
7 | 0.00 | 0.88 | 0.25 | 0.00 | 0.13 | 0.00 | 0.00 | 1.63 | 0.88 | 0.00 |
8 | 3.50 | 6.25 | 3.88 | 3.00 | 5.25 | 2.25 | 2.63 | 10.00 | 2.50 | 2.50 |
9 | 98.63 | 93.75 | 96.38 | 95.75 | 96.88 | 96.13 | 97.13 | 94.63 | 96.50 | 96.13 |
10 | 67.75 | 43.50 | 26.25 | 34.00 | 26.25 | 31.00 | 66.63 | 42.00 | 19.75 | 13.25 |
11 | 40.25 | 25.75 | 12.88 | 72.13 | 12.50 | 70.38 | 14.13 | 96.75 | 29.75 | 28.75 |
12 | 1.38 | 3.88 | 2.38 | 1.63 | 2.50 | 0.50 | 1.13 | 4.75 | 0.13 | 0.13 |
13 | 5.38 | 5.00 | 6.25 | 6.25 | 6.38 | 5.13 | 5.38 | 5.00 | 4.63 | 4.88 |
14 | 0.00 | 48.38 | 1.50 | 12.38 | 1.50 | 12.38 | 0.00 | 26.00 | 0.13 | 0.00 |
15 | 97.88 | 92.25 | 97.00 | 95.13 | 97.13 | 93.88 | 96.25 | 93.13 | 94.13 | 95.00 |
16 | 84.13 | 47.38 | 15.38 | 34.75 | 15.38 | 20.50 | 79.63 | 71.13 | 15.13 | 12.75 |
17 | 5.25 | 54.63 | 4.25 | 14.50 | 4.13 | 14.38 | 3.75 | 27.88 | 11.00 | 3.38 |
18 | 10.25 | 9.50 | 9.25 | 9.25 | 10.13 | 8.88 | 10.75 | 9.25 | 9.50 | 9.88 |
19 | 81.13 | 69.75 | 59.38 | 86.50 | 46.88 | 60.78 | 83.38 | 81.00 | 20.00 | 16.25 |
20 | 57.25 | 45.63 | 54.25 | 48.25 | 40.63 | 51.13 | 51.50 | 37.50 | 11.75 | 10.50 |
21 | 56.63 | 38.00 | 60.25 | 66.75 | 60.13 | 51.38 | 56.63 | 38.25 | 55.75 | 52.88 |
故障1、2、4、6、7、8、12、13、14和18对生产过程的影响较为明显,由于故障的变化幅度较大,因此绝大多数方法都能较好地检测出这几类故障.从表 2中也可以看出,用于对比实验分析的5种分散式过程监测方法都能较好地检测出这些故障,各个方法的故障漏报率差异并不明显.但在针对故障5、10、16、17、19和20的监测结果上,MBMICA方法取得较为明显的改善结果.这主要是因为MBMICA在实施多块分散式建模时,通过整体变量的第1解混向量引导各个子块的独立成分提取,这不仅考虑各个子块的局部特征,同时还考虑到了过程对象的整体性.相比于MBPCA方法,MBMICA方法的优势主要在于非高斯性独立成分的提取,因此它更适合于对非高斯过程的监测.以TE过程的故障20为例,图 3分别给出了5种不同分散式过程监测方法的监测详图.从图 3可以很直观地看到在故障发生后(即第161个样本点起),MBMICA的故障漏报情况明显比其它4种分散式过程监测方法要低.从上述仿真实验结果的分析中可以得出,MBMICA相比于其它4种监测方法具有非常明显的故障检测优势.
值得指出的是,因为对过程测量变量的分解是实施分散式过程监测的基础,不同的分块结果会对分散式过程监测方法的监测性能造成较大的影响.为此,需要进一步研究MBMICA在不同变量分块结果下的监测性能.考虑到实际的工业过程往往异常复杂,有时候很难根据它的组成单元确定过程对象的分块结果,这时可以根据样本数据的统计特征对过程测量变量进行自动分解.例如,文[17]曾提出使用Hellinger距离将过程变量分解为如表 3所示的5个子块.基于如表 3所示的变量分块,研究对比不同分散式过程监测方法的平均故障漏报率,相应的对比结果如图 4所示.从图 4可以看出,无论是BICT2 指标,还是BICSPE指标,MBMICA方法都取得了最小平均故障漏报率.因此,对于不同的变量分块结果,MBMICA均具有非常明显的故障检测优势.
子块 | 过程变量 |
1 | 1,8,11,17,22,25,28,33 |
2 | 2,3,4,5,9,13,14,15,16,21,26,30,32 |
3 | 6,10,12,23,24,29 |
4 | 7,20,27 |
5 | 18,19,31 |
针对“伪”多块ICA模型在建模过程中忽略子块间整体性的问题,本文首先通过修正FastICA算法的正交化处理过程得到MICA算法,进而提出了一种类似于MBPCA算法的MBMICA算法,用于非高斯的分散式过程监测.这种新的分散式监测方法可以兼顾各个子块的独特性和子块间的整体性.通过非高斯数值过程的仿真实验结果表明,MICA算法能够同样有效地提取到独立成分;并且在TE过程对象的对比仿真实验也充分地说明了MBMICA方法的可靠性和优越性.虽然MBMICA方法由于考虑了子块间的联系而具有明显的故障检测优势,但它并未定量地表示这种联系,那么如何度量子块间的联系是本文需要进一步研究的内容.
[1] | Gang L, Qin S J. Comparative study on monitoring schemes for non-Gaussian distributed process[J]. Journal of Process Control, 2016, 67: 69–82. |
[2] |
卢春红, 王杰华, 文万志.
非局部约束下的局部稀疏保持投影及其在故障检测中的应用[J]. 信息与控制, 2019, 48(1): 123–128.
Lu C H, Wang J H, Wen W Z. Nonlocality-constrained locality sparse preserving projections and its application to fault dectection[J]. Information and Control, 2019, 48(1): 123–128. |
[3] | Yin S, Ding S X, Xie X C, et al. A review on basic data-driven approaches for industrial process monitoring[J]. IEEE Transactions on Industrial Electronics, 2014, 61(11): 6418–6428. DOI:10.1109/TIE.2014.2301773 |
[4] |
郭金玉, 王鑫, 李元.
基于集成核局部保持投影算法的故障检测[J]. 信息与控制, 2018, 47(2): 191–199.
Guo J Y, Wang X, Li Y. Fault detection based on ensemble kernel locality preserving projections[J]. Information and Control, 2018, 47(2): 191–199. |
[5] | Lee J M, Yoo C K, Lee I B. Statistical process monitoring with independent component analysis[J]. Journal of Process Control, 2004, 14: 467–485. DOI:10.1016/j.jprocont.2003.09.004 |
[6] |
张沐光.基于局部-全局结构分析的统计过程监测方法研究[D].杭州: 浙江大学, 2011. Zhang M G. Research on statistical process monitoring method based on Local-Global structure analysis[D]. Hangzhou: Zhejiang University, 2011. |
[7] | Ge Z Q. Review on data-driven modeling and monitoring for plant-wide industrial processes[J]. Chemometrics and Intelligent Laboratory Systems, 2017, 171: 16–25. DOI:10.1016/j.chemolab.2017.09.021 |
[8] |
衷路生, 何东, 龚锦红, 等.
基于分布式ICA-PCA模型的工业过程故障检测[J]. 化工学报, 2015, 66(11): 4546–4554.
Zhong L S, He D, Gong J H, et al. Fault monitoring of industrial process based on distributed ICA-PCA model[J]. Journal of Chemical Industry and Engineering, 2015, 66(11): 4546–4554. |
[9] | Tong C D, Yan X F. A novel decentralized process monitoring scheme using a modified multiblock PCA algorithm[J]. IEEE Transactions on Automation Science and Engineering, 2017, 14(2): 1129–1138. DOI:10.1109/TASE.2015.2493564 |
[10] | Westerhuis J A, Kourti T, Macgergor J F. Analysis of multi-block and hierarchical PCA and PLS models[J]. Journal of Chemometrics, 1998, 12(5): 301–321. DOI:10.1002/(SICI)1099-128X(199809/10)12:5<301::AID-CEM515>3.0.CO;2-S |
[11] | Qin S J, Valle S, Piovoso M J. On unifying multiblock analysis with application to decentralized process monitoring[J]. Journal of Chemometrics, 2001, 15(9): 715–742. DOI:10.1002/cem.667 |
[12] | Zhu J L, Ge Z Q, Song Z H. Distributed parallel PCA for modeling and monitoring of large-scale plant-wide processes with big data[J]. IEEE Transaction on Industrial Informatics, 2017, 13(4): 1877–1885. DOI:10.1109/TII.2017.2658732 |
[13] | Xu C, Zhao S Y, Liu F. Distributed plant-wide process monitoring based on PCA and minimal redundancy maximal relevance[J]. Chemometrics and Intelligent Laboratory Systems, 2017, 169: 53–63. DOI:10.1016/j.chemolab.2017.08.004 |
[14] | Jiang Q C, Yan X F. Plant-wide process monitoring based on mutual information-multiblock principal component analysis[J]. ISA Transactions, 2014, 53(3): 1516–1527. |
[15] | Ge Z Q, Song Z H. Distributed PCA model for plant-wide process monitoring[J]. Industrial & Engineering Chemistry Research, 2013, 52(5): 1947–1957. |
[16] | Li S, Zhou X F, Pan F C, et al. Correlated and weakly correlated fault detection based on variable division and ICA[J]. Computers & Industrial Engineering, 2017, 112: 320–335. |
[17] | Jiang Q C, Wang B, Yan X F. Multiblock independent component analysis integrated with Hellinger distance and Bayesian inference for Non-Gaussian plant-wide process monitoring[J]. Industrial & Engineering Chemistry Research, 2015, 54(9): 2497–2508. |
[18] | Wang B, Yan X F, Jiang Q C. Independent component analysis model utilizing de-mixing information for improved non-Gaussian process monitoring[J]. Computers & Industrial Engineering, 2016, 94: 188–200. |
[19] | Cheng G, Macvoy T J. Predictive on-line monitoring of continuous processes[J]. Journal of Process Control, 1998, 8(6): 409–420. |
[20] | Tong C D, Palazoglu A, Yan X F. Improved ICA for process monitoring based on ensemble learning and Bayesian inference[J]. Chemometrics and Intelligent Laboratory Systems, 2014, 135: 141–149. DOI:10.1016/j.chemolab.2014.04.012 |
[21] |
杨泽宇, 王培良.
基于核独立成分分析和支持向量数据描述的非线性系统故障检测方法[J]. 信息与控制, 2017, 46(2): 149–156.
Yang Z Y, Wang P L. Fault detection method for non-linear systems based on kernel independent component analysis and support vector data description[J]. Information and Control, 2017, 46(2): 149–156. |
[22] | Mustapha A, Abdelmalek K, Azzeddine B. A combined monitoring scheme with fuzzy logic filter for plant-wide Tennessee Eastman process fault detection[J]. Chemical Engineering Science, 2018, 187: 269–279. DOI:10.1016/j.ces.2018.05.001 |
[23] | Downs J J, Vogel E F. A plant-wide industrial process control problem[J]. Computers & Chemical Engineering, 1993, 17(3): 245–255. |