曾 靜, 解曉兵, 李 元
(沈陽化工大學 信息工程學院,沈陽 110142)
大型工業(yè)產(chǎn)品的生產(chǎn)過程較為復雜,過程數(shù)據(jù)大多呈現(xiàn)出多模態(tài)和非線性等特點。為了有效檢測工業(yè)過程的故障問題,學者們從多個角度研究多階段過程,提出了一系列故障檢測方法。常用的過程故障檢測方法有主成分分析(Principal component analysis,PCA)[1-3]、核主成分分析(Kernel principal component analysis,KPCA)[4-5]和獨立成分分析(Independent component analysis,ICA)[6-7]等。由于PCA和KPCA方法中的T2和SPE兩個統(tǒng)計量都是在過程數(shù)據(jù)滿足單模態(tài)的多元高斯分布條件下提出的,因此,在檢測多模態(tài)過程故障時,漏檢率會很高。同時,由于PCA主要處理線性問題,忽略了實際過程中數(shù)據(jù)的非線性特征,因此,故障檢測率較低。ICA主要處理單一模態(tài)的故障檢測問題,無法有效完成多模態(tài)數(shù)據(jù)的故障檢測。Xie等在研究多模態(tài)過程的故障檢測問題時,將ICA和PCA相結(jié)合,首先使用ICA將過程變量的非高斯部分提取出來,從而消除高維度變量的相關(guān)性,用PCA將低維信息提取出來,保留數(shù)據(jù)完整信息的同時,提高了故障檢測率[8]。He等針對多模態(tài)問題提出了一種K近鄰故障檢測(Fault detection based onKnearest neighbors,F(xiàn)D-KNN)方法,該方法通過計算訓練樣本之間的距離來實現(xiàn)多模態(tài)數(shù)據(jù)的故障檢測[9]。馬賀賀等在對多模態(tài)數(shù)據(jù)進行故障檢測時,將密度作為統(tǒng)計指標,提出了局部離群因子(Local outlier factor,LOF)故障檢測方法,能夠?qū)⒐收蠘颖緩恼颖局蟹蛛x開,進而檢測出故障數(shù)據(jù)[10]。
數(shù)據(jù)建模前需要進行預(yù)處理操作,數(shù)據(jù)預(yù)處理大多使用Z-score方法,該方法能夠避免因量綱的不同給故障檢測帶來的影響,但是此方法要求數(shù)據(jù)滿足單模態(tài)分布,當過程數(shù)據(jù)是多模態(tài)時,該方法將多模態(tài)的數(shù)據(jù)作為一個整體看待,忽略了不同模態(tài)方差差別較大的問題,處理效果不佳。為了處理多模態(tài)特征數(shù)據(jù)的故障檢測問題,Ma等采用局部鄰域標準化(Local neighbor standardization,LNS)方法對樣本進行標準化,LNS利用樣本局部鄰域集的均值和標準差,將不同模態(tài)的數(shù)據(jù)中心點向坐標原點靠攏,可以調(diào)整多階段的離散程度,使得標準化處理后的數(shù)據(jù)離散程度近似相同,從而將多模態(tài)數(shù)據(jù)轉(zhuǎn)化為單模態(tài)數(shù)據(jù),消除了量綱對故障檢測的影響,提高了多模態(tài)過程的故障檢測能力[11-12]。
本文提出了基于局部鄰域標準化和主成分分析的局部離群因子故障檢測方法,利用LNS方法將多模態(tài)數(shù)據(jù)標準化處理為單模態(tài)數(shù)據(jù),利用PCA將數(shù)據(jù)劃分為主成分子空間和殘差子空間,在劃分好的兩個子空間分別使用LOF方法對數(shù)據(jù)進行故障檢測。研究表明,LNS-PCA-LOF方法可以將多模態(tài)數(shù)據(jù)歸一化為單模態(tài)數(shù)據(jù),同時,LOF能夠增強PCA的非線性處理能力,實現(xiàn)了多模態(tài)和非線性過程的故障檢測。
PCA是針對線性問題提出的特征降維方法,假設(shè)采集到n個樣本,每個樣本有m個變量,則構(gòu)成數(shù)據(jù)矩陣X=[X1,X2,…,Xn]T∈Rn×m,PCA模型將數(shù)據(jù)矩陣X劃分為主成分子空間和殘差子空間,具體如下:
(1)
在主成分子空間和殘差子空間分別使用T2和SPE兩個監(jiān)控統(tǒng)計量[13]對故障進行檢測,公式為:
T2=XP∑-1PTXT=t∑-1tT
(2)
SPE=‖X-XPPT‖2
(3)
式中:t表示X的得分向量;∑表示X的協(xié)方差矩陣。
局部離群因子方法最早由Breunig等提出,這種方法將密度作為統(tǒng)計指標,利用每個樣本的局部離群因子來區(qū)分故障樣本和正常樣本,實現(xiàn)故障檢測[14],具體計算方法如下:
(1)找出各個樣本的k個近鄰,計算各個樣本與每個近鄰的歐氏距離。
(4)
(3)計算樣本Xi的局部可達密度:
(5)
從式(5)可以看出,樣本Xi與其鄰居之間的距離越遠,lrd(Xi)的數(shù)值越小。
(4)計算樣本Xi的局部離群因子:
(6)
從式(6)的計算可知,假如樣本Xi的局部可達密度與其鄰居的局部可達密度相比較,前者小于后者,此時計算LOF(Xi)的數(shù)值大于1,那么樣本Xi是一個離群點。
數(shù)據(jù)在建模之前,需要對其進行預(yù)處理,通常情況下最常用的預(yù)處理方式是Z-score方法,該方法主要對單模態(tài)數(shù)據(jù)進行標準化,標準化后數(shù)據(jù)的均值和方差分別為0和1,避免了數(shù)據(jù)量綱的不同給故障檢測帶來的影響[15]。然而,在處理方差差別較大的多模態(tài)過程數(shù)據(jù)時,該方法的預(yù)處理效果并不佳,這是由于Z-score方法只能消除量綱,不能改變樣本的數(shù)據(jù)特征,假如數(shù)據(jù)在預(yù)處理之前是多模態(tài)的,經(jīng)過Z-score方法處理后也是多模態(tài)的,不能消除數(shù)據(jù)的多模態(tài)特征,所以本文使用一種新的數(shù)據(jù)標準化方法,即局部鄰域標準化(LNS)方法來處理多模態(tài)數(shù)據(jù)。首先,利用LNS方法找出各個樣本的前K個鄰域集合,然后,計算該鄰域集合的均值和標準差,其標準化方法如下:
(7)
式中n(Xi)、Mean(n(Xi))和Std(n(Xi))分別表示樣本Xi的鄰域集、均值和標準差。
經(jīng)上述步驟的預(yù)處理之后,數(shù)據(jù)從原先的多模態(tài)特征轉(zhuǎn)化為了單模態(tài)特征,為后續(xù)PCA更準確地劃分主成分子空間和殘差子空間奠定了良好的基礎(chǔ)。
基于LOF的主成分子空間監(jiān)控統(tǒng)計量如下式:
(8)
式中:lrd(y)表示樣本y的局部可達密度;lrd(yf)表示其與近鄰之間的局部可達密度。
基于LOF的殘差成分子空間監(jiān)控統(tǒng)計量公式為:
(9)
式中LOFPCS和LOFRS兩個控制限由核密度估計方法獲得。
(1)采集正常過程中的數(shù)據(jù),將此數(shù)據(jù)作為訓練數(shù)據(jù)集X;
(2)在訓練數(shù)據(jù)集X中,尋找每一個樣本的前K個鄰域集合n(XI),然后按式(7)對該樣本進行標準化處理;
(3)利用式(1)對X建立PCA模型獲得PCS和RS;
(4)利用式(6)分別在PCS和RS計算LOF統(tǒng)計量;
(5)由核密度估計方法確定T2和SPE兩個監(jiān)控統(tǒng)計量控制限。
(1)將生產(chǎn)過程中測得的數(shù)據(jù)作為待檢測數(shù)據(jù)集Y,在訓練數(shù)據(jù)集X中尋找每一個樣本的前K個鄰域集合n(Xi);
(2)按式(7)對該樣本進行標準化處理;
(4)利用式(8)和式(9)計算LOFPCS和LOFRS;
(5)將步驟(4)計算出的結(jié)果與控制限進行比較,判斷是否為故障數(shù)據(jù)。
使用文獻[16]中提出的非線性數(shù)值例子,模型公式為:
(10)
式中e1~e7為服從N(0, 0.01)正態(tài)分布的噪聲。
式(11)和式(12)分別為兩種模態(tài)數(shù)據(jù)的產(chǎn)生:
(11)
(12)
針對上述兩種模態(tài),分別生成500個樣本,共計1 000個樣本構(gòu)成訓練數(shù)據(jù)集,測試數(shù)據(jù)集共計500個樣本,設(shè)計故障類型如下:故障1按照模態(tài)1的方式運行,從第251個樣本開始至第500個樣本結(jié)束在變量x1上加入幅值為0.6的階躍故障;故障2按照模態(tài)2的方式運行,從第251個樣本開始至第500個樣本結(jié)束在變量x7上加入0.04(k-250)的斜坡故障,k為采樣時刻數(shù)。
對于上述故障分別使用KNN、PCA、LOF和LNS-PCA-LOF對故障進行檢測。通過尋優(yōu)測試,KNN方法中的近鄰數(shù)確定為30,根據(jù)累計貢獻率的方法,PCA方法中主成分個數(shù)取2,LNS-PCA-LOF的主成分個數(shù)取3,局部鄰域K為6,均采用95%的控制限對故障進行監(jiān)控。4種方法得到如圖2~圖5所示的檢測結(jié)果。由圖1(a)可以看出,原始數(shù)據(jù)由分散程度明顯的兩個模態(tài)組成,經(jīng)過LNS對這兩個模態(tài)的數(shù)據(jù)進行標準化后,由圖1(b)可以看出,多模態(tài)數(shù)據(jù)已經(jīng)轉(zhuǎn)化成了單模態(tài)數(shù)據(jù),這為PCA能夠更準確地劃分兩個子空間奠定了良好的基礎(chǔ)。
圖1 數(shù)據(jù)散點圖
圖2 KNN檢測結(jié)果
圖3 PCA檢測結(jié)果
由圖2可以看出,這兩個模態(tài)樣本的D2統(tǒng)計量有較大的差異,且模態(tài)1在計算D2統(tǒng)計量控制限時占主導作用,因此對故障的檢測效果不佳。由于PCA方法采用T2和SPE兩個統(tǒng)計量作為監(jiān)控指標,對于本例的多模態(tài)數(shù)據(jù),不滿足數(shù)據(jù)單一分布的特性,這種方法檢測率較低。由于LOF利用單監(jiān)控統(tǒng)計量對過程數(shù)據(jù)進行監(jiān)控,由圖4可以看出LOF檢測率也不高。為了彌補LOF自身單監(jiān)控統(tǒng)計量的缺陷,同時提高PCA處理非線性數(shù)據(jù)的能力,使用LOF方法在PCA劃分的主成分子空間和殘差子空間分別進行故障檢測,由圖5可以看出將LNS、PCA和LOF結(jié)合后故障檢測效果取得了很大改善。
圖4 LOF檢測結(jié)果
圖5 LNS-PCA-LOF檢測結(jié)果
青霉素發(fā)酵過程是一種常見的非線性、多模態(tài)過程,青霉菌發(fā)酵可以分為兩個階段:(a)青霉菌適應(yīng)生長繁殖階段;(b)青霉菌合成青霉素階段[17-18]。PenSim2.0平臺可以仿真產(chǎn)生青霉素發(fā)酵過程數(shù)據(jù),該平臺產(chǎn)生的青霉素數(shù)據(jù)共有17個監(jiān)控變量,如表1所示。該平臺可以在通風率、底物流加速率和攪拌功率上人為地加入階躍和斜坡兩種不同類型的故障,還可以對加入的故障進行幅值和起止時間上的修改[19-20]。
表1 青霉素發(fā)酵過程變量名稱
使用PenSim2.0平臺仿真青霉素發(fā)酵過程數(shù)據(jù),將PenSim2.0平臺的仿真時長設(shè)定為400 h,采樣時間設(shè)定為0.5 h。使用平臺默認參數(shù)生成的數(shù)據(jù)作為訓練樣本,加入兩種不同類型的故障如圖6所示。其中,故障1為在變量通風率從100 h開始至250 h結(jié)束加入幅值為0.002的階躍故障;故障2為在變量底物流加速率從150 h開始至青霉素發(fā)酵過程結(jié)束加入幅值為0.001(l/h)的斜坡故障。
圖6 故障散點圖
與數(shù)值例子仿真相同,使用KNN、PCA、LOF和LNS-PCA-LOF四種方法對其進行故障檢測。通過尋優(yōu)測試,KNN方法中的近鄰數(shù)確定為3,根據(jù)累計貢獻率的方法,確定PCA方法中的主成分個數(shù)取7,LNS-PCA-LOF的主成分個數(shù)取7,局部鄰域K為6,同樣采用95%控制限對故障進行監(jiān)控。
以上4種方法得到如圖8~圖11所示的檢測結(jié)果。從圖7(a)可以看出,預(yù)處理前的數(shù)據(jù)呈現(xiàn)多模態(tài)分布,經(jīng)LNS標準化處理之后,結(jié)果如圖7(b)所示,可以看出原先的多模態(tài)數(shù)據(jù)被處理成了單一模態(tài)數(shù)據(jù)。從圖8可以看出,KNN方法的控制限主要由前一個模態(tài)的D占主導作用,因此無法對發(fā)生在密集模態(tài)上的微小故障進行有效的檢測。PCA使用T2和SPE統(tǒng)計量作為監(jiān)控指標,青霉素發(fā)酵過程數(shù)據(jù)呈現(xiàn)多模態(tài)分布,不滿足PCA兩個統(tǒng)計量要求數(shù)據(jù)為單一分布的假設(shè),從圖9可以看出,該方法的故障檢測效率較低。LOF對數(shù)據(jù)進行檢測時使用自身的單監(jiān)控統(tǒng)計量,由圖10可以看出,LOF檢測率也不高。從圖11可以看出,經(jīng)過LNS處理且在PCA劃分好的兩個子空間上分別使用LOF方法進行故障檢測,檢測效果最好,驗證了LNS-PCA-LOF方法的有效性。
圖7 LNS標準化前后的對比
圖8 KNN檢測結(jié)果
圖9 PCA檢測結(jié)果
圖10 LOF檢測結(jié)果
圖11 LNS-PCA-LOF檢測結(jié)果
針對復雜工業(yè)過程數(shù)據(jù)的多模態(tài)和非線性特性,提出了一種基于局部鄰域標準化和主成分分析的局部離群因子故障檢測方法。Z-score方法在處理數(shù)據(jù)時使用整體的均值和標準差,不能消除數(shù)據(jù)的多模態(tài)特征,而LNS方法在對樣本進行標準化時,使用樣本局部鄰域集的均值和標準差,能使各個模態(tài)的中心點向原點靠攏,消除了數(shù)據(jù)的多模態(tài)特征,進而使得PCA可以更準確地劃分子空間。同時,由于LOF可以增強PCA處理非線性數(shù)據(jù)的能力,在PCA劃分好的兩個子空間上分別使用LOF進行故障檢測,將之應(yīng)用于非線性數(shù)值例子和青霉素發(fā)酵過程,結(jié)果驗證了該方法的有效性。