李 元, 黃瑩瑩
(沈陽(yáng)化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽(yáng) 110142)
隨著自動(dòng)化技術(shù)的發(fā)展和對(duì)產(chǎn)品質(zhì)量要求的不斷提高,現(xiàn)代生產(chǎn)過(guò)程變得越來(lái)越復(fù)雜,同時(shí)故障發(fā)生的概率也在不斷增加,因此,對(duì)工業(yè)過(guò)程進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)可能發(fā)生的故障進(jìn)行實(shí)時(shí)在線監(jiān)測(cè)與診斷是現(xiàn)代工業(yè)中不可或缺的一部分.近年來(lái),故障診斷技術(shù)[1-3]不斷發(fā)展,其中基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法[4-6]是它的一個(gè)重要分支,它利用過(guò)程數(shù)據(jù)建立故障檢測(cè)模型,提取過(guò)程中有用信息,并通過(guò)這些信息判斷過(guò)程是否處于正常狀態(tài).
多元統(tǒng)計(jì)過(guò)程監(jiān)控(multivariate statistical process monitoring,MSPM)是目前基于數(shù)據(jù)驅(qū)動(dòng)的主流方法,其中應(yīng)用最廣泛的為主元分析(principal component analysis,PCA)算法[7-8].PCA使用T2統(tǒng)計(jì)量和SPE統(tǒng)計(jì)量作為統(tǒng)計(jì)指標(biāo)進(jìn)行故障檢測(cè),但傳統(tǒng)的PCA方法是靜態(tài)多變量方法.為了將PCA應(yīng)用于動(dòng)態(tài)過(guò)程,Ku等[9]在1995年提出了動(dòng)態(tài)主元分析(dynamic principal component analysis,DPCA)的概念,并得到了廣泛應(yīng)用[10-11].DPCA通過(guò)引入變量觀測(cè)值構(gòu)造增廣矩陣,然后對(duì)增廣矩陣進(jìn)行PCA建模來(lái)解決這一問(wèn)題.但PCA、DPCA方法假定過(guò)程數(shù)據(jù)是單一模態(tài),而對(duì)多模態(tài)過(guò)程的監(jiān)控效果不好.為了能夠更好地監(jiān)測(cè)多模態(tài)過(guò)程,He[12]提出了基于k近鄰的故障檢測(cè)方法(fault detection-knearest neighbor rule,FD-kNN),該方法以kNN距離為監(jiān)測(cè)指標(biāo),可以實(shí)現(xiàn)對(duì)方差差異不明顯的多模態(tài)數(shù)據(jù)的監(jiān)測(cè),但該方法對(duì)距離的求解計(jì)算量較大,所占存儲(chǔ)空間也比較大,阻礙了該方法的在線實(shí)施.為了克服上述缺點(diǎn)并保留FD-kNN在處理多模態(tài)數(shù)據(jù)時(shí)的優(yōu)勢(shì),在FD-kNN基礎(chǔ)上,He又提出了基于k近鄰的主元分析故障檢測(cè)方法[13](principal component basedk-nearest-neighbor,PC-kNN),并成功地應(yīng)用于半導(dǎo)體生產(chǎn)過(guò)程中.該方法利用PCA降維和信息處理后,將FD-kNN方法應(yīng)用于主元子空間的得分矩陣中.但該方法的故障警告和數(shù)據(jù)丟失比FD-kNN多.此外Ma等提出了局部近鄰標(biāo)準(zhǔn)化((local neighborhood standardized,LNS)[14]方法用來(lái)解決方差差異明顯的多模態(tài)數(shù)據(jù),但k值的選取會(huì)對(duì)整個(gè)系統(tǒng)的性能產(chǎn)生影響.因此,針對(duì)現(xiàn)代生產(chǎn)過(guò)程中數(shù)據(jù)的多模態(tài)和動(dòng)態(tài)時(shí)間序列問(wèn)題,本文將差分法和DPCA算法相結(jié)合,提出基于差分動(dòng)態(tài)主元分析(differential dynamic principal component analysis,Dif-DPCA)的故障檢測(cè)方法,差分法可以剔除原始數(shù)據(jù)的多模態(tài)特性,DPCA算法可以有效處理數(shù)據(jù)的動(dòng)態(tài)特性.
傳統(tǒng)PCA方法是靜態(tài)的多變量檢測(cè)方法,該方法假設(shè)當(dāng)前時(shí)刻觀測(cè)數(shù)據(jù)與過(guò)去時(shí)刻觀測(cè)數(shù)據(jù)是相互獨(dú)立的,當(dāng)采樣時(shí)間較長(zhǎng)時(shí)這種假設(shè)有效.但在實(shí)際生產(chǎn)過(guò)程中,采樣間隔較小,如果不考慮動(dòng)態(tài)關(guān)系的影響,檢測(cè)結(jié)果可能達(dá)不到預(yù)期.為了更好地監(jiān)測(cè)生產(chǎn)過(guò)程,Ku[9]等在論文中提出了DPCA方法.該方法應(yīng)用前面時(shí)刻的觀測(cè)數(shù)據(jù)對(duì)當(dāng)前觀測(cè)數(shù)據(jù)進(jìn)行擴(kuò)充,得到新矩陣,再對(duì)新矩陣進(jìn)行PCA.DPCA算法彌補(bǔ)了PCA算法在處理動(dòng)態(tài)關(guān)系上的不足,因此,由DPCA方法得到的主元更能真實(shí)地反映過(guò)程數(shù)據(jù)的動(dòng)態(tài)特性.
假設(shè)原始數(shù)據(jù)X∈Rn×m,即X具有n個(gè)樣本,m個(gè)變量.具有h個(gè)時(shí)滯的觀測(cè)數(shù)據(jù)的增廣矩陣為
(1)
(1) 令h=0,數(shù)據(jù)中的靜態(tài)關(guān)系數(shù)等于變量數(shù)減去主元個(gè)數(shù);
(2) 令h=1,數(shù)據(jù)中的動(dòng)態(tài)關(guān)系數(shù)等于變量數(shù)減去主元個(gè)數(shù),再減去式(1)中計(jì)算的靜態(tài)關(guān)系數(shù);
(3) 增加h的值,并按照遞推公式(2)計(jì)算新的動(dòng)態(tài)關(guān)系數(shù),直到rnew(h)≤0為止.
(2)
將式(1)得到的增廣矩陣X(h)作為訓(xùn)練數(shù)據(jù)進(jìn)行PCA運(yùn)算.首先對(duì)X(h)進(jìn)行z-score標(biāo)準(zhǔn)化處理,使其變?yōu)榫禐?、方差為1的數(shù)據(jù)陣,然后構(gòu)造協(xié)方差矩陣S:
(3)
對(duì)協(xié)方差矩陣S進(jìn)行奇異值分解(SVD)得到
S=VΛVT.
(4)
其中:Λ為對(duì)角陣,其對(duì)角線上元素為協(xié)方差矩陣S的特征值,且λ1≥λ2≥…≥λn≥0;矩陣V為S的特征向量.
主元子空間得分矩陣T∈Xm×k,T為
T=XP.
(5)
其中:P∈Xm×k為主元空間的負(fù)載矩陣,由S的前k個(gè)主元組成,矩陣P將原始數(shù)據(jù)X從高維空間降維到低維空間.
將上式變換得
(6)
(7)
將X投影到主元空間和殘差空間
(8)
主元個(gè)數(shù)的選取主要是根據(jù)累計(jì)方差貢獻(xiàn)率(cumulative percent varience,CPV)選取.
(9)
其中λi是X的協(xié)方差矩陣的特征值.當(dāng)CPV值大于期望值時(shí),所得k值即為主元個(gè)數(shù).
根據(jù)式(10)、(11)計(jì)算SPE統(tǒng)計(jì)量和T2統(tǒng)計(jì)量
SPE=‖(I-PPT)x‖2,
(10)
T2=xTPΛ-1PTx.
(11)
PCA模型建立后,對(duì)于待檢測(cè)樣本,經(jīng)差分處理后構(gòu)建增廣矩陣,然后向PCA模型上投影,在主元子空間建立平方預(yù)測(cè)誤差(Squared Prediction Error,SPE)統(tǒng)計(jì)量、殘差子空間HotellingT2統(tǒng)計(jì)量,并將統(tǒng)計(jì)量與對(duì)應(yīng)控制限比較,判斷檢測(cè)過(guò)程是否發(fā)生異常.
差分可以在保持?jǐn)?shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上削弱其中心漂移的影響.差分[15]算法的思想是計(jì)算出訓(xùn)練樣本中每個(gè)樣本的近鄰距離并排序,找到每個(gè)樣本的最近鄰樣本,并用原始訓(xùn)練樣本減去其最近鄰樣本,其差值組成新的訓(xùn)練樣本.
假設(shè)數(shù)據(jù)集X∈Rn×m,在數(shù)據(jù)集X中找到每個(gè)樣本xi的最近鄰樣本xj,然后進(jìn)行差分運(yùn)算,方法如下:
Dxi=xi-xj.
(12)
其中Dxi為差分矩陣,將其作為新的訓(xùn)練樣本參與后續(xù)運(yùn)算.差分法可以有效去除數(shù)據(jù)多模態(tài)特性.
基于差分動(dòng)態(tài)主元分析的故障檢測(cè)過(guò)程分為兩步:離線建模和在線檢測(cè).
離線建模過(guò)程如下:
(1) 收集正常操作時(shí)的歷史數(shù)據(jù)集X,X∈Rn×m,n為樣本數(shù),m為變量數(shù);X的每一列代表一個(gè)測(cè)量變量,每一行代表一個(gè)測(cè)量樣本;
(2) 利用差分法對(duì)原始數(shù)據(jù)集X進(jìn)行處理,去除多模態(tài)特征,處理后的矩陣記為X1;
(3) 根據(jù)公式(2)計(jì)算出合適的滯后h,對(duì)矩陣X1進(jìn)行擴(kuò)充,構(gòu)造增廣矩陣X1(h);
(4) 對(duì)X1(h)進(jìn)行PCA降維和特征提??;
(5) 根據(jù)式(10)、(11)計(jì)算SPE統(tǒng)計(jì)量和T2統(tǒng)計(jì)量;
在線檢測(cè)過(guò)程如下:
(1) 對(duì)于待測(cè)樣本數(shù)據(jù)F,找到樣本fi的最近鄰樣本,將fi與其最近鄰樣本做差分處理,得到新矩陣,記為F1;
(2) 根據(jù)時(shí)滯h構(gòu)造增廣矩陣F1(h);
(4) 將SPE統(tǒng)計(jì)量SPEi與控制限SPEα比較,若SPEi>SPEα,則將該樣本判定為故障樣本,反之正常;
差分動(dòng)態(tài)主元分析的流程如圖1所示.
圖1 Dif-DPCA算法流程Fig.1 Dif-DPCA algorithm flowchart
選用的數(shù)值例子為Ku在論文中提到的多變量自回歸過(guò)程,并另加入一個(gè)模態(tài),構(gòu)成多模態(tài)的AR過(guò)程.
(13)
Y(k)=Z(k)+V(k).
其中:U是相關(guān)輸入;輸入W是隨機(jī)噪聲;V(k)是均值為0、方差為0.01的隨機(jī)噪聲.用于分析的向量由[YT(k)UT(k)YT(k-1)UT(k-1)]構(gòu)成.
由公式(13)產(chǎn)生兩個(gè)模態(tài):第一模態(tài)均值為0、方差為1;第二模態(tài)均值為3,方差為2.每個(gè)模態(tài)產(chǎn)生100個(gè)訓(xùn)練數(shù)據(jù)、10個(gè)校驗(yàn)數(shù)據(jù),共200個(gè)訓(xùn)練數(shù)據(jù)、20個(gè)訓(xùn)練數(shù)據(jù).另外產(chǎn)生5個(gè)故障數(shù)據(jù)用于檢測(cè)方法的有效性,故障加在W中.
訓(xùn)練樣本共4列,圖2給出了變量4的分布散點(diǎn)圖.由圖2(a)可知:原始變量4的散點(diǎn)圖為中心不同、方差差異不明顯的兩個(gè)模態(tài);由圖2(b)可知:經(jīng)z-score標(biāo)準(zhǔn)化處理后雖然消除了量綱,但并沒(méi)有消除多模態(tài)特征;由圖2(c)可以看出:經(jīng)差分處理后兩個(gè)模態(tài)變?yōu)橐粋€(gè)模態(tài),剔除了多模態(tài)特征.圖3給出數(shù)據(jù)的直方圖.
圖2 變量4分布散點(diǎn)圖Fig.2 Scatter plot of variable 4 distribution
圖3 變量4分布圖Fig.3 Distribution chart of variable 4
由圖3(a)可知:原始數(shù)據(jù)包含兩個(gè)模態(tài),不滿足單峰高斯分布;由圖3(b)可知:經(jīng)差分處理后變?yōu)橐粋€(gè)模態(tài),滿足高斯分布,為PCA、DPCA算法的應(yīng)用提供了適宜的數(shù)據(jù)條件.
分別使用PCA、DPCA、差分主元分析(difference principal component analysis,Dif-PCA)、Dif-DPCA方法進(jìn)行仿真實(shí)驗(yàn),選取主元個(gè)數(shù)為2,滯后為1.仿真結(jié)果如圖4至圖7所示.
由圖4可以看出:T2和SPE控制限由第二模態(tài)決定,應(yīng)用PCA算法不能檢測(cè)到任一故障.這是由于PCA是線性統(tǒng)計(jì)量,對(duì)單一模態(tài)數(shù)據(jù)處理效果很好,而對(duì)于不服從高斯分布的多模態(tài)數(shù)據(jù)處理效果不好.圖5給出了DPCA的檢測(cè)結(jié)果,可以看出:雖然T2統(tǒng)計(jì)量在214、215時(shí)刻有誤報(bào),但相比PCA算法,DPCA算法的SPE統(tǒng)計(jì)量有一個(gè)故障變量被檢測(cè)出來(lái),因此,對(duì)于動(dòng)態(tài)過(guò)程,DPCA算法的檢測(cè)效果比PCA好.由圖6可以看出:相比PCA和DPCA算法,Dif-PCA方法的SPE統(tǒng)計(jì)量雖然有誤報(bào),但是能檢測(cè)出大部分故障.這是由于引入了差分思想,使原始數(shù)據(jù)變?yōu)榱朔母咚狗植嫉膯我荒B(tài),為PCA方法的檢測(cè)提供了適宜的數(shù)據(jù)條件.但SPE統(tǒng)計(jì)量和T2統(tǒng)計(jì)量仍然各有一個(gè)故障沒(méi)有檢測(cè)出來(lái).這可能是由于數(shù)據(jù)的動(dòng)態(tài)特性造成的.因此,使用Dif-DPCA方法對(duì)多模態(tài)AR過(guò)程進(jìn)行檢測(cè).由圖7可以看出:T2統(tǒng)計(jì)量無(wú)誤報(bào)產(chǎn)生并且檢測(cè)到4個(gè)故障,SPE統(tǒng)計(jì)量檢測(cè)出全部5個(gè)故障,并且無(wú)誤報(bào)產(chǎn)生.與Dif-PCA算法比較,對(duì)于動(dòng)態(tài)過(guò)程引入DPCA思想,故障檢測(cè)效果比使用PCA效果好.綜上所述,與其他3種方法比,Dif-DPCA算法的效果最好,同時(shí)證明了該算法的可行性.
圖4 多模態(tài)AR過(guò)程的PCA故障檢測(cè)結(jié)果Fig.4 PCA fault detection results of multimodal AR process
圖5 多模態(tài)AR過(guò)程的DPCA故障檢測(cè)結(jié)果Fig.5 DPCA fault detection results of multimodal AR process
圖6 多模態(tài)AR過(guò)程的Dif-PCA故障檢測(cè)結(jié)果Fig.6 Dif-PCA fault detection results of multimodal AR process
圖7 多模態(tài)AR過(guò)程的Dif-DPCA故障檢測(cè)結(jié)果Fig.7 Dif-DPCA fault detection results of multimodal AR process
對(duì)半導(dǎo)體工業(yè)過(guò)程進(jìn)行故障檢測(cè).所用數(shù)據(jù)的采集來(lái)自A1堆腐蝕過(guò)程[18-20].半導(dǎo)體生產(chǎn)過(guò)程是典型的非線性、時(shí)變、多工況過(guò)程,如圖8所示.
圖8 半導(dǎo)體數(shù)據(jù)Fig.8 Semiconductor data
半導(dǎo)體數(shù)據(jù)采集來(lái)自3個(gè)不同實(shí)驗(yàn)的共129個(gè)晶片數(shù)據(jù),包括108個(gè)正常晶片和21個(gè)故障晶片.由于一個(gè)正常晶片和故障晶片存在數(shù)據(jù)丟失,因此,實(shí)際可用的批次為107個(gè)正常批次和20個(gè)故障批次.在107個(gè)正常晶片中隨機(jī)選取100個(gè)晶片為訓(xùn)練集,7個(gè)晶片為校驗(yàn)集,20個(gè)故障晶片組成故障集.原始半導(dǎo)體數(shù)據(jù)包含40個(gè)測(cè)量變量,本文使用其中17個(gè)變量.
以變量7為例,圖9給出了變量7的分布散點(diǎn)圖.由圖9(a)可以看出:原始變量7包含3個(gè)模態(tài),可知半導(dǎo)體過(guò)程是一個(gè)多模態(tài)過(guò)程.由圖9(b)可以看出:經(jīng)差分處理后變量7的3個(gè)模態(tài)變?yōu)橐粋€(gè)模態(tài),為PCA和DPCA算法的使用提供了良好的數(shù)據(jù)條件.
圖9 變量7分布散點(diǎn)圖Fig.9 Scatter plot of variable 7 distribution
依次對(duì)半導(dǎo)體采用4種故障診斷算法來(lái)比較不同故障診斷方法的性能.4種算法包括PCA、DPCA、Dif-PCA、Dif-DPCA.其中選取的主元數(shù)為2,滯后為1.圖10~圖13為不同算法的故障檢測(cè)效果圖.
圖10 基于PCA的SPE和T2檢測(cè)圖Fig.10 SPE and T2 detection chart based on PCA
圖11 基于DPCA的SPE和T2檢測(cè)圖Fig.11 SPE and T2 detection chart based on DPCA
圖12 基于Dif-PCA的SPE和T2檢測(cè)圖Fig.12 SPE and T2 detection chart based on Dif-PCA
圖13 基于Dif-DPCA的SPE和T2檢測(cè)圖Fig.13 SPE and T2 detection chart based on Dif-DPCA
由圖10可以看出:基于PCA算法的SPE檢測(cè)到11個(gè)故障,T2統(tǒng)計(jì)量檢測(cè)到4個(gè)故障,說(shuō)明PCA在處理具有多模態(tài)和動(dòng)態(tài)特性數(shù)據(jù)時(shí)存在局限性.由圖11可以看出:基于DPCA的SPE統(tǒng)計(jì)量檢測(cè)出13個(gè)故障并且無(wú)誤報(bào)現(xiàn)象,T2檢測(cè)出3個(gè)故障.通過(guò)比較圖10、圖11可以得出:使用DPCA算法比使用PCA算法效果好.這是由于半導(dǎo)體數(shù)據(jù)具有很強(qiáng)的時(shí)序性,當(dāng)前某一時(shí)刻的數(shù)據(jù)會(huì)受到前面某一時(shí)刻數(shù)據(jù)的影響,因此,引入時(shí)滯可以檢測(cè)到更多的故障.但無(wú)論使用DPCA算法還是PCA算法都有部分故障沒(méi)有檢測(cè)出來(lái).這是由半導(dǎo)體數(shù)據(jù)的多模態(tài)特性造成的,而DPCA和PCA算法都是針對(duì)單一模態(tài).由圖12可以看出:使用Dif-PCA算法對(duì)半導(dǎo)體數(shù)據(jù)進(jìn)行故障檢測(cè),T2檢測(cè)出13個(gè)故障,SPE檢測(cè)出19個(gè)故障,故障檢測(cè)率大大增加.這是由于引入了差分思想,去除了原始數(shù)據(jù)的多模態(tài)特性.由圖12可以看出SPE有1個(gè)故障未檢測(cè)出來(lái),這是由于Dif-PCA算法雖然能處理數(shù)據(jù)的多模態(tài)特性,卻不能處理帶有時(shí)序性的數(shù)據(jù).由圖13看出:使用Dif-DPCA算法對(duì)半導(dǎo)體數(shù)據(jù)進(jìn)行故障檢測(cè),SPE檢測(cè)出全部20個(gè)故障,T2檢測(cè)出18個(gè)故障,并且都無(wú)誤報(bào)產(chǎn)生.與Dif-PCA算法相比,由于引入了動(dòng)態(tài)觀測(cè)值h,最后一個(gè)故障被檢測(cè)出來(lái),故障檢測(cè)率增加.與其他3種算法相比,Dif-DPCA方法的檢測(cè)效果最好,因此,證明了本文所提方法的有效性.表1給出了4種不同算法的檢測(cè)效果.
表1 99 %控制限下4種算法對(duì)半導(dǎo)體數(shù)據(jù)的監(jiān)測(cè)結(jié)果Table 1 Monitoring results of semiconductor data by four algorithms under 99 % control limit
針對(duì)具有多模態(tài)和動(dòng)態(tài)特性的現(xiàn)代工業(yè)生產(chǎn)過(guò)程,提出了基于Dif-DPCA的故障檢測(cè)方法.Dif-DPCA方法不僅能處理多模態(tài)數(shù)據(jù),還能對(duì)具有動(dòng)態(tài)關(guān)系的過(guò)程數(shù)據(jù)進(jìn)行檢測(cè).Dif-DPCA方法應(yīng)用差分法對(duì)原始數(shù)據(jù)進(jìn)行處理,降低數(shù)據(jù)中心漂移影響,使多模態(tài)數(shù)據(jù)變?yōu)榉母咚狗植嫉膯我荒B(tài),為PCA和DPCA算法的使用提供了適宜的數(shù)據(jù)條件;對(duì)新數(shù)據(jù)應(yīng)用DPCA算法,克服了動(dòng)態(tài)關(guān)系的影響.對(duì)多模態(tài)AR過(guò)程和半導(dǎo)體生產(chǎn)過(guò)程的仿真研究表明:Dif-DPCA算法克服了傳統(tǒng)PCA、DPCA算法在多模態(tài)和動(dòng)態(tài)過(guò)程監(jiān)測(cè)中的局限性,仿真結(jié)果較為理想,證明了本文所提方法的有效性.