郭金玉 張安寶 李 元
(沈陽化工大學信息工程學院 遼寧 沈陽 110142)
近年來,為了提高系統的安全性,監控系統的性能或賦予系統自診斷功能問題[1-5]越來越受到關注。過程監控作為現代過程工業的重要組成部分,已經發展了二十多年,并且已經提出多種方法用于故障檢測和故障診斷。 過程工業作為國家經濟的支柱發揮著重大作用,如化工、電力和冶金等。如果這些工業過程出現了故障,可能會導致巨大的經濟損失甚至傷害。 因此,除了必須實施良好的工業過程控制策略外,研究過程監控和故障診斷方法也很重要。而且隨著技術的快速發展,信息正在成為一種重要且不可或缺的資源。
由于高維數據提供了豐富的可解釋性,因此使用高維數據來表示信息非常受歡迎。然而,高維數據通常包含許多噪聲和冗余特征,這可能增加計算成本和存儲成本,導致過度擬合的問題。此外,噪聲和冗余功能會降低特征選擇模型的性能。因此,找到所有特征的子集以進行進一步的學習任務受到越來越多的關注。在大量文獻中,子空間學習通過降低數據的維數來處理高維數據的問題,簡化數據中的原始特征。具體而言,子空間學習在一定條件下將原始數據投影到低維空間。經典子空間學習方法包括使特征空間與眾不同的主元分析 (Principal component analysis, PCA)。
PCA[6]是數據驅動故障檢測方法最常用的多變量統計分析技術之一。使用PCA進行故障檢測選取前lx個特征值能反映大部分的數據特征。選取主元(Principal component, PC)的方法有剩余百分比方差、平均特征值、基于預測的誤差平方和或R比的交叉驗證、重構誤差方差、Akaike信息標準和嵌入誤差函數。PC選擇方法按特征值從大到小的順序選擇PC。在這種假設下,對應于較大特征值的PC比對應于較小特征值的PC更重要。從數據建模的角度來看,這種假設是合理的,因為對應于較大特征值的PC捕捉了大部分的數據信息。然而,從故障檢測的角度來看,這可能是不合理的。因為故障數據與選取主元的正常數據是不同的,因此主要故障信息可能被特征值較小的主元捕捉,而不是由特征值較大的主元捕捉。換句話說,根據特征值選擇的主元在反映故障數據和正常數據之間的最大差異方面不是最優的。此外,在傳統的主元選擇方法中,所選擇的主元不會隨樣本而變化,即所有樣本都使用相同的主元,這顯然不適用于故障檢測。原因是故障不僅發生在所選的主元上,也發生在任何主元上,并且故障對主元的影響隨樣本的變化而變化。一組固定的主元無法捕獲所有故障樣本的重要特征。由于上述缺點,傳統的主元選擇方法不適合用于故障檢測。因此,Luo等[7]提出一種新的基于故障檢測選擇主元的方法。PCA假設變量之間存在線性相關性,從而降低了傳統PCA在監測非線性系統中的性能。 學者們提出基于內核的核主元分析(Kernel principal component analysis,KPCA),它可以有效地解決這些問題[8-11]。KPCA是PCA的非線性推廣,旨在選擇一定數量的最具代表性的數據特征。通常,在KPCA中,輸入數據首先通過非線性映射轉換為高維甚至無限維特征空間F,然后在特征空間F中執行經典PCA。KPCA采用選擇的核函數來代表在特征空間中樣本向量的內積,這意味著它不需要明確地執行非線性映射。 KPCA通常優于傳統的PCA,因為它可以有效地提取樣本的非線性特征。本文從故障檢測的角度出發,嘗試研究KPCA中核主元(Kernel principal component, KPC)個數的選擇方法。在KPCA中,利用KPC對樣本馬氏距離(Mahalanobis distance, MD)的貢獻來評價核主元對故障檢測的重要性,具有較大貢獻的核主元對于檢測故障更為重要。在KPCA中,為了選擇合適數量的核主元進行故障檢測,嘗試運用即時累計貢獻率(Just-in-time cumulative percent contribution,JITCPC)準則[7]。在JITCPC準則中,按照貢獻的降序對所有核主元進行排序后,選擇累計貢獻率(Cumulative percent contribution,CPC)大于預定閾值(例如90%)的KPC。JITCPC準則分別對每個樣本進行核主元選擇,所選核主元隨樣本的不同而變化,以確保能捕捉每個樣本的重要特征。所選和未選的核主元分別用于定義檢測故障的主要和次要T2統計量,運用兩個指標進行故障檢測。

