发明内容
本发明所要解决的主要技术问题是:如何在ICA模型的基础上,将非高斯独立元成分转换为高斯分布的误差成分信息,以实现对非高斯过程对象实施精准的过程监测。本发明提供一种基于已知数据回归的非高斯过程监测方法,该方法通过逐个假设测量变量数据缺失,然后利用已知数据回归(KnownDataRegression,KDR)估计出相应的独立元成分,最后利用独立元估计误差实施过程监测。
本发明解决上述技术问题所采用的技术方案为:一种基于已知数据回归的非高斯过程监测方法,包括以下步骤:
(1)收集生产过程正常运行状态下的数据样本,组成训练数据集X∈Rn×m,并对每个变量进行标准化处理,得到均值为0,标准差为1的新数据矩阵其中,n为训练样本数,m为过程测量变量数,R为实数集,Rn×m表示n×m维的实数矩阵。
(2)利用ICA算法为建立相应的ICA模型:初始化变量下标号i=1,为d个独立成分列向量组成的矩阵,W∈Rm×d为分离矩阵,A∈Rm×d为混合矩阵,E∈Rn×m表示模型误差,上标号T表示矩阵或向量的转置。利用ICA算法为建立ICA模型的具体实施过程如下所示:
①计算的协方差矩阵其中C∈Rm×m;
②计算矩阵C的所有特征值和特征向量,并剔除小于0.0001的特征值及其对应的特征向量,得到特征向量矩阵P=[p1,p2,…,PM]∈Rm×M以及特征值对角矩阵D=diag(λ1,λ2,…,λM)∈RM×M;
值得注意的是,这里求解得到的特征向量p1,p2,…,pM都必须是单位长度的向量。
③根据公式对进行白化处理,得到Z∈Rn×M,并初始化i=1;
④取列向量ci为M×M维单位矩阵中的第i列,
⑤按照如下所示公式更新ci,即:
ci←E{Zg(ci TZ)}-E{h(ci TZ)}ci (1)
上式(1)中,E{}表示求取期望值(即向量的平均值),函数g和h的具体形式如下所示:
g(u)=tanh(u) (2)
h(u)=[sech(u)]2 (3)
上式(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为满足下列条件的最小值:
将A0中列向量长度最大的d个列向量组成新的混合矩阵A∈Rm×d,同时从W0中取出与A对应的列向量组成新分离矩阵W∈Rm×d;
最后得到的ICA模型为
(3)假设矩阵中第i列数据缺失,为不失一般性,可将矩阵表述成其中,为假设缺失的数据(实为矩阵中第i列),由矩阵中剩余的列组成,为已知数据。
(4)利用最小二乘的思路构建已知数据与独立元成分矩阵S之间的回归模型,即:
上式中,回归矩阵Ei∈Rn×d为独立元估计误差矩阵。
值得指出的是,独立元估计误差Ei的秩rank(Ei)=1,也就是说Ei中存在较多冗余信息。关于证明rank(Ei)=1的具体思路如下:
估计误差矩阵Ei可以按照如下公式进行推算:
那么,秩rank(Ei)的运算就满足如下所示公式:
由于实为矩阵中第i列,则又因为误差矩阵Ei一般不为零矩阵,因此有rank(Ei)=1。
(5)对估计误差实施奇异值分解,即:
Ei=UiΛiVi T (12)
其中,Ui与Vi为酉矩阵,对角矩阵Λi实际上只包含了一个非零奇异值,这是因为rank(Ei)=1。因此,从误差Ei到向量Ui之间的变换矩阵为Θi=ViΛi -1。
(6)根据公式Ui=EiΘi计算出剔除冗余信息后的误差向量Ui,并判断是否满足条件i<m?若是,则置i=i+1后返回步骤(3);若否,则将得到的误差向量组成矩阵U=[Ui,U2,…,Um]后继续执行下一步骤。
(7)利用PCA算法为包含独立元估计误差的矩阵U建立相应的PCA故障检测模型,保留模型参数集其中H∈Rm×k为载荷矩阵,A∈Rk×k为对角矩阵,与Qc分别为监测统计量的控制上限。具体的实施过程如下所示:
①计算U的协方差矩阵Z=UTU/(n-1);
②求解Z所有特征值γ1≥γ2≥…≥γm所对应的特征向量h1,h2…,hm;
③设置保留的主成分个数k为满足如下所示条件的最小值,并将对应的k个特征向量组成载荷矩阵H=[h1,h2…,hk];
④得到对角矩阵A=diag{γ1,γ2,…,γk};
⑤根据如下所示公式分别确定监测统计量T2与Q对应的控制上限Tc 2与Qc:
上两式中,置信水平α=99%,Fα(k,n-k)表示自由度为k与n-k的F分布,表示权重为g=v/2b,自由度为h=2a2/b的χ2分布,a与b分别是U对应的Q统计量的估计均值和估计方差。
(8)收集新采样时刻的数据样本x∈R1×m,对其实施与步骤(1)中相同的标准化处理得到新数据向量后,初始化i=1。
(9)假设向量中第i个数据缺失,同理,可表示成其中,xi #为第i个缺失的数据,由向量中除缺失数据以外的元素组成。
(10)利用如下所示公式计算出对应于向量在缺失第i个数据的前提下相应的独立元估计误差ei:
上式中,独立元实际值独立元估计值
(11)利用公式ui=eiΘi计算消除冗余信息后的误差ui后,判断是否满足条件i<m?若是,则置i=i+1后返回步骤(9);若否,则将得到的误差组成向量u=[u1,u2,…,um]并继续执行下一步骤。
(12)调用PCA故障检测模型参数集Φ,并根据如下所示公式计算统计监测指标T2与Q的具体数值:
T2=uHA-1HTuT (17)
Q=u(I-HHT)uT (18)
判断T2与Q的具体数值是否大于对应控制上限与Qc?若否,则当前样本为正常工况采样;若是,则当前采样数据有可能来自故障工况,理应继续监测接下来的3~6个新样本,若都超限,则说明当前工况已出现故障,若都没超限,则说明当前工况仍旧处于正常状态。
与传统方法相比,本发明方法的优势在于:
本发明方法在传统ICA模型的基础上,通过逐个假设缺失数据并利用KDR推算出相应的独立元计估计值,从而将非高斯分布的独立元成分转换成高斯分布的估计误差,并以误差作为监测对象实施基于PCA的在线故障监测。一般而言,ICA算法能揭露出原始数据的本质,以ICA模型为基础通过KDR得到的估计误差通常是服从高斯分布的。而受益于误差的高斯分布特性,本发明方法所描述的正常区域更为精确,能显著提升传统ICA模型用于非高斯过程监测的故障检测能力,是一种更为优选的非高斯过程监测方法。
具体实施方式
下面结合附图与具体的实施案例对本发明方法进行详细的说明。
如图1所示,本发明公开一种基于已知数据回归的非高斯过程监测方法。下面结合一个具体的工业过程的例子来说明本发明方法的具体实施过程,以及相对于现有方法的优越性。
按照如下所示公式设计一个5个测量变量的非高斯过程:
其中,源信号s=[s1,s2]是根据如下所示公式生成的:
上两式(19)与(20)中,测量噪声v服从均值为0,标准差为0.2的高斯分布,t1与t2都为在区间[0,1]上均匀分布的随机数。根据上两个公式模拟仿真出1000个采样样本,以便按照传统ICA、ICA-PCA、和本发明方法建立相应的故障检测模型。可以很明显的发现,这1000个训练数据采样于非高斯过程对象,相应的散点图如图2所示。
步骤1):对训练数据进行标准化处理,得到新数据矩阵
步骤2):对建立ICA模型并初始化变量下标号i=1。
步骤3):假设矩阵中第i列数据缺失,为不失一般性,可将矩阵表述成其中,为假设缺失的数据(实为矩阵中第i列),由矩阵中剩余的列组成,为已知数据;
步骤4):利用最小二乘的思路构建已知数据与独立元成分矩阵S之间的回归模型,保留回归矩阵
步骤5):对估计误差实施奇异值分解,得到误差Ei到向量Ui之间的变换矩阵为Θi=ViΛi -1。
步骤6):根据公式Ui=EiΘi计算出剔除冗余信息后的误差向量Ui,并判断是否满足条件i<m?若是,则置i=i+1后返回步骤(3);若否,则将得到的误差向量组成矩阵U=[U1,U2,…,U5]后继续执行下一步骤。
为了展示本发明方法得到的误差是服从高斯分布的,特将U1,U2,…,U5的高斯分布检验结果显示于图3中。显而易见的是,高斯分布检验结果都近乎成一条直线,相应的数据是服从高斯分布的。
步骤7):利用PCA算法为包含独立元估计误差的矩阵U建立相应的PCA故障检测模型,保留模型参数集
根据表1中所列的2中故障工况,分别对应仿真出相应的测试数据集,每类测试数据集各包含1000个样本,且故障工况于201个采样点时引入。相应的在线故障监测实施过程如下所示:
步骤8):收集新采样时刻的数据样本x∈R1×m,对其实施与步骤(1)中相同的标准化处理得到新数据向量∈R1×m后,初始化i=1。
步骤9):假设向量中第i个数据缺失,同理,可表示成
步骤10):利用公式计算出对应于向量在缺失第i个数据的前提下相应的独立元估计误差ei。
步骤11):利用公式ui=eiΘi计算消除冗余信息后的误差ui后,判断是否满足条件i<m?若是,则置i=i+1后返回步骤(9);若否,则将得到的误差组成向量u=[u1,u2,…,um]并继续执行下一步骤。
步骤12):调用PCA故障检测模型参数集Φ,并计算统计监测指标T2与Q的具体数值,实施在线故障检测。
针对表1中的两类故障工况,三种不同方法所取得故障检测率同样列于表1中,取得最大检测率的数值已经用粗体标出。本发明方法针对这两类故障的监测结果都是最优的,而且过程监测性能的提升很显著。
表1:非高斯过程故障工况及其相应的故障检测结果(%)。
上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。