郭金玉 張安寶 李 元
(沈陽化工大學(xué)信息工程學(xué)院 遼寧 沈陽 110142)
近年來,為了提高系統(tǒng)的安全性,監(jiān)控系統(tǒng)的性能或賦予系統(tǒng)自診斷功能問題[1-5]越來越受到關(guān)注。過程監(jiān)控作為現(xiàn)代過程工業(yè)的重要組成部分,已經(jīng)發(fā)展了二十多年,并且已經(jīng)提出多種方法用于故障檢測和故障診斷。 過程工業(yè)作為國家經(jīng)濟(jì)的支柱發(fā)揮著重大作用,如化工、電力和冶金等。如果這些工業(yè)過程出現(xiàn)了故障,可能會導(dǎo)致巨大的經(jīng)濟(jì)損失甚至傷害。 因此,除了必須實施良好的工業(yè)過程控制策略外,研究過程監(jiān)控和故障診斷方法也很重要。而且隨著技術(shù)的快速發(fā)展,信息正在成為一種重要且不可或缺的資源。
由于高維數(shù)據(jù)提供了豐富的可解釋性,因此使用高維數(shù)據(jù)來表示信息非常受歡迎。然而,高維數(shù)據(jù)通常包含許多噪聲和冗余特征,這可能增加計算成本和存儲成本,導(dǎo)致過度擬合的問題。此外,噪聲和冗余功能會降低特征選擇模型的性能。因此,找到所有特征的子集以進(jìn)行進(jìn)一步的學(xué)習(xí)任務(wù)受到越來越多的關(guān)注。在大量文獻(xiàn)中,子空間學(xué)習(xí)通過降低數(shù)據(jù)的維數(shù)來處理高維數(shù)據(jù)的問題,簡化數(shù)據(jù)中的原始特征。具體而言,子空間學(xué)習(xí)在一定條件下將原始數(shù)據(jù)投影到低維空間。經(jīng)典子空間學(xué)習(xí)方法包括使特征空間與眾不同的主元分析 (Principal component analysis, PCA)。
PCA[6]是數(shù)據(jù)驅(qū)動故障檢測方法最常用的多變量統(tǒng)計分析技術(shù)之一。使用PCA進(jìn)行故障檢測選取前l(fā)x個特征值能反映大部分的數(shù)據(jù)特征。選取主元(Principal component, PC)的方法有剩余百分比方差、平均特征值、基于預(yù)測的誤差平方和或R比的交叉驗證、重構(gòu)誤差方差、Akaike信息標(biāo)準(zhǔn)和嵌入誤差函數(shù)。PC選擇方法按特征值從大到小的順序選擇PC。在這種假設(shè)下,對應(yīng)于較大特征值的PC比對應(yīng)于較小特征值的PC更重要。從數(shù)據(jù)建模的角度來看,這種假設(shè)是合理的,因為對應(yīng)于較大特征值的PC捕捉了大部分的數(shù)據(jù)信息。然而,從故障檢測的角度來看,這可能是不合理的。因為故障數(shù)據(jù)與選取主元的正常數(shù)據(jù)是不同的,因此主要故障信息可能被特征值較小的主元捕捉,而不是由特征值較大的主元捕捉。換句話說,根據(jù)特征值選擇的主元在反映故障數(shù)據(jù)和正常數(shù)據(jù)之間的最大差異方面不是最優(yōu)的。此外,在傳統(tǒng)的主元選擇方法中,所選擇的主元不會隨樣本而變化,即所有樣本都使用相同的主元,這顯然不適用于故障檢測。原因是故障不僅發(fā)生在所選的主元上,也發(fā)生在任何主元上,并且故障對主元的影響隨樣本的變化而變化。一組固定的主元無法捕獲所有故障樣本的重要特征。由于上述缺點,傳統(tǒng)的主元選擇方法不適合用于故障檢測。因此,Luo等[7]提出一種新的基于故障檢測選擇主元的方法。PCA假設(shè)變量之間存在線性相關(guān)性,從而降低了傳統(tǒng)PCA在監(jiān)測非線性系統(tǒng)中的性能。 學(xué)者們提出基于內(nèi)核的核主元分析(Kernel principal component analysis,KPCA),它可以有效地解決這些問題[8-11]。KPCA是PCA的非線性推廣,旨在選擇一定數(shù)量的最具代表性的數(shù)據(jù)特征。通常,在KPCA中,輸入數(shù)據(jù)首先通過非線性映射轉(zhuǎn)換為高維甚至無限維特征空間F,然后在特征空間F中執(zhí)行經(jīng)典PCA。KPCA采用選擇的核函數(shù)來代表在特征空間中樣本向量的內(nèi)積,這意味著它不需要明確地執(zhí)行非線性映射。 KPCA通常優(yōu)于傳統(tǒng)的PCA,因為它可以有效地提取樣本的非線性特征。本文從故障檢測的角度出發(fā),嘗試研究KPCA中核主元(Kernel principal component, KPC)個數(shù)的選擇方法。在KPCA中,利用KPC對樣本馬氏距離(Mahalanobis distance, MD)的貢獻(xiàn)來評價核主元對故障檢測的重要性,具有較大貢獻(xiàn)的核主元對于檢測故障更為重要。在KPCA中,為了選擇合適數(shù)量的核主元進(jìn)行故障檢測,嘗試運用即時累計貢獻(xiàn)率(Just-in-time cumulative percent contribution,JITCPC)準(zhǔn)則[7]。在JITCPC準(zhǔn)則中,按照貢獻(xiàn)的降序?qū)λ泻酥髟M(jìn)行排序后,選擇累計貢獻(xiàn)率(Cumulative percent contribution,CPC)大于預(yù)定閾值(例如90%)的KPC。JITCPC準(zhǔn)則分別對每個樣本進(jìn)行核主元選擇,所選核主元隨樣本的不同而變化,以確保能捕捉每個樣本的重要特征。所選和未選的核主元分別用于定義檢測故障的主要和次要T2統(tǒng)計量,運用兩個指標(biāo)進(jìn)行故障檢測。
(1)
設(shè)C的特征值為λ,特征向量為V,則:
(2)
式中:〈φ(xj),V〉表示φ(xj)與V的點積。式(2)左右兩邊乘φ(xk)變?yōu)椋?/p>
λ(φ(xk),V)=φ(xj),CVk=1,2,…,r
(3)
特征向量V可由特征空間的樣本映射而成:
(4)
結(jié)合式(2)和式(3),可以得到:
(5)
為了避免執(zhí)行非線性映射φ(·)及在特征空間中的點積運算,通過引入核函數(shù)K(x,y)=φ(x),φ(y)來簡化計算,可以得到:
(6)
進(jìn)一步化簡可以得到:
rλα=Kα
(7)
現(xiàn)在,在特征空間執(zhí)行KPCA[12]等價于求解式(7)的特征值問題。僅取前l(fā)x個特征向量實現(xiàn)降維,lx≤r。對保留的lx個特征向量歸一化為:
(8)
(9)
(10)
用一個數(shù)值例子來說明需要研究一種有效的KPC選擇準(zhǔn)則來改善KPCA的故障檢測性能。數(shù)值例子為四個變量和五個因子的系統(tǒng):
x1=t+e1x2=t2+e2x3=-t3+3t2+e3x4=-t4+4t3+e4
(11)
式中:e1、e2、e3和e4是四個相互獨立的因子,它們遵循正態(tài)分布,即ei~N(0,1),t遵循均勻分布,t~U(-2,2)。通過式(11)生成包含500個樣本的訓(xùn)練數(shù)據(jù)集X,并且這些數(shù)據(jù)表示正常數(shù)據(jù)。使用以下公式生成包含20個樣本的測試數(shù)據(jù)集Y。
y1=t+e1+2.8y2=t2+e2+3.8y3=-t3+3t2+e3+7y4=-t4+4t3+e4+7
(12)
Y中的樣本相對于X是故障樣本。故障檢測就是使用X來檢測Y中的全部故障樣本。X和Y的數(shù)據(jù)分布散點如圖1所示,圖中“圓圈”表示訓(xùn)練樣本,“方塊”表示故障樣本。
圖1 數(shù)據(jù)分布散點圖
在X上執(zhí)行KPCA會產(chǎn)生四個核主元,對應(yīng)于四個核主元的特征值如圖2所示。前兩個核主元代表了數(shù)據(jù)集X的99.8%的方差。在考慮選擇適當(dāng)?shù)暮酥髟獊頇z測Y中故障樣本的情況下,使用傳統(tǒng)方法來選擇保留在核主元子空間中的核主元,應(yīng)該選擇前兩個核主元,所以剩余的兩個核主元組成殘差子空間。
圖2 四個特征值直方圖
圖3(a)和圖3(b)分別為選擇前兩個核主元和后兩個核主元時的故障檢測結(jié)果。圖3(a)檢測到16個故障,(7,10,15,20)號故障沒被檢測出來。圖3(b)檢測到15個故障,除了(3,7,10,15,20)號故障沒被檢測出來,其他故障都被檢測出來。從圖3可以看出,故障(7,10,15,20)都未被檢測出來。這表示使用核主元子空間(KPC1和KPC2)中定義的T2統(tǒng)計量以及殘差子空間中定義的SPE統(tǒng)計量(KPC3和KPC4),本文仍然無法檢測到Y(jié)中的所有故障樣本。但是,使用KPC2和KPC3時,成功檢測到Y(jié)中的所有故障樣本,如圖3(c)所示。
(a) KPC1,KPC2的檢測結(jié)果
上面的例子表明,核主元的選擇對故障檢測結(jié)果有很大影響。大多數(shù)傳統(tǒng)KPC選擇方法可能無法選擇合適的核主元進(jìn)行故障檢測,因為它們不會將選擇的核主元與故障檢測連接起來。傳統(tǒng)KPC選擇方法傾向于選擇可以捕捉大部分正常數(shù)據(jù)方差的核主元,而忽略故障數(shù)據(jù)的特征。由于故障可能發(fā)生在任何核主元中,因此僅根據(jù)正常數(shù)據(jù)選擇的核主元對于揭示故障數(shù)據(jù)和正常數(shù)據(jù)之間的差異可能不是最佳的。
設(shè)X表示包含m個變量和r個樣本的訓(xùn)練數(shù)據(jù)集。在訓(xùn)練數(shù)據(jù)集X上執(zhí)行KPCA,也就是在高維空間φ(x)上執(zhí)行PCA。 通過在φ(x)上執(zhí)行PCA得到r個核主元。樣本φ(x)的馬氏距離(Mahalanobis distance, MD)可以根據(jù)KPCA得分和特征值來定義。
MD=(φ(x)-φ0(x))TC-1(φ(x)-φ0(x))=
(φ(x)-φ0(x))T(VΛV)-1(φ(x)-φ0(x))=
(φ(x)-φ0(x))TVΛ-1VT(φ(x)-φ0(x))=
(13)
基于式(13)中MD的分解,第i個核主元對樣本φ(x)的MD的貢獻(xiàn)可以定義為:
(14)
由此可以看出,第i個核主元的貢獻(xiàn)與第i個KPCA特征值的倒數(shù)成比例。這意味著具有較小特征值的核主元可能比具有較大特征值的核主元產(chǎn)生更多貢獻(xiàn),因此它們對于故障檢測更為重要。因此,傳統(tǒng)的核主元選擇方法通常更加重視具有較大特征值的核主元,不適合用于故障檢測。做出更大貢獻(xiàn)的核主元對于故障檢測至關(guān)重要,因為它們是導(dǎo)致MD超出正??刂葡薜闹饕蛩亍墓收蠙z測的角度來看,選擇貢獻(xiàn)較大的核主元是最重要的。在本文中,研究了一種基于即時選擇準(zhǔn)則選取核主元的方法。
即時累計貢獻(xiàn)率(JITCPC)準(zhǔn)則:按照降序排列核主元對樣本φ(x)的MD的貢獻(xiàn),即contr1,x,x≥contr2,x,x≥…≥contrr,x,x。由前l(fā)x個KPC產(chǎn)生的累計貢獻(xiàn)率(CPC)定義為:
(15)
對樣本φ(x)選擇對應(yīng)于所需CPC(例如,CPC≥90%)的前l(fā)x個核主元。
上述選擇準(zhǔn)則應(yīng)分別應(yīng)用于每個樣本,因為核主元對不同樣本的貢獻(xiàn)可能非常不同。因此,使用這個選擇準(zhǔn)則,可為不同的樣本選擇不同的核主元。 然而,當(dāng)使用基于KPCA特征值的傳統(tǒng)選擇核主元方法(例如,平均特征值或剩余百分比方差)時,為所有樣本選擇相同的核主元。這是與根據(jù)主元貢獻(xiàn)率和特征值選擇核主元的主要區(qū)別。使用JITCPC標(biāo)準(zhǔn)時,所選核主元的數(shù)量也可能因樣本而異,但所選核主元的所有樣本的CPC都相似。
設(shè)X是由m個變量和r個樣本組成的訓(xùn)練數(shù)據(jù)集。在φ(x)上執(zhí)行PCA可生成多個核主元。對于樣本φ(x),可以通過式(14)計算r個核主元對MD的貢獻(xiàn)。然后,使用JITCPC準(zhǔn)則選擇對故障檢測重要的核主元。主要T2統(tǒng)計量定義為所有選定核主元的貢獻(xiàn)總和,即:
(16)
式中:lx是為樣本φ(x)選擇的核主元數(shù)。此外,次要T2統(tǒng)計量被定義為所有未選擇的核主元的貢獻(xiàn)總和,即:
(17)
式中:hx=r-lx是樣本φ(x)未選擇的核主元的數(shù)量。主要和次要T2統(tǒng)計量是兩個互補的統(tǒng)計指標(biāo),分別監(jiān)視由選定和未選擇的核主元捕獲的數(shù)據(jù)變化。
故障檢測過程包括離線數(shù)據(jù)建模和在線故障檢測兩個階段,具體步驟如下:
1) 離線數(shù)據(jù)建模。
(1) 將訓(xùn)練數(shù)據(jù)X進(jìn)行標(biāo)準(zhǔn)化。
(2) 在X上運用KPCA產(chǎn)生核主元。
(3) 使用JITCPC準(zhǔn)則為每個訓(xùn)練樣本選擇核主元。
(4) 通過式(16)和式(17)計算每個訓(xùn)練樣本的主要和次要T2統(tǒng)計量。
(5) 運用KDE[13-14]確定主要和次要T2統(tǒng)計量的控制限。
2) 在線故障檢測。
(1) 使用訓(xùn)練數(shù)據(jù)的均值和方差標(biāo)準(zhǔn)化測試數(shù)據(jù)xnew。
(2) 把xnew投影到訓(xùn)練數(shù)據(jù)的KPCA模型上。
(3) 計算核主元對φ(xnew)的Mahalanobis距離(MD)的貢獻(xiàn)。
(4) 使用JITCPC準(zhǔn)則選擇測試數(shù)據(jù)的核主元。
(5) 通過式(16)和式(17)計算測試數(shù)據(jù)的主要和次要T2統(tǒng)計量。
(6) 將兩個T2統(tǒng)計量與控制限進(jìn)行比較。如果其中任何一個超出控制限,測試數(shù)據(jù)為故障。
將核主元選擇準(zhǔn)則和故障檢測方法用于2.1節(jié)中的數(shù)值例子。通過漏報率來評價本文提出方法的效果。漏報率定義為未超出控制限的故障樣本占所有故障樣本的百分比。對訓(xùn)練數(shù)據(jù)集X應(yīng)用KPCA得到四個核主元。在JITCPC準(zhǔn)則中,期望的累計百分比貢獻(xiàn)設(shè)定為90%。選定和未選擇的核主元用于定義故障檢測的主要和次要T2統(tǒng)計量。兩個T2統(tǒng)計量都運用99%的控制限。KPCA的SPE和T2統(tǒng)計量對故障樣本的檢測結(jié)果如圖4(a)和圖4(b)所示。使用前兩個核主元(KPC1和KPC2)定義T2統(tǒng)計量,而SPE統(tǒng)計量由最后兩個核主元定義(KPC3和KPC4)。圖4(c)和圖4(d)為使用JITCPC準(zhǔn)則的主要和次要T2的故障檢測結(jié)果。由圖4可以看出,基于KPCA的T2統(tǒng)計量檢測出16個故障樣本。故障樣本3、7、15和20既沒有被KPCA的T2統(tǒng)計量檢測到,也沒有被SPE統(tǒng)計量檢測到。但是,所有故障樣本都可通過主要T2統(tǒng)計量檢測出來。次要T2統(tǒng)計量沒有檢測到故障樣本。上述結(jié)果表明,JITCPC準(zhǔn)則對于選擇適當(dāng)?shù)暮酥髟M(jìn)行故障檢測是有效的。
(a) KPCA的SPE檢測圖 (b) KPCA的T2檢測圖
表1為KPCA和JITCPC準(zhǔn)則對數(shù)值例子的檢測結(jié)果??梢钥闯鯦ITCPC準(zhǔn)則中主要T2統(tǒng)計量的漏報率最低,檢測效果最好。
表1 數(shù)值例子的檢測結(jié)果
將半導(dǎo)體工業(yè)實例用于驗證所提方法的監(jiān)控性能。本文所使用的數(shù)據(jù)集是在德克薩斯儀器公司的LAM 9600等離子體刻蝕工具上進(jìn)行的,該數(shù)據(jù)集來自Al堆??涛g過程[15-18]。對共發(fā)生21次故障的129塊晶片進(jìn)行了三次實驗,這些故障是通過改變變壓器耦合等離子體射頻功率、RF功率、壓力、CI或BCI流量以及卡盤壓力來產(chǎn)生的。原始數(shù)據(jù)集包含40個變量,包括過程設(shè)定值、測量變量和控制變量,如氣體流速、腔室壓力和RF功率,本文選擇19個變量進(jìn)行故障檢測。但是,在所有批處理時間內(nèi),兩個變量(偏置RF反射功率和TCP反射功率)保持為零。因此,本文中使用的監(jiān)測變量數(shù)量減少到17個。此外,由于兩批中缺少大量數(shù)據(jù),僅有107個正常批次和20個故障批次用于仿真研究。運用統(tǒng)計模量分析(Statistics pattern analysis, SPA)[19-22]展開上述的半導(dǎo)體數(shù)據(jù)?;诮y(tǒng)計模量分析的方法捕獲每個變量的特征(如均值、方差和偏度)、不同變量之間的相互作用(如相關(guān)性),以及過程動態(tài)(如自相關(guān)和互相關(guān))來解決與非線性過程動態(tài)等連續(xù)過程相關(guān)的問題。本文使用均值和方差兩種統(tǒng)計特征。每個批次的均值和方差特征構(gòu)成一個等長的特征向量。107個批次的特征向量構(gòu)成的數(shù)據(jù)矩陣用于建模。通過在訓(xùn)練數(shù)據(jù)集上執(zhí)行KPCA產(chǎn)生42個核主元。KPCA的T2統(tǒng)計量是使用對應(yīng)于7個最大特征值的核主元定義的,這些主元包含了大約99.2%的方差;其余35個核主元用于定義SPE統(tǒng)計量。在JITCPC準(zhǔn)則中即時累計百分比貢獻(xiàn)設(shè)定為90%。所有監(jiān)控統(tǒng)計量運用99%的控制限。故障檢測性能通過漏報率(Missing alarm rate, MAR)來進(jìn)行比較。
圖5為KPCA和JITCPC準(zhǔn)則選取不同核主元對半導(dǎo)體數(shù)據(jù)的檢測結(jié)果。從圖5(a)和圖5(b)可以看出,KPCA的SPE統(tǒng)計量檢測到15個故障批次,T2統(tǒng)計量檢測到3個故障批次。KPCA的漏報率較高,這是由于KPCA選取特征值較大的核主元,這些核主元是數(shù)據(jù)建模的最佳選擇,但不是故障檢測的最佳選擇。從圖5(c)和圖5(d)可以看出,JITCPC準(zhǔn)則的主要T2和次要T2統(tǒng)計量都檢測到所有故障批次。JITCPC準(zhǔn)則使用核主元對樣本馬氏距離的貢獻(xiàn)來評估核主元對故障檢測的重要性。核主元的貢獻(xiàn)越大,對故障檢測就越重要,因此檢測效果較理想。與傳統(tǒng)KPCA相比,JITCPC準(zhǔn)則在半導(dǎo)體數(shù)據(jù)的故障檢測中效果最佳,說明了該方法的有效性和優(yōu)越性。
(a) KPCA的SPE檢測圖 (b) KPCA的T2檢測圖
如圖5所示,在對半導(dǎo)體數(shù)據(jù)使用JITCPC準(zhǔn)則時,主要和次要T2統(tǒng)計量具有幾乎相同的故障檢測性能。例如:對于樣本φ(x),JITCPC準(zhǔn)則選擇CPC大于或等于閾值的所有核主元。當(dāng)使用JITCPC準(zhǔn)則時,為所有樣本選擇的核主元具有相似的CPC但核主元數(shù)量不同。當(dāng)使用CPC 等于90%的JITCPC準(zhǔn)則時,所有樣本的所選核主元具有約90%的CPC,而所有樣本未選擇的核主元具有約10%的CPC。 由于故障樣本通常具有比訓(xùn)練樣本更大的馬氏距離,因此基于JITCPC的故障樣本的主要和次要T2統(tǒng)計量通常超過從訓(xùn)練樣本獲得的相應(yīng)控制限。 如果故障樣本的基于JITCPC的主要T2統(tǒng)計量超過相應(yīng)的控制限,則很可能是基于JITCPC的次要T2統(tǒng)計量也超過了相應(yīng)的控制限。因此,基于JITCPC的次要T2統(tǒng)計量具有與主要T2統(tǒng)計量相似的故障檢測性能。
表2為KPCA和JITCPC準(zhǔn)則對半導(dǎo)體數(shù)據(jù)的檢測結(jié)果。可以看出JITCPC準(zhǔn)則的漏報率最低,說明了新方法的有效性。
表2 半導(dǎo)體數(shù)據(jù)的檢測結(jié)果
本文研究KPCA中選擇合適的核主元進(jìn)行故障檢測。JITCPC準(zhǔn)則使用核主元對樣本馬氏距離的貢獻(xiàn)來評估核主元對故障檢測的重要性。核主元的貢獻(xiàn)越大,在檢測故障時就越重要。在JITCPC準(zhǔn)則中,所有核主元按貢獻(xiàn)的降序排序,然后選擇累計百分比貢獻(xiàn)(CPC)大于預(yù)定閾值(例如,85%、90%或95%)的主要核主元。JITCPC準(zhǔn)則應(yīng)用于每個樣本,選定的核主元不是固定的,而是隨樣本而變化,以確保它們可以捕獲每個樣本的重要特征。兩個故障檢測指標(biāo)分別命名為主要和次要T2統(tǒng)計量,分別使用選定和未選擇的核主元定義,然后運用兩個指標(biāo)進(jìn)行故障檢測。把所提方法應(yīng)用于數(shù)值例子和半導(dǎo)體工業(yè)過程數(shù)據(jù)中,仿真結(jié)果表明,JITCPC準(zhǔn)則能夠選擇合適的核主元進(jìn)行故障檢測。與傳統(tǒng)KPCA的T2和SPE統(tǒng)計量相比,JITCPC準(zhǔn)則的主要T2統(tǒng)計量可以更準(zhǔn)確地檢測故障。