(1)
設C的特征值為λ,特征向量為V,則:
(2)
式中:〈φ(xj),V〉表示φ(xj)與V的點積。式(2)左右兩邊乘φ(xk)變為:
λ(φ(xk),V)=φ(xj),CVk=1,2,…,r
(3)
特征向量V可由特征空間的樣本映射而成:
(4)
結合式(2)和式(3),可以得到:
(5)
為了避免執行非線性映射φ(·)及在特征空間中的點積運算,通過引入核函數K(x,y)=φ(x),φ(y)來簡化計算,可以得到:
(6)
進一步化簡可以得到:
rλα=Kα
(7)
現在,在特征空間執行KPCA[12]等價于求解式(7)的特征值問題。僅取前lx個特征向量實現降維,lx≤r。對保留的lx個特征向量歸一化為:
(8)

(9)
(10)

用一個數值例子來說明需要研究一種有效的KPC選擇準則來改善KPCA的故障檢測性能。數值例子為四個變量和五個因子的系統:
x1=t+e1x2=t2+e2x3=-t3+3t2+e3x4=-t4+4t3+e4
(11)
式中:e1、e2、e3和e4是四個相互獨立的因子,它們遵循正態分布,即ei~N(0,1),t遵循均勻分布,t~U(-2,2)。通過式(11)生成包含500個樣本的訓練數據集X,并且這些數據表示正常數據。使用以下公式生成包含20個樣本的測試數據集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的數據分布散點如圖1所示,圖中“圓圈”表示訓練樣本,“方塊”表示故障樣本。

圖1 數據分布散點圖
在X上執行KPCA會產生四個核主元,對應于四個核主元的特征值如圖2所示。前兩個核主元代表了數據集X的99.8%的方差。在考慮選擇適當的核主元來檢測Y中故障樣本的情況下,使用傳統方法來選擇保留在核主元子空間中的核主元,應該選擇前兩個核主元,所以剩余的兩個核主元組成殘差子空間。

圖2 四個特征值直方圖
圖3(a)和圖3(b)分別為選擇前兩個核主元和后兩個核主元時的故障檢測結果。圖3(a)檢測到16個故障,(7,10,15,20)號故障沒被檢測出來。圖3(b)檢測到15個故障,除了(3,7,10,15,20)號故障沒被檢測出來,其他故障都被檢測出來。從圖3可以看出,故障(7,10,15,20)都未被檢測出來。這表示使用核主元子空間(KPC1和KPC2)中定義的T2統計量以及殘差子空間中定義的SPE統計量(KPC3和KPC4),本文仍然無法檢測到Y中的所有故障樣本。但是,使用KPC2和KPC3時,成功檢測到Y中的所有故障樣本,如圖3(c)所示。

(a) KPC1,KPC2的檢測結果
上面的例子表明,核主元的選擇對故障檢測結果有很大影響。大多數傳統KPC選擇方法可能無法選擇合適的核主元進行故障檢測,因為它們不會將選擇的核主元與故障檢測連接起來。傳統KPC選擇方法傾向于選擇可以捕捉大部分正常數據方差的核主元,而忽略故障數據的特征。由于故障可能發生在任何核主元中,因此僅根據正常數據選擇的核主元對于揭示故障數據和正常數據之間的差異可能不是最佳的。
設X表示包含m個變量和r個樣本的訓練數據集。在訓練數據集X上執行KPCA,也就是在高維空間φ(x)上執行PCA。 通過在φ(x)上執行PCA得到r個核主元。樣本φ(x)的馬氏距離(Mahalanobis distance, MD)可以根據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的貢獻可以定義為:

