郭金玉,王東琴,李 元
(沈陽化工大學 信息工程學院,遼寧 沈陽 110142)
隨著現(xiàn)代自動化技術(shù)的快速發(fā)展,工業(yè)系統(tǒng)無論在規(guī)模、復雜程度還是在一體化程度上都在不斷提高,但同時也造成故障發(fā)生概率不斷增大,所以對控制精度和可靠性的要求也越來越高,人們迫切需要建立一個具有高性能的監(jiān)控系統(tǒng)來監(jiān)視系統(tǒng)的運行狀態(tài),實時檢測出系統(tǒng)發(fā)生的故障[1-3]。近年來,基于數(shù)據(jù)驅(qū)動的故障檢測技術(shù)在工業(yè)過程中得到了廣泛應(yīng)用,并成為了學術(shù)界的研究熱點。
主元分析(principal component analysis,PCA)[4]方法已廣泛應(yīng)用于工業(yè)生產(chǎn)過程監(jiān)視方面,但PCA提取原始數(shù)據(jù)的全局信息,丟失局部信息。因此,尋找保持原始數(shù)據(jù)局部結(jié)構(gòu)的方法開始得到學術(shù)界的關(guān)注。HU等[5]將局部保持投影 (locality preserving projections,LPP)算法運用于工業(yè)過程的統(tǒng)計監(jiān)測中。通過離線和在線的比較,一定程度上顯示了流形學習方法在故障檢測中的優(yōu)越性。但是投影向量不是正交的,增加了數(shù)據(jù)誤差重構(gòu)方面的難度。為了更好地保持數(shù)據(jù)的局部結(jié)構(gòu),CAI等[6]提出正交局部保持投影(orthogonal locality preserving projections,OLPP)算法,在LPP的基礎(chǔ)上增加了一個正交化的約束條件,通過迭代計算得到相互正交的投影方向。在此基礎(chǔ)上,GUO等[7]提出一種基于動態(tài)多向正交局部保持投影(dynamic multiway orthogonal locality preserving projections,DMOLPP)算法用于間歇過程故障檢測,該算法將滑動窗口技術(shù)與OLPP相結(jié)合,能夠在保持原始訓練樣本局部信息的同時降低數(shù)據(jù)誤差重構(gòu)方面的難度。LUO等[8]提出核全局-局部保持投影算法(kernel global-local preserving projections,KGLPP),將LPP算法推廣應(yīng)用于非線性生產(chǎn)過程,但KGLPP方法的檢測效果受到核參數(shù)的影響。郭金玉等[9]提出集成核局部保持投影(ensemble kernel locality preserving projections,EKLPP)算法,解決KLPP方法的檢測效果受到核參數(shù)影響的問題。為了提高LPP算法的故障檢測性能,GUO等[10]提出差分局部保持投影(difference locality preserving projections,DLPP)算法,利用差分方法剔除數(shù)據(jù)的非線性和多模態(tài)結(jié)構(gòu),然后利用LPP進行故障檢測。在此基礎(chǔ)上,郭金玉等[11]提出一種基于統(tǒng)計差分局部保持投影(statistics difference locality preserving projections,SDLPP)的多模態(tài)間歇過程故障檢測方法,利用統(tǒng)計模量分析和差分算法,使多模態(tài)數(shù)據(jù)變?yōu)閱文B(tài),保證數(shù)據(jù)近似服從高斯分布,從而達到提高LPP在多模態(tài)間歇過程中故障檢測性能的目的。然而,這些局部算法不能有效地監(jiān)控稀疏不一致的多模態(tài)過程。為了解決這個問題,本文嘗試將二階差商和LPP算法相結(jié)合,提出一種新的基于二階差商局部保持投影(second order difference quotient locality preserving projections,SODQ-LPP)的多模態(tài)過程故障檢測方法。通過二階差商預處理算法消除多模態(tài)數(shù)據(jù)的多中心和稀疏不一致的特性,滿足LPP算法的SPE和T2統(tǒng)計量要求數(shù)據(jù)服從高斯分布的需求,提高LPP算法在多模態(tài)數(shù)據(jù)中的檢測效果。
LPP算法[12]是一種用于提取數(shù)據(jù)特征信息的降維方法,它可以很好地保留數(shù)據(jù)的局部信息,主要考慮的是保持數(shù)據(jù)中近鄰點之間的結(jié)構(gòu)。算法的核心是尋找轉(zhuǎn)換矩陣A,使一系列的矩陣X=[x1,x2,…,xn]∈Rm×n投影到Y(jié)=[y1,y2,…,yn]∈Rl×n(l<<m)上,即yi=ATxi,使Y盡可能地代表X。其中m為變量數(shù),n為樣本數(shù)。LPP算法的目的是在降維的同時,保持樣本固有的局部流形結(jié)構(gòu)不變,是一種局部子空間學習算法。
通過求解優(yōu)化式(1)的最小值問題求解矩陣A:
約束條件是:
式中L是拉普拉斯矩陣,L=D-W,W是定義在數(shù)據(jù)點上的相似矩陣,D是對角矩陣,Wij的計算方式為
式中Wij是加權(quán)矩陣中的元素,參數(shù)t是根據(jù)經(jīng)驗設(shè)定的。求目標函數(shù)的最小值可以保證近鄰點xi和xj的投影yi和yj也是近鄰點。
其中,XLXT和XDXT都是對稱且半正定的,因此求矩陣(XDXT)-1XLXT的最小特征值對應(yīng)的特征向量,即得到投影矩陣A。
為消除數(shù)據(jù)的多模態(tài)特性,GUO等[10]運用差分算法即一階差分算法對數(shù)據(jù)進行預處理,計算式為:
式中xi代表數(shù)據(jù)集X∈Rm×n中的第i(i= 1,2,…,n)個樣本,是xi的最近鄰樣本,的選取是根據(jù)歐式距離求得的。差分算法可以消除方差差異不明顯的多模態(tài)特性,但對于模態(tài)間稀疏程度明顯的多模態(tài)問題,差分算法就失去其有效性。
為了解決上述問題,消除各模態(tài)間的方差差異,ZHANG等[13]提出近鄰差分算法,對于樣本xi,先找到它的第k個近鄰樣本,進行一階差分運算得到:
運用同樣的方法,找到樣本的第k個近鄰樣本,再進行一階差分運算得到:
一階差分運算消除數(shù)據(jù)的多中心結(jié)構(gòu),同時能保持當前樣本與其近鄰之間的位置信息。為了描述數(shù)據(jù)的結(jié)構(gòu)差異,定義樣本xi的二階差商如下:
下面對多模態(tài)數(shù)值例子進行預處理。假設(shè)有兩個不同模態(tài)的數(shù)據(jù),其中每個模態(tài)有800個樣本。每個樣本有兩個變量,在每個模態(tài)中都是獨立的。在模態(tài)1中,變量x1和x2均服從[-100,1]的正態(tài)分布;在模態(tài)2中,變量x1和x2均服從[18,26]的正態(tài)分布。每個模態(tài)的400個正常數(shù)據(jù)作為訓練樣本,其余400個正常數(shù)據(jù)作為校驗樣本,6個異常數(shù)據(jù)作為故障樣本。故障2、3和4是密集模態(tài)的故障,而故障1、5和6是稀疏模態(tài)的故障。圖1是訓練樣本、校驗樣本和故障樣本的數(shù)據(jù)分布散點圖。圖中圓圈表示訓練數(shù)據(jù),星號表示校驗數(shù)據(jù),方塊表示故障數(shù)據(jù)。從圖1可以看出,該數(shù)值例子是稀疏程度不同的多模態(tài)實例。
圖1 原始數(shù)據(jù)散點圖Fig.1 Scatter plot of original data
圖2 差分預處理散點圖Fig.2 Scatter plot of data preprocessed by difference algorithm
通過尋優(yōu)測試,在二階差商算法中,樣本的近鄰數(shù)和近鄰樣本的近鄰數(shù)k分別取為3和7。對多模態(tài)的數(shù)值例子運用差分和二階差商的方法進行預處理,結(jié)果分別如圖2和圖3所示。圖中圓圈表示訓練數(shù)據(jù),星號表示校驗數(shù)據(jù),方塊表示故障數(shù)據(jù)。從圖2可以看出,差分算法可以剔除數(shù)據(jù)的多模態(tài)特性,使多模態(tài)數(shù)據(jù)變成單模態(tài)數(shù)據(jù),有效地分離出靠近稀疏數(shù)據(jù)的故障1、5和6,但不能分離出靠近密集數(shù)據(jù)的故障2、3和4。這是由于差分算法能有效地處理方差差異小的多模態(tài)過程數(shù)據(jù),而對于方差差異明顯的多模態(tài)過程數(shù)據(jù)處理效果不理想。從圖3可以看出,二階差商算法不但可以剔除數(shù)據(jù)的多模態(tài)特性,使多模態(tài)數(shù)據(jù)變成單模態(tài)數(shù)據(jù),而且二階差商算法可以有效地將所有故障數(shù)據(jù)分離出來。綜上所述,二階差商算法對于方差差異明顯的多模態(tài)過程數(shù)據(jù)處理效果更好。經(jīng)二階差商方法預處理后,變量x1的分布如圖4所示。從圖4可以看出,預處理后數(shù)據(jù)服從高斯分布,滿足LPP算法的SPE和T2統(tǒng)計量要求數(shù)據(jù)服從高斯分布的需求。
圖3 二階差商預處理散點圖Fig.3 Scatter plot of data preprocessed by second order difference quotient
圖4 二階差商預處理后變量x1的分布圖Fig.4 Distribution plot of variable x1 preprocessed by second order difference quotient
采集正常工況下各個模態(tài)的數(shù)據(jù),運用二階差商進行預處理,從而消除多模態(tài)數(shù)據(jù)的多中心和方差差異特性,利用LPP方法建立模型,計算統(tǒng)計量并利用核密度估計法確定控制限。對新來的數(shù)據(jù)運用二階差商預處理后,向LPP模型上進行投影,然后計算統(tǒng)計量并與控制限比較,從而進行多模態(tài)過程的故障檢測。
基于二階差商LPP的多模態(tài)過程故障檢測流程如圖5所示?;诙A差商LPP方法的多模態(tài)過程故障檢測步驟主要分為建模過程和在線檢測兩部分。
圖5 基于二階差商LPP的多模態(tài)過程故障檢測流程圖Fig.5 Fault detection flow chart of multimode processes based on second order difference quotient LPP
(1)建模過程
1) 對正常工況下各模態(tài)的訓練數(shù)據(jù)運用二階差商進行預處理得到矩陣X**,消除多模態(tài)數(shù)據(jù)的多中心和方差差異特性;
2) 確定加權(quán)矩陣W,利用式(4)求出投影矩陣A;
3) 運用LPP算法建立模型,并計算統(tǒng)計量SPE和T2。SPE和T2的計算公式為:
其中T=ATX**,T為LPP降維后的主元矩陣,E=X**-AT,S是矩陣(X**DX**T)-1X**LX**T的l個最小特征值的對角陣;
4) 利用核密度估計法[14-16]確定統(tǒng)計量SPE和T2的控制限。
(2) 在線檢測
1) 對新來的校驗數(shù)據(jù)運用二階差商進行預處理;
2) 向LPP模型上進行投影,并計算統(tǒng)計量SPE和T2;
3) 監(jiān)控統(tǒng)計量SPE和T2是否超過控制限。若統(tǒng)計量大于控制限,則該反應(yīng)時刻的數(shù)據(jù)樣本是故障的;否則是正常的。
通過尋優(yōu)測試,在SODQ-LPP方法中,樣本的近鄰數(shù)和近鄰樣本的近鄰數(shù)k分別取為3和7。對2.2節(jié)中的多模態(tài)數(shù)值例子運用LPP、DLPP和SODQ-LPP方法進行故障檢測,檢測結(jié)果如圖6所示。圖中圓圈表示訓練數(shù)據(jù),星號表示校驗數(shù)據(jù),方塊表示故障數(shù)據(jù),虛線為 95% 控制限。從圖6可以看出,LPP算法的SPE和T2統(tǒng)計量均有3個故障樣本未檢測出,38個樣本出現(xiàn)誤報。這是因為LPP方法不能有效地檢測多模態(tài)過程數(shù)據(jù)。DLPP算法的SPE和T2統(tǒng)計量均有3個故障樣本未檢測出,22個樣本出現(xiàn)誤報。這是由于DLPP方法能有效地檢測方差差異小的多模態(tài)過程數(shù)據(jù),而對于方差差異明顯的多模態(tài)過程數(shù)據(jù)檢測效果不理想。SODQ-LPP算法的SPE統(tǒng)計量檢測出全部故障樣本,18個樣本出現(xiàn)誤報;T2統(tǒng)計量檢測出全部故障樣本,7個樣本出現(xiàn)誤報。與LPP和DLPP方法相比,SODQ-LPP故障檢測率較高,誤報率相對較低,從而驗證SODQ-LPP方法的有效性。
圖6 3種算法對多模態(tài)數(shù)值例子的檢測結(jié)果圖Fig.6 Detection results of the three methods for multimodal numerical examples
表1是3種算法對多模態(tài)數(shù)值例子的檢測結(jié)果對比。從表1可以看出,SODQ-LPP方法的檢測效果要明顯優(yōu)于LPP和DLPP方法。綜上所述,與其它兩種方法相比,SODQ-LPP方法有較低的誤報率和漏報率,驗證了該方法的有效性和優(yōu)越性。
表1 3種方法多模態(tài)數(shù)值例子的檢測結(jié)果對比Table 1 Comparison of detection results of the three methods for multimodal numerical examples
半導體數(shù)據(jù)來源于美國德州儀器公司的半導體生產(chǎn)過程實際數(shù)據(jù),是個典型的非線性、時變、多階段和多工況的復雜多模態(tài)間歇過程。該數(shù)據(jù)由3個模態(tài)的107個正常批次和20個故障批次組成,其中1~34批次為第1模態(tài),35~70批次為第2模態(tài),71~107批次為第3模態(tài)。每個模態(tài)分別選取32個批次用于建模,其余的正常批次作為校驗批次用于驗證模型的準確性,因此建模批次為96個,正常校驗批次為11個,故障批次為20個。本文從 21個測量變量中選取 17個變量作為檢測變量,參見文獻[17~20]。
每個批次是不等長的,持續(xù)時間在95~112 s變化。運用最短長度法獲得等長批次。為了消除傳感器中初始的波動影響,去除開始的5個樣本,保留85個樣本以適應(yīng)最短的批次。將三維建模數(shù)據(jù)X(96×85×17)沿批次方向展開成二維矩陣X(96×1445)。對校驗數(shù)據(jù)和故障數(shù)據(jù)也進行同樣的處理。
通過尋優(yōu)測試,在SODQ-LPP方法中,樣本的近鄰數(shù)和近鄰樣本的近鄰數(shù)k分別取為13和27。對二維數(shù)據(jù)矩陣分別運用LPP、DLPP和SODQ-LPP方法進行建模,并對11個校驗批次和20個故障批次數(shù)據(jù)進行檢測。3種方法的檢測結(jié)果如圖7所示,圖中圓圈表示訓練批次,星號表示校驗批次,方塊表示故障批次,虛線為95% 控制限。從圖7中可以看出,LPP方法的SPE統(tǒng)計量有1個校驗批次誤報,故障批次有3個未檢測出來;T2統(tǒng)計量正確檢測出全部校驗批次,沒有誤報批次,但故障批次有13個未檢測出來。LPP方法的檢測效果不理想,這是因為LPP方法不能有效地檢測多模態(tài)過程數(shù)據(jù)。DLPP方法的SPE統(tǒng)計量正確檢測出全部校驗批次,沒有誤報批次,而故障批次有2個未檢測出來;T2統(tǒng)計量正確檢測出全部校驗批次,沒有誤報批次,但故障批次有17個未檢測出來。DLPP方法能有效地檢測方差差異小的多模態(tài)過程數(shù)據(jù),而對于方差差異明顯的多模態(tài)過程數(shù)據(jù),DLPP方法檢測效果不理想。SODQ-LPP方法的SPE統(tǒng)計量正確檢測出全部校驗批次,沒有誤報批次,而故障批次有1個未檢測出來;T2統(tǒng)計量正確檢測出全部校驗批次,沒有誤報批次,但故障批次有12個未檢測出來。與LPP和DLPP方法相比,SODQ-LPP方法的檢測效果最好,驗證了基于二階差商LPP方法在多模態(tài)間歇過程故障檢測中的有效性和優(yōu)越性。
圖7 3種方法對半導體數(shù)據(jù)的檢測結(jié)果圖Fig.7 Detection results of the three methods for semiconductor data
表2是 3種方法對半導體數(shù)據(jù)的檢測結(jié)果對比。由表2可以看出,與 LPP和 DLPP方法相比,SODQ-LPP方法有較低的誤報率和漏報率,說明該方法對于多模態(tài)數(shù)據(jù)的故障檢測非常有效,從而驗證了該方法的有效性和優(yōu)越性。
表2 3種方法對半導體數(shù)據(jù)的檢測結(jié)果對比Table 2 Comparison of detection results of the three methods for semiconductor data
提出一種基于二階差商LPP的多模態(tài)過程故障檢測方法。該方法在進行多模態(tài)過程故障檢測時,能夠最大化地分離多模態(tài)的正常和故障數(shù)據(jù)。通過二階差商預處理方法消除多模態(tài)數(shù)據(jù)的多中心和模態(tài)間的方差差異特性,從而更加準確地檢測出故障數(shù)據(jù)。將提出的方法應(yīng)用到數(shù)值例子和實際的半導體工業(yè)數(shù)據(jù)中,仿真結(jié)果表明,與傳統(tǒng)的故障檢測方法相比,本文的方法降低了誤報率和漏報率,從而驗證了該方法的有效性和優(yōu)越性。
符號說明: