郭金玉, 劉玉超, 李 元
(沈陽化工大學 信息工程學院, 遼寧 沈陽 110142)
隨著工業(yè)過程檢測系統(tǒng)的漸趨復雜,基于數(shù)據(jù)驅(qū)動的故障檢測技術被廣泛應用于控制工程鄰域[1-6].其中以主成分分析(principal component analysis,PCA)為代表的統(tǒng)計過程控制方法是典型的基于數(shù)據(jù)驅(qū)動的故障檢測方法[7-9],通過系統(tǒng)所采集的數(shù)據(jù)來分析生產(chǎn)過程樣本是否存在故障,不依賴于先驗知識和數(shù)學模型.
PCA算法[10]是一種線性降維方法,通過線性變換對原始數(shù)據(jù)進行降維,提取數(shù)據(jù)的主要特征,然后利用平方預測誤差(squared prediction error,SPE)和Hotelling’sT2對低維空間的樣本狀態(tài)進行監(jiān)控,但是SPE和T2統(tǒng)計指標要求數(shù)據(jù)滿足單模態(tài)多元高斯分布的前提假設,而工業(yè)過程數(shù)據(jù)通常具有非線性、多模態(tài)和非高斯等特性.為了提高PCA在非線性過程故障檢測中的性能,Sch?lkopf等[11]提出基于核主成分分析(kernel principal component analysis,KPCA)方法,通過非線性核函數(shù)將數(shù)據(jù)映射到高維特征空間,但是這種方法需要數(shù)據(jù)服從獨立同分布.為了克服KPCA的這一局限性,使其更好地應用于實際生產(chǎn)過程,Sch?lkopf等[12]又提出將核主成分分析與隱馬爾可夫模型相結(jié)合的方法(kernel principal component analysis and hidden markov model,KPCA-HMM),基本思想是將靜態(tài)降維技術與經(jīng)典的混合模型相結(jié)合,提高數(shù)據(jù)的轉(zhuǎn)換、降維和分類能力,但是該方法應用數(shù)據(jù)的靜態(tài)特征對系統(tǒng)的要求較高.為了適應復雜的非線性過程,F(xiàn)azai等[13]提出一種可變滑動窗口核主成分分析 (variable moving window kernel principal component analysis,VMWKPCA)方法,該方法根據(jù)正常過程的變化來改變滑動窗口的大小,提高系統(tǒng)的自適應能力,并提高故障檢測性能.上述方法在非線性系統(tǒng)的故障檢測方面具有很好的效果,但是不適用于多模態(tài)工業(yè)過程故障檢測.為提高多模態(tài)過程的故障檢測率,Ma等[14]提出局部近鄰標準化(local neighborhood standardization,LNS)的數(shù)據(jù)預處理方法,有效地消除數(shù)據(jù)的多模態(tài)特性.針對多階段過程數(shù)據(jù)的多中心、各工序數(shù)據(jù)結(jié)構(gòu)不同等特征,馮立偉等[15]提出基于雙近鄰標準化和PCA的故障檢測方法,該方法克服了多階段過程數(shù)據(jù)的多中心和不同階段方差差異明顯的影響.為了提高工業(yè)過程故障檢測性能,消除數(shù)據(jù)的多模態(tài)和非高斯特性,本文提出一種基于加權(quán)局部近鄰標準化PCA (weighed local neighborhood standardization principal component analysis,WLNSPCA)的故障檢測方法,其基本思想是運用加權(quán)局部近鄰標準化方法對原始數(shù)據(jù)集進行預處理,然后建立PCA模型,利用SPE和T2統(tǒng)計指標對數(shù)據(jù)進行監(jiān)視,提高故障檢測效果.
已知數(shù)據(jù)集X∈Rn×m,其中n為樣本數(shù),m為變量數(shù),對數(shù)據(jù)集X中的樣本xi(i=1,2,…,n)進行加權(quán)近鄰標準化(weighed neighborhood standardization,WNS)為
(1)
其中:hi為加權(quán)近鄰標準化后的數(shù)據(jù)點;mi為樣本xi的前k個近鄰樣本的加權(quán)均值;kNN(xi)為樣本xi的k近鄰域;i為采樣時刻.
(2)
(3)
其權(quán)值wij(j=1,2,…,k)為
(4)
(5)
的約束條件.在公式(1)中權(quán)值wij的選取與樣本xi與其第j個近鄰樣本的距離相關.WNS可以有效地處理離散程度不大的多模態(tài)過程數(shù)據(jù),但是對于模態(tài)間方差差異明顯的多模態(tài)問題,WNS就失去其有效性.
通過一個簡單的數(shù)值例子說明WNS的局限性.隨機生成兩個模態(tài)的訓練數(shù)據(jù)模態(tài)1和模態(tài)2,兩個模態(tài)均由500個樣本構(gòu)成.在每個樣本中有2個變量,且服從獨立同分布.模態(tài)1中的兩個變量x1和x2服從(0,0.05)的正態(tài)分布;模態(tài)2中的兩個變量x1和x2服從(5,1)的正態(tài)分布.結(jié)果如圖1所示.
圖1 訓練數(shù)據(jù)的散點、變量的分布和序列
圖1(a)為訓練數(shù)據(jù)的散點圖,圖1(b)為原始數(shù)據(jù)變量2的分布圖,圖1(c)為原始數(shù)據(jù)的變量序列圖.從圖1可以看出原始數(shù)據(jù)存在兩個模態(tài),并且具有方差差異明顯、多中心和非高斯特性.
使用WNS方法標準化該數(shù)值例子,結(jié)果如圖2所示.從圖2(a)可以看出:兩個模態(tài)的數(shù)據(jù)形成圓環(huán),方差大的模態(tài)數(shù)據(jù)覆蓋在方差小的模態(tài)數(shù)據(jù)外面.這是因為對于正常樣本而言其近鄰樣本均來自于其所屬模態(tài),對方差不同的模態(tài)數(shù)據(jù)進行WNS后不改變其方差特征.
從圖2(b)可以看出WNS標準化方法能夠消除數(shù)據(jù)的非高斯特性,使數(shù)據(jù)近似服從高斯分布.從圖2(c)可以看出WNS標準化方法只是將數(shù)據(jù)中心平移到原點附近,并沒有改變多模態(tài)數(shù)據(jù)間的方差差異.
為克服WNS的局限性,剔除多模態(tài)數(shù)據(jù)間的方差差異特征,筆者研究了加權(quán)局部近鄰標準化(weighed local neighborhood standardization,WLNS)的改進策略,其公式為
(6)
圖2 加權(quán)近鄰標準化數(shù)據(jù)的散點、變量的分布和序列
對上述的數(shù)值例子進行WLNS標準化后的結(jié)果如圖3所示.從圖3(a)可以看出兩個模態(tài)融合一起,消除了多模態(tài)特性,兩個模態(tài)的方差差異也明顯拉齊;從圖3(b)可以看出WLNS預處理后的數(shù)據(jù)服從單峰高斯分布;從圖3(c)可以看出WLNS算法消除了模態(tài)間的多中心結(jié)構(gòu),同時消除多模態(tài)數(shù)據(jù)的方差差異.
圖3 加權(quán)局部近鄰標準化數(shù)據(jù)散點、
將WLNS標準化后的數(shù)據(jù)矩陣L作為初值,建立PCA模型,首先計算L的協(xié)方差矩陣:
(7)
根據(jù)特征值分解,計算出協(xié)方差矩陣C的特征值和特征向量.根據(jù)累計貢獻率確定主元個數(shù),公式為
(8)
其中λi為協(xié)方差矩陣C的特征根,由前v個特征向量組成的矩陣即負載矩陣Qv.利用SPE和T2統(tǒng)計量對系統(tǒng)進行監(jiān)視.
WLNSPCA算法可以對離散程度明顯的工業(yè)過程進行故障檢測,主要包括離線建模和故障檢測.
(1) 建模過程
1) 收集正常操作時的歷史數(shù)據(jù)集X.
2) 利用加權(quán)局部近鄰標準化算法對X進行預處理得到L,剔除原始數(shù)據(jù)方差差異明顯的多模態(tài)特征和非高斯性.
3) 對L進行標準化處理,使其各列均值為0、方差為1.
4) 建立PCA模型,獲得負載矩陣Qv.
(9)
(10)
其中Λ-1為協(xié)方差矩陣C的前v個特征根組成的對角矩陣.
(2) 故障檢測
1) 對于測試數(shù)據(jù)xnew,利用WLNS對xnew進行預處理得到lnew,再向建模數(shù)據(jù)方向投影得到lnew1.
通過使用Ge和Song設計的數(shù)值例子[16]驗證基于WLNSPCA算法對多模態(tài)過程故障檢測的有效性.該數(shù)值例子包含5個變量,模型如下:
(12)
其中e1、e2、e3、e4和e5服從N(0,0.01)的白噪聲.可通過改變數(shù)據(jù)源s1和s2改變操作條件,由此構(gòu)造出兩種不同的操作模態(tài).
模態(tài) 1:s1∈U[-10,-7],
s2∈N(-15,1).
模態(tài)2:s1∈U[2,5],
s2∈N(7,1).
每個模態(tài)中分別生成400個正常樣本作為訓練數(shù)據(jù)集.再分別在每個模態(tài)中生成100個正常樣本作為檢驗數(shù)據(jù)集.當模態(tài)1運行時,對變量x1增加一幅值為0.02×(i-400)的故障,產(chǎn)生400個數(shù)據(jù)組成故障1的測試數(shù)據(jù)集;在模態(tài)2運行時,同樣對變量x1增加一幅值為0.02×(i-400)的故障,產(chǎn)生400個數(shù)據(jù)組成故障2的測試數(shù)據(jù)集.圖4和圖5分別為故障1和故障2的多模態(tài)數(shù)據(jù)分布散點圖,x、y和z軸分別表示變量1、變量2和變量3.從圖4和圖5可以看出原始數(shù)據(jù)有兩個模態(tài),故障1和故障2是兩種不同的故障.
圖4 故障1的數(shù)據(jù)散點
圖5 故障2的數(shù)據(jù)散點
分別用PCA、KPCA、WNSPCA和WLNSPCA方法對多模態(tài)數(shù)值例子的故障1進行檢測,檢測結(jié)果如圖6所示.4種方法的主元個數(shù)根據(jù)累計貢獻率確定.在WNSPCA和WLNSPCA中,近鄰數(shù)k都為9.從圖6可以看出:在PCA算法中,SPE統(tǒng)計量出現(xiàn)230個漏報樣本,有14個誤報樣本;T2統(tǒng)計量有324個漏報樣本,7個誤報樣本.在KPCA算法中,SPE統(tǒng)計量有340個漏報樣本,其中有16個誤報樣本;T2統(tǒng)計量有324個漏報樣本,7個誤報樣本.在WNSPCA算法中,SPE統(tǒng)計量有75個漏報樣本,11個誤報樣本;T2統(tǒng)計量有98個漏報樣本,出現(xiàn)2個誤報樣本.在WLNSPCA算法中,SPE統(tǒng)計量漏報35個故障樣本,7個樣本出現(xiàn)誤報;T2統(tǒng)計量漏報42個故障樣本,6個誤報樣本.因此,與PCA、KPCA和WNSPCA方法相比,WLNSPCA對故障1的故障檢測效果最好,誤報率也相對較低,驗證了WLNSPCA算法的有效性.
分別用PCA、KPCA、WNSPCA和WLNSPCA方法對多模態(tài)數(shù)值例子故障2進行檢測,檢測結(jié)果如圖7所示.4種方法的主元個數(shù)通過累計貢獻率確定.在WNSPCA和WLNSPCA中,近鄰數(shù)k都為9.從圖7可以看出:在PCA算法中,SPE統(tǒng)計量漏報319個故障樣本,有14個誤報樣本;T2統(tǒng)計量的漏報率為100 %,誤報樣本為7個.在KPCA算法中,SPE統(tǒng)計量的所有故障樣本均未檢測出來,并且有16個樣本出現(xiàn)誤報;T2統(tǒng)計量的所有故障樣本也均未檢測出來,有7個誤報樣本.在WNSPCA算法中,SPE統(tǒng)計量有57個漏報樣本,但僅有11個校驗樣本出現(xiàn)誤報;T2統(tǒng)計量有66個漏報故障樣本,有2個樣本出現(xiàn)誤報.在WLNSPCA算法中,SPE統(tǒng)計量只有11個漏報樣本和7個誤報樣本;T2統(tǒng)計量有10個漏報樣本,6個樣本出現(xiàn)誤報.
圖6 4種方法對故障1的檢測結(jié)果
圖7 4種方法對故障2的檢測結(jié)果
與PCA、KPCA和WDPCA方法相比,WLNSPCA對故障2的故障檢測效果較好,誤報率也相對較低,從而驗證WLNSPCA算法的有效性.
表1是4種算法對多模態(tài)數(shù)據(jù)兩種故障的檢測結(jié)果.從表1可以得出:WLNSPCA算法的檢測效果要明顯優(yōu)于PCA 和KPCA.這是因為PCA算法需要數(shù)據(jù)滿足多元高斯分布的前提假設,因此對多模態(tài)數(shù)據(jù)檢測效果不理想;而KPCA算法是一種非線性算法,對單模態(tài)過程具有很好的故障檢測效果,但是對多模態(tài)過程就會影響其檢則效果.WNSPCA算法的誤報率低,故障檢測率較好,但是該方法受多模態(tài)數(shù)據(jù)方差差異影響,檢測效果不如WLNSPCA算法.綜上所述,與其他3種算法對比,WLNSPCA算法在誤報率允許的條件下有較高的故障檢測率,驗證了該算法的有效性和優(yōu)越性.
表1 4種方法的檢測結(jié)果對比
半導體過程是一個工業(yè)實例,在故障檢測領域廣泛應用.筆者以半導體工業(yè)實例——A1堆腐蝕過程[17-20]為研究對象,比較不同故障檢測方法的性能.半導體生產(chǎn)過程數(shù)據(jù)具有非線性、時變、多階段和多工況等特性.生產(chǎn)過程數(shù)據(jù)由3個模態(tài)組成,其中包括107個正常批次和20個故障批次.在每個模態(tài)中分別選取32個批次建模,其余正常批次作為校驗批次,因此建模批次為96個,正常校驗批次為11個,故障批次為20個.在 21個測量變量中選取 17個變量作為過程檢測變量,如表2所示.
表2 半導體生產(chǎn)過程所用的檢測變量
使用最短長度法獲得等長批次.為消除初始波動對傳感器的影響,去除開始的5個樣本,保留85個樣本適應最短的批次,從而將三維建模數(shù)據(jù)X(96×85×17)沿批次方向展開成二維數(shù)據(jù)矩陣得到X(96×1445).同樣,將校驗數(shù)據(jù)和故障數(shù)據(jù)也展開成二維數(shù)據(jù)矩陣.
運用PCA、KPCA、WNSPCA和WLNSPCA方法對工業(yè)過程半導體仿真實例進行檢測.4種方法的主元個數(shù)均根據(jù)累計貢獻率確定.在WNSPCA和WLNSPCA中,近鄰數(shù)k都為7.4種方法的仿真結(jié)果如圖8所示.在PCA算法中,SPE有3個故障批次出現(xiàn)漏報,5個批次出現(xiàn)誤報;T2沒有出現(xiàn)誤報批次,但是有15個漏報批次.在KPCA算法中,SPE有5個故障漏報,沒有出現(xiàn)誤報批次;T2有10個故障出現(xiàn)漏報,沒有出現(xiàn)誤報批次.在WNSPCA算法中,SPE有1個批次出現(xiàn)漏報,1個批次出現(xiàn)誤報;T2有7個批次出現(xiàn)漏報,沒有出現(xiàn)誤報.WLNSPCA算法中,在沒有誤報批次的情況下,SPE也沒有出現(xiàn)漏報,T2有6個故障出現(xiàn)漏報.因此,與PCA、KPCA和WNSPCA方法相比,在誤報率相對較低的情況下,WLNSPCA對半導體數(shù)據(jù)的故障檢測效果最好,驗證了WLNSPCA算法在工業(yè)過程故障檢測中的有效性.
圖8 4種方法對半導體數(shù)據(jù)的檢測結(jié)果
表3 是PCA、KPCA、WNSPCA和WLNSPCA算法對半導體數(shù)據(jù)的檢測結(jié)果對比.由表3可以看出:與PCA、KPCA和WNSPCA算法對比,WLNSPCA算法在沒有誤報的情況下,故障檢測率最高,說明該方法在工業(yè)過程的故障檢測中具有很好的檢測效果.
表3 4種方法對半導體數(shù)據(jù)的檢測結(jié)果對比
文章研究一種WLNSPCA的工業(yè)過程故障檢測方法.根據(jù)每個樣本近鄰樣本的加權(quán)均值和標準差對數(shù)據(jù)集進行預處理,構(gòu)造加權(quán)局部近鄰標準化數(shù)據(jù)集剔除數(shù)據(jù)的多中心、方差差異和非高斯特性.在此基礎上運用PCA進行故障檢測,從而有效提高工業(yè)過程故障檢測效果.應用數(shù)值例子和半導體工業(yè)實例檢驗該方法的有效性,從仿真結(jié)果可以看出與傳統(tǒng)的故障檢測算法相比,WLNSPCA算法有明顯的優(yōu)越性.