(14)
由此可以看出,第i個核主元的貢獻與第i個KPCA特征值的倒數成比例。這意味著具有較小特征值的核主元可能比具有較大特征值的核主元產生更多貢獻,因此它們對于故障檢測更為重要。因此,傳統的核主元選擇方法通常更加重視具有較大特征值的核主元,不適合用于故障檢測。做出更大貢獻的核主元對于故障檢測至關重要,因為它們是導致MD超出正常控制限的主要因素。從故障檢測的角度來看,選擇貢獻較大的核主元是最重要的。在本文中,研究了一種基于即時選擇準則選取核主元的方法。
即時累計貢獻率(JITCPC)準則:按照降序排列核主元對樣本φ(x)的MD的貢獻,即contr1,x,x≥contr2,x,x≥…≥contrr,x,x。由前lx個KPC產生的累計貢獻率(CPC)定義為:
(15)
對樣本φ(x)選擇對應于所需CPC(例如,CPC≥90%)的前lx個核主元。
上述選擇準則應分別應用于每個樣本,因為核主元對不同樣本的貢獻可能非常不同。因此,使用這個選擇準則,可為不同的樣本選擇不同的核主元。 然而,當使用基于KPCA特征值的傳統選擇核主元方法(例如,平均特征值或剩余百分比方差)時,為所有樣本選擇相同的核主元。這是與根據主元貢獻率和特征值選擇核主元的主要區別。使用JITCPC標準時,所選核主元的數量也可能因樣本而異,但所選核主元的所有樣本的CPC都相似。
設X是由m個變量和r個樣本組成的訓練數據集。在φ(x)上執行PCA可生成多個核主元。對于樣本φ(x),可以通過式(14)計算r個核主元對MD的貢獻。然后,使用JITCPC準則選擇對故障檢測重要的核主元。主要T2統計量定義為所有選定核主元的貢獻總和,即:
(16)
式中:lx是為樣本φ(x)選擇的核主元數。此外,次要T2統計量被定義為所有未選擇的核主元的貢獻總和,即:
(17)
式中:hx=r-lx是樣本φ(x)未選擇的核主元的數量。主要和次要T2統計量是兩個互補的統計指標,分別監視由選定和未選擇的核主元捕獲的數據變化。
故障檢測過程包括離線數據建模和在線故障檢測兩個階段,具體步驟如下:
1) 離線數據建模。
(1) 將訓練數據X進行標準化。
(2) 在X上運用KPCA產生核主元。
(3) 使用JITCPC準則為每個訓練樣本選擇核主元。
(4) 通過式(16)和式(17)計算每個訓練樣本的主要和次要T2統計量。
(5) 運用KDE[13-14]確定主要和次要T2統計量的控制限。
2) 在線故障檢測。
(1) 使用訓練數據的均值和方差標準化測試數據xnew。
(2) 把xnew投影到訓練數據的KPCA模型上。
(3) 計算核主元對φ(xnew)的Mahalanobis距離(MD)的貢獻。
(4) 使用JITCPC準則選擇測試數據的核主元。
(5) 通過式(16)和式(17)計算測試數據的主要和次要T2統計量。
(6) 將兩個T2統計量與控制限進行比較。如果其中任何一個超出控制限,測試數據為故障。
將核主元選擇準則和故障檢測方法用于2.1節中的數值例子。通過漏報率來評價本文提出方法的效果。漏報率定義為未超出控制限的故障樣本占所有故障樣本的百分比。對訓練數據集X應用KPCA得到四個核主元。在JITCPC準則中,期望的累計百分比貢獻設定為90%。選定和未選擇的核主元用于定義故障檢測的主要和次要T2統計量。兩個T2統計量都運用99%的控制限。KPCA的SPE和T2統計量對故障樣本的檢測結果如圖4(a)和圖4(b)所示。使用前兩個核主元(KPC1和KPC2)定義T2統計量,而SPE統計量由最后兩個核主元定義(KPC3和KPC4)。圖4(c)和圖4(d)為使用JITCPC準則的主要和次要T2的故障檢測結果。由圖4可以看出,基于KPCA的T2統計量檢測出16個故障樣本。故障樣本3、7、15和20既沒有被KPCA的T2統計量檢測到,也沒有被SPE統計量檢測到。但是,所有故障樣本都可通過主要T2統計量檢測出來。次要T2統計量沒有檢測到故障樣本。上述結果表明,JITCPC準則對于選擇適當的核主元進行故障檢測是有效的。

(a) KPCA的SPE檢測圖 (b) KPCA的T2檢測圖
表1為KPCA和JITCPC準則對數值例子的檢測結果。可以看出JITCPC準則中主要T2統計量的漏報率最低,檢測效果最好。

