一种基于修剪独立元回归策略的非高斯过程监测方法
技术领域
本发明涉及一种数据驱动的过程监测方法,尤其涉及一种基于修剪独立元回归策略的非高斯过程监测方法。
背景技术
近年来,数据驱动的过程监测方法得到了学术界与工业界的广泛关注,几乎有关过程系统的学术会议或研讨会都会设立相关的模块。数据驱动的过程监测方法额核心本质是利用采样数据来反映生产过程运行状态,对数据变化特征进行有效描述是保证这类方法可靠性的直接途径。通常而言,数据驱动的过程监测模型的建立只依赖于正常生产工况下采集到的数据,这是一种单分类无监督型的建模方式。正因为如此,多变量统计分析方法在这一领域得到了推广,其中当以主成分分析(Principal Component Analysis,PCA)与独立元分析(Independent Component Analysis,ICA)最受关注。两者都是对正常工况下的采样数据进行特征提取,然后针对提取的特征进行监测。所不同的是,PCA是在二阶方差的指引下挖掘训练数据的相关性特征,而ICA则是高阶统计量的指引下更深一步挖掘数据的潜在独立元信息。因此,ICA算法相比于PCA算法更能揭示原始数据的本质,这也是为何ICA通常能取得优越于PCA的故障检测效果。值得一提的是,国外学者曾于2006改进了原始ICA算法迭代求取独立元的步骤,所提出的修正型ICA(Modified ICA,MICA)算法能克服原始ICA算法对初始值敏感的问题,而且PCA还是MICA算法在挖掘纯高斯分布过程数据时的一种特例。
然而,无论是ICA还是MICA算法,它们实施在线故障检测时都需要针对独立元与模型残差分别计算相应的统计监测指标,即:平方马氏距离或平方欧式距离。然后,再根据距离型指标的具体数值与相应的控制上限之间的大小关系,确定当前的监测样本是否偏离正常数据的允许变化范围。从几何空间上讲,平方马氏距离或欧氏距离所定义的正常范围呈现出超椭球体或超球体形状。但是,只有在被监测对象服从高斯分布时,该超椭球体或超球体内部空间才有可能被全部填充。可想而知,一旦不满足高斯分布,该超椭球体或超球体内部空间将会呈现出稀疏状态,甚至于“空洞”。若是故障工况的采样数据经ICA模型投影变换后恰好处于该“空洞”位置,则ICA故障检测模型是无法检测出该种故障类型的。不幸的是,ICA提取出的独立元成分本身就是需要做到非高斯最大化,除纯高斯过程外,独立元是肯定不满足高斯分布特性的。因此,ICA或MICA算法用于过程监测还有很大的改进空间。
由于ICA算法在挖掘训练数据特征上有独特的优势,可不采用距离型的统计指标作为监测统计量。取而代之的是,能描述非高斯分布独立元具体分布的方法,比如核密度估计或者支持向量描述。虽然这两种方法理论上是可以较准确的描述出非高斯分布的独立元的正常变化情况,但是前提是模型参数设置合理。直指目前为止,如何在只利用正常数据的前提下为核密度估计或支持向量描述确定“最佳”模型参数,一直以来都是个悬而未决的难题。因此,如何应对非高斯分布的独立元依旧是个丞待解决的问题。
发明内容
本发明所要解决的主要技术问题是:如何在MICA模型的基础上,将非高斯独立元成分转换为高斯分布的成分,从而加强距离型监测指标对正常数据可允许变动范围描述的精确性。本发明提供一种基于修剪独立元回归策略的非高斯过程监测方法,该方法在已建立的MICA模型基础上,通过假设缺失数据的技术手段利用修剪后的独立元回归估计出MICA模型的独立元成分,最后利用独立元的估计误差建立平方马氏距离实施在线故障检测。
本发明解决上述技术问题所采用的技术方案为:一种基于修剪独立元回归策略的非高斯过程监测方法,包括以下步骤:
(1)收集生产过程正常运行状态下的数据样本,组成训练数据集X∈R
n×m,并对每个变量进行标准化处理,得到均值为0,标准差为1的新数据矩阵
其中,n为训练样本数,m为过程测量变量数,R为实数集,R
n×m表示n×m维的实数矩阵。
(2)利用ICA算法为
建立相应的MICA模型:
初始化i=1,其中,
为d个独立成分列向量组成的矩阵,W∈R
m×d为分离矩阵,A∈R
m×d为混合矩阵,E∈R
n×m表示模型误差,上标号T表示矩阵或向量的转置。利用MICA算法为
建立MICA模型的具体实施过程如下所示:
②计算协方差矩阵C的所有特征值和特征向量,并剔除小于0.0001的特征值及其对应的特征向量,得到特征向量矩阵P=[p1,p2,…,pM]∈Rm×M以及特征值对角矩阵D=(λ1,λ2,…,λM)∈RM×M;
值得注意的是,这里求解得到的特征向量p1,p2,…,pM都必须是单位长度的向量;
③根据公式
对
进行白化处理,得到Z∈R
n×M,并初始化i=1;
④取列向量ci为M×M维单位矩阵中的第i列,
⑤按照如下所示公式更新ci,即:
ci←E{Zg(ci TZ)}-E{h(ci TZ)}ci (1)
上式(3)中,E{}表示求取期望值(即向量的平均值),函数g和h的具体形式如下所示:
g(u)=tanh(u) (2)
h(u)=[sech(u)]2 (3)
上两式中,u为函数自变量,在这里指代ci TZ中的元素。
⑥对更新后的向量ci依次按照下式进行正交标准化处理:
ci←ci/||ci|| (5)
⑦重复步骤⑤~⑥直至向量ci收敛,并保存向量ci;
⑧判断i<M;若是,置i=i+1后,重复步骤④~⑧;若否,执行步骤⑨;
⑨将得到的所有M个向量c1,c2,…,cM组成矩阵C=[c1,c2,…,cM]∈RM×M,并按照如下所示公式计算分离矩阵W0∈Rm×M与混合矩阵A0∈Rm×M:
A0=PD1/2C (6)
W0=PD-1/2C (7)
⑩计算A0中每一列向量的长度,分别记为L1,L2,…,LM,并将L1,L2,…,LM按照数值大小进行降序排列得到l1,l2,…,lM,那么保留的独立成分个数d为满足下列条件的最小值:
将A
0中列向量长度最大的d个列向量组成新的混合矩阵A∈R
m×d,同时从W
0中取出与A对应的列向量组成新分离矩阵W∈R
m×d;
(3)假设矩阵
中第i列数据缺失,为不失一般性,可将新数据矩阵
与分离矩阵W分别表述成
与
其中,
为假设缺失的数据(实为矩阵
中第i列),
由矩阵
中剩余的列组成,
为矩阵W中对应于缺失数据的行向量,
由矩阵W中剩余的行向量组成。
(4)利用最小二乘回归构建修剪独立元
与S之间的回归模型,即:
上式中,修剪独立元
回归矩阵
E
i∈R
n×d为独立元估计误差矩阵。可以看出,所谓的修剪独立元
其实为将缺失数据置零后依据MICA模型计算出来的。
值得指出的是,独立元估计误差Ei的秩rank(Ei)=1,也就是说Ei中存在较多冗余信息。关于证明rank(Ei)=1的具体思路如下:
由于
其中
那么独立元估计误差矩阵E
i可以按照如下公式进行推算:
因此,秩rank(Ei)的运算就满足如下所示公式:
考虑到
实为矩阵
中第i列,则
又因为误差矩阵E
i一般不为零矩阵,因此有rank(E
i)=1。
Ei=UiΛiVi T (12)
其中,Ui与Vi为酉矩阵,对角矩阵Λi实际上只包含了一个非零奇异值,这是因为rank(Ei)=1。因此,独立元估计误差矩阵Ei消除冗余的变换矩阵为Θi=ViΛi -1。
(6)根据公式Ui=EiΘi计算出剔除冗余信息后的误差向量Ui,并判断是否满足条件i<m;若是,则置i=i+1后返回步骤(3);若否,则将得到的误差向量组成矩阵U=[U1,U2,…,Um]后继续执行下一步骤。
(7)计算U的协方差矩阵Φ=U
TU/(n-1),并计算监测指标Q的控制上限
(8)收集新采样时刻的数据样本x∈R
1×m,对其实施与步骤(1)中相同的标准化处理得到新数据向量
后,初始化i=1。
(9)假设新数据向量
中第i个数据缺失,同理,
可表示成
其中,
为第i个缺失的数据,
由向量
中除缺失数据以外的元素组成。
(10)利用如下所示公式计算出对应于向量
在缺失第i个数据的前提下的修剪独立元
即:
(11)按照如下所示公式计算独立元估计误差ei:
(12)利用公式ui=eiΘi计算消除冗余信息后的误差ui后,判断是否满足条件i<m?若是,则置i=i+1后返回步骤(9);若否,则将得到的误差组成向量u=[u1,u2,…,um]并继续执行下一步骤
(13)按照如下所示公式计算当前被监测样本数据的监测指标Q,即:
Q=uΦ-1uT (15)
判断Q的具体数值是否大于对应控制上限Qc;若否,则当前样本为正常工况采样;若是,则当前采样数据则来自故障工况。
与传统方法相比,本发明方法的优势在于:
本发明方法在MICA模型的基础上,通过逐一假设各测量变量缺失,然后计算相应的修剪独立元成分,再利用修剪独立元成分回归估计出独立元的估计值。最后,本发明方法直接对消除冗余信息后的独立元的估计误差建立距离型统计量监测指标实施在线故障检测。由于MICA算法能有效地训练数据的潜藏有用信息,以MICA模型为基础通过修剪独立元回归产生估计误差通常是服从高斯分布的,或者至少是能最大限度的使误差接近于高斯分布。而受益于误差的高斯分布特性,本发明方法利用平方马氏距离统计指标所定义的正常数据允许变化区域不会出现稀疏或“空洞”现象,因此,本发明方法能显著提升MICA模型用于非高斯过程监测的故障检测能力,是一种更为优选的非高斯过程监测方法。
附图说明
图1为本发明方法的基本原理示意图。
图2为原始数据中部分被监测变量的高斯分布检验图。
图3为各个独立元估计误差的高斯分布检验图。
图4为TE过程故障19的监测详图
具体实施方式
下面结合附图与具体的实施案例对本发明方法进行详细的说明。
如图1所示,本发明公开一种基于修剪独立元回归策略的非高斯过程监测方法。下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程,以及相对于现有方法的优越性。
该被监测对象为来自于美国的田纳西-伊斯曼(TE)化工过程,原型是伊斯曼化工生产车间的一个实际工艺流程。目前,TE过程因其流程的复杂性,已作为一个标准实验平台被广泛用于故障检测研究。整个TE过程包括22个测量变量、12个操作变量、和19个成分测量变量。所采集的数据分为22组,其中包括1组正常工况下的数据集与21组故障数据。而在这些故障数据中,有16个是已知故障类型,如冷却水入口温度或进料成分的变化、阀门粘滞、反应动力学漂移等,还有5个故障类型是未知的。为了对该过程进行监测,选取如表1所示的33个变量作为被监测变量,接下来结合该TE过程对本发明具体实施步骤进行详细的阐述。
在TE过程正常生产工况下采集960个样本作为训练数据,用以建立过程监测模型,具体实施步骤如下所示:
表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 |
冷凝器冷却水流量 |
步骤1):对训练数据进行标准化处理,得到新数据矩阵
为验证TE过程实为一非高斯过程对象,特将其中第9、10、13、18、19、和31号监测变量的高斯分布检验图展示于图2中。可以发现,检验图都不呈现线性特性,即这些监测变量不服从高斯分布。
步骤2):对
建立MICA模型:
并初始化变量下标号i=1。
步骤3):设矩阵
中第i列数据缺失,为不失一般性,可将训练数据矩阵
与分离矩阵W分别表述成
与
其中,
为假设缺失的数据(实为矩阵
中第i列),
由矩阵
中剩余的列组成,
为矩阵W中对应于缺失数据的行向量,
由矩阵W中剩余的行向量组成;
步骤4):最小二乘回归构建修剪独立元
与S之间的回归模型,保留回归矩阵
步骤5):对独立元估计误差矩阵
实施奇异值分解,得到消除误差E
i中冗余的变换矩阵Θ
i=V
iΛ
i -1。
步骤6):根据公式Ui=EiΘi计算出剔除冗余信息后的误差向量Ui,并判断是否满足条件i<16;若是,则置i=i+1后返回步骤(3);若否,则将得到的误差向量组成矩阵U=[U1,U2,…,U33]后继续执行下一步骤。
为了展示本发明方法得到的误差是服从高斯分布的,特将U1,U2,…,U33的高斯分布检验结果逐个显示于图3中。显而易见的是,高斯分布检验结果都近乎成一条直线。因此,经本发明方法转变后的误差是服从高斯分布的。
步骤7):计算U的协方差矩阵Φ=UTU/959,监测指标Q的控制上限Qc=54.7755。
在TE过程第19类故障工况条件下,同样采集960个数据样本,其中故障工况在161个采样点时引入。相应的在线故障监测实施过程如下所示:
步骤8):收集新采样时刻的数据样本x∈R
1×33,对其实施与步骤(1)中相同的标准化处理得到新数据向量
后,初始化i=1。
步骤9):假设新数据向量
中第i个数据缺失,
可表示成
步骤10):计算出对应于向量
在缺失第i个数据的前提下的修剪独立元
步骤12):计算消除冗余信息后的误差ui=eiΘi后,判断是否满足条件i<33?若是,则置i=i+1后返回步骤(9);若否,则将得到的误差组成向量u=[u1,u2,…,u33]并继续执行下一步骤。
步骤13):计算当前被监测样本数据的监测指标Q=uΦ-1uT,实施在线故障检测。
将本发明方法与传统MICA方法监测故障19时的详图显示于图4中,可以很明显的发现,本发明方法显著地提升了MICA方法的故障检测能力。
上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。