[0028] 下面结合附图对本发明方法进行详细的说明。
[0029] 如图1所示,本发明方法提供一种基于误差主元分析模型的工业过程监测方法,具体包括以下步骤:
[0030] 首先是离线建模部分,如图2中左图所示,实施流程如下所示:
[0031] 步骤(1):收集生产过程正常运行状态下的数据样本,组成训练数据集X∈Rn×m,并对每个变量进行标准化处理,得到均值为0,标准差为1的新数据矩阵 其中,n为训练样本数,m为过程测量变量数,R为实数集,Rn×m表示n×m维的实数矩阵。
[0032] 步骤(2):利用PCA算法对矩阵 进行分解 其中T∈Rn×m与P∈Rm×m分别为主元得分矩阵与载荷矩阵,并初始化变量下标号i=1,具体实施过程如下所示:
[0033] ①计算 的相关性矩阵
[0034] ②求解C所有特征值λ1≥λ2≥…≥λm所对应的特征向量p1,p2…,pm;
[0035] ③将m个特征向量组成载荷矩阵P=[p1,p2…,pm];
[0036] ④根据公式 计算主元得分矩阵T∈Rn×m。
[0037] 步骤(3):假设矩阵 中第i列数据缺失,为不失一般性,可将矩阵 表述成其中, 为矩阵 中第i列, 由矩阵 中剩余的列组成,对应的载荷矩阵P表述成 其中, 为矩阵P中的第i行, 由矩
阵P中除去第i行以外的元素组成,上标号T表示矩阵或向量的转置。
[0038] 步骤(4):按照如下所示公式推测出 中的第i列数据的估计值
[0039]
[0040] 步骤(5):计算缺失数据的估计误差 并判断是否满足条件i<m;若是,置i=i+1后,重复执行步骤(3)~(5);若否,将所有得到的估计误差向量组成误差矩阵F=[F1,F2,…,Fm]∈Rn×m后执行步骤(6)。
[0041] 步骤(6):对误差矩阵F建立基于PCA的故障检测模型,保留模型载荷矩阵H∈Rm×d、主元得分矩阵G∈Rn×d的协方差矩阵Λ∈Rd×d、以及监测统计量的控制上限 与Qc。为F建立基于PCA的故障检测模型包括以下步骤:
[0042] ①计算F的协方差矩阵S=FTF/(n-1);
[0043] ②求解S所有特征值γ1≥γ2≥…≥γm所对应的特征向量h1,h2…,hm;
[0044] ③设置保留的主成分个数d为满足如下所示条件的最小值,并将对应的d个特征向量组成载荷矩阵H=[h1,h2…,hd];
[0045]
[0046] ④根据公式G=FH计算主元得分矩阵G∈Rn×d,并计算其相应的协方差矩阵Λ=GTG/(n-1);
[0047] ⑤根据如下所示公式分别确定监测统计量T2与Q对应的控制上限 与Qc:
[0048]
[0049]
[0050] 上两式中,置信水平α=99%,Fα(d,n-d)表示自由度为d与n-d的F分布, 表示权重为g=v/2b,自由度为h=2a2/b的χ2分布,a与b分别是F对应的Q统计量的估计均值和估计方差。
[0051] 其次,实施在线故障检测的流程如图2中右图所示,详细的过程如下所示:
[0052] 步骤(7):收集新采样时刻的数据样本x∈Rm×1,对其实施与步骤(1)中相同的标准化处理得到新数据向量 后,初始化i=1。
[0053] 步骤(8):假设向量 中第i个数据缺失,同理,可表示成 其中,为第i个缺失的数据, 由向量 中除缺失数据以外的元素组成,按照如下所示公式计算中缺失变量实测值与估计值之间的误差ei:
[0054]
[0055] 步骤(9):判断是否满足条件i<m;若是,置i=i+1后,重复执行步骤(8)~(9);若T否,将所有得到的估计误差组成误差向量e=[e1,e2,…,em]后执行下一步骤(10)。
[0056] 步骤(10):用步骤(6)中保留的故障检测模型参数,并根据如下所示公式分别计算监测统计量T2与Q的具体数值:
[0057] T2=eTHΛHTe (10)
[0058] Q=eT(I-HHT)e (11)
[0059] 步骤(11):判断T2与Q的具体数值是否大于对应控制上限 与Qc;若否,则当前样本为正常工况采样;若是,则当前采样数据来自故障工况,理应继续监测接下来的3~6个新样本,若都超限,则说明当前工况已出现故障,若都没超限,则说明当前工况仍旧处于正常状态。
[0060] 下面结合一个具体的工业过程的例子来说明本发明方法相对于现有方法的优越性与可靠性。该过程数据来自于美国田纳西-伊斯曼(TE)化工过程实验,原型是伊斯曼化工生产车间的一个实际工艺流程。目前,TE过程因其流程的复杂性,已作为一个标准实验平台被广泛用于故障检测研究。整个TE过程包括22个测量变量、12个操作变量、和19个成分测量变量。所采集的数据分为22组,其中包括1组正常工况下的数据集与21组故障数据。而在这些故障数据中,有16个是已知故障类型,如冷却水入口温度或进料成分的变化、阀门粘滞、反应动力学漂移等,还有5个故障类型是未知的。为了对该过程进行监测,选取如表1所示的33个过程变量,接下来结合该TE过程对本发明具体实施步骤进行详细的阐述。
[0061] 表1:TE过程监测变量。
[0062] 序号 变量描述 序号 变量描述 序号 变量描述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 冷凝器冷却水流量
[0063] 首先,利用TE过程正常工况下的采样数据建立故障检测模型,包括以下步骤:
[0064] (1)采集正常工况下的过程数据,以其中960个正常数据组成训练数据矩阵X∈R960×33,对其进行标准化处理得到
[0065] (2)利用PCA算法对矩阵 进行分解 并初始化变量下角标i=1。
[0066] (3)假设矩阵 中第i列数据缺失,为不失一般性,可将矩阵 表述成对应的载荷矩阵P表述成
[0067] (4)按照如下所示公式推测出 中的第i列数据的估计值
[0068]
[0069] (5)计算缺失数据的估计误差 并判断是否满足条件i<m;若是,置i=i+1后,重复执行步骤(3)~(5);若否,将所有得到的估计误差向量组成误差矩阵F=[F1,F2,…,Fm]∈Rn×m后执行步骤(6)。
[0070] (6)对误差矩阵F建立基于PCA的故障检测模型,保留模型载荷矩阵H∈Rm×d、主元得分矩阵G∈Rn×d的协方差矩阵Λ∈Rd×d、以及监测统计量的控制上限 与Qc。
[0071] 为验证本发明方法可以将非高斯的原始数据转变成高斯分布的误差信息,特对TE过程第10、19、和31号测量变量的采样数据执行高斯分布检验,相应的检验图显示于图3中的上半部分。可以很明显的发现这三个测量变量不服从高斯分布。因为,高斯分布检验图为一条直线时,所测试的数据向量才服从高斯分布。在经本发明方法转变成误差后,以主元估计误差F10,F19,F31为例,相应的高斯分布检验图如图3中下半部分所示,都呈现出近乎直线的特性。因此,本发明方法在将其转换成误差信号后,该误差是服从高斯分布的。
[0072] 最后,实施在线故障检测,为对比验证本发明方法与其他方法(如传统PCA方法与Modified ICA方法)的优越性,采集TE过程中第五种故障类型工况下的960个采样数据,其中前160个数据是正常的,后800个数据才处于异常工况。
[0073] (7)收集新采样时刻的数据样本x∈R1×33,对其实施与步骤(1)中相同的标准化处理得到新数据向量 后,初始化i=1。
[0074] (8)假设向量 中第i个数据缺失,同理,可表示成 计算 中缺失变量实测值与估计值之间的误差ei。
[0075] (9)判断是否满足条件i<m;若是,置i=i+1后,重复执行步骤(8)~(9);若否,将所有得到的估计误差组成误差向量e=[e1,e2,…,e33]T后执行下一步骤(10)。
[0076] (10)计算监测误差向量e的统计量T2与Q的具体数值。
[0077] (11)判断T2与Q的具体数值是否大于对应控制上限 与Qc;若否,则当前样本为正常工况采样;若是,则当前采样数据来自故障工况,理应继续监测接下来的3~6个新样本,若都超限,则说明当前工况已出现故障,若都没超限,则说明当前工况仍旧处于正常状态。对应的故障监测详图显示于图4中,可以很明显的发现,本发明方法取得的效果明显优越于其他两种方法。
[0078] 上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。