表1 數值例子的檢測結果
將半導體工業實例用于驗證所提方法的監控性能。本文所使用的數據集是在德克薩斯儀器公司的LAM 9600等離子體刻蝕工具上進行的,該數據集來自Al堆棧刻蝕過程[15-18]。對共發生21次故障的129塊晶片進行了三次實驗,這些故障是通過改變變壓器耦合等離子體射頻功率、RF功率、壓力、CI或BCI流量以及卡盤壓力來產生的。原始數據集包含40個變量,包括過程設定值、測量變量和控制變量,如氣體流速、腔室壓力和RF功率,本文選擇19個變量進行故障檢測。但是,在所有批處理時間內,兩個變量(偏置RF反射功率和TCP反射功率)保持為零。因此,本文中使用的監測變量數量減少到17個。此外,由于兩批中缺少大量數據,僅有107個正常批次和20個故障批次用于仿真研究。運用統計模量分析(Statistics pattern analysis, SPA)[19-22]展開上述的半導體數據。基于統計模量分析的方法捕獲每個變量的特征(如均值、方差和偏度)、不同變量之間的相互作用(如相關性),以及過程動態(如自相關和互相關)來解決與非線性過程動態等連續過程相關的問題。本文使用均值和方差兩種統計特征。每個批次的均值和方差特征構成一個等長的特征向量。107個批次的特征向量構成的數據矩陣用于建模。通過在訓練數據集上執行KPCA產生42個核主元。KPCA的T2統計量是使用對應于7個最大特征值的核主元定義的,這些主元包含了大約99.2%的方差;其余35個核主元用于定義SPE統計量。在JITCPC準則中即時累計百分比貢獻設定為90%。所有監控統計量運用99%的控制限。故障檢測性能通過漏報率(Missing alarm rate, MAR)來進行比較。
圖5為KPCA和JITCPC準則選取不同核主元對半導體數據的檢測結果。從圖5(a)和圖5(b)可以看出,KPCA的SPE統計量檢測到15個故障批次,T2統計量檢測到3個故障批次。KPCA的漏報率較高,這是由于KPCA選取特征值較大的核主元,這些核主元是數據建模的最佳選擇,但不是故障檢測的最佳選擇。從圖5(c)和圖5(d)可以看出,JITCPC準則的主要T2和次要T2統計量都檢測到所有故障批次。JITCPC準則使用核主元對樣本馬氏距離的貢獻來評估核主元對故障檢測的重要性。核主元的貢獻越大,對故障檢測就越重要,因此檢測效果較理想。與傳統KPCA相比,JITCPC準則在半導體數據的故障檢測中效果最佳,說明了該方法的有效性和優越性。

(a) KPCA的SPE檢測圖 (b) KPCA的T2檢測圖
如圖5所示,在對半導體數據使用JITCPC準則時,主要和次要T2統計量具有幾乎相同的故障檢測性能。例如:對于樣本φ(x),JITCPC準則選擇CPC大于或等于閾值的所有核主元。當使用JITCPC準則時,為所有樣本選擇的核主元具有相似的CPC但核主元數量不同。當使用CPC 等于90%的JITCPC準則時,所有樣本的所選核主元具有約90%的CPC,而所有樣本未選擇的核主元具有約10%的CPC。 由于故障樣本通常具有比訓練樣本更大的馬氏距離,因此基于JITCPC的故障樣本的主要和次要T2統計量通常超過從訓練樣本獲得的相應控制限。 如果故障樣本的基于JITCPC的主要T2統計量超過相應的控制限,則很可能是基于JITCPC的次要T2統計量也超過了相應的控制限。因此,基于JITCPC的次要T2統計量具有與主要T2統計量相似的故障檢測性能。
表2為KPCA和JITCPC準則對半導體數據的檢測結果。可以看出JITCPC準則的漏報率最低,說明了新方法的有效性。

表2 半導體數據的檢測結果
本文研究KPCA中選擇合適的核主元進行故障檢測。JITCPC準則使用核主元對樣本馬氏距離的貢獻來評估核主元對故障檢測的重要性。核主元的貢獻越大,在檢測故障時就越重要。在JITCPC準則中,所有核主元按貢獻的降序排序,然后選擇累計百分比貢獻(CPC)大于預定閾值(例如,85%、90%或95%)的主要核主元。JITCPC準則應用于每個樣本,選定的核主元不是固定的,而是隨樣本而變化,以確保它們可以捕獲每個樣本的重要特征。兩個故障檢測指標分別命名為主要和次要T2統計量,分別使用選定和未選擇的核主元定義,然后運用兩個指標進行故障檢測。把所提方法應用于數值例子和半導體工業過程數據中,仿真結果表明,JITCPC準則能夠選擇合適的核主元進行故障檢測。與傳統KPCA的T2和SPE統計量相比,JITCPC準則的主要T2統計量可以更準確地檢測故障。