曾 靜, 解曉兵, 李 元
(沈陽化工大學(xué) 信息工程學(xué)院,沈陽 110142)
大型工業(yè)產(chǎn)品的生產(chǎn)過程較為復(fù)雜,過程數(shù)據(jù)大多呈現(xiàn)出多模態(tài)和非線性等特點(diǎn)。為了有效檢測(cè)工業(yè)過程的故障問題,學(xué)者們從多個(gè)角度研究多階段過程,提出了一系列故障檢測(cè)方法。常用的過程故障檢測(cè)方法有主成分分析(Principal component analysis,PCA)[1-3]、核主成分分析(Kernel principal component analysis,KPCA)[4-5]和獨(dú)立成分分析(Independent component analysis,ICA)[6-7]等。由于PCA和KPCA方法中的T2和SPE兩個(gè)統(tǒng)計(jì)量都是在過程數(shù)據(jù)滿足單模態(tài)的多元高斯分布條件下提出的,因此,在檢測(cè)多模態(tài)過程故障時(shí),漏檢率會(huì)很高。同時(shí),由于PCA主要處理線性問題,忽略了實(shí)際過程中數(shù)據(jù)的非線性特征,因此,故障檢測(cè)率較低。ICA主要處理單一模態(tài)的故障檢測(cè)問題,無法有效完成多模態(tài)數(shù)據(jù)的故障檢測(cè)。Xie等在研究多模態(tài)過程的故障檢測(cè)問題時(shí),將ICA和PCA相結(jié)合,首先使用ICA將過程變量的非高斯部分提取出來,從而消除高維度變量的相關(guān)性,用PCA將低維信息提取出來,保留數(shù)據(jù)完整信息的同時(shí),提高了故障檢測(cè)率[8]。He等針對(duì)多模態(tài)問題提出了一種K近鄰故障檢測(cè)(Fault detection based onKnearest neighbors,F(xiàn)D-KNN)方法,該方法通過計(jì)算訓(xùn)練樣本之間的距離來實(shí)現(xiàn)多模態(tài)數(shù)據(jù)的故障檢測(cè)[9]。馬賀賀等在對(duì)多模態(tài)數(shù)據(jù)進(jìn)行故障檢測(cè)時(shí),將密度作為統(tǒng)計(jì)指標(biāo),提出了局部離群因子(Local outlier factor,LOF)故障檢測(cè)方法,能夠?qū)⒐收蠘颖緩恼颖局蟹蛛x開,進(jìn)而檢測(cè)出故障數(shù)據(jù)[10]。
數(shù)據(jù)建模前需要進(jìn)行預(yù)處理操作,數(shù)據(jù)預(yù)處理大多使用Z-score方法,該方法能夠避免因量綱的不同給故障檢測(cè)帶來的影響,但是此方法要求數(shù)據(jù)滿足單模態(tài)分布,當(dāng)過程數(shù)據(jù)是多模態(tài)時(shí),該方法將多模態(tài)的數(shù)據(jù)作為一個(gè)整體看待,忽略了不同模態(tài)方差差別較大的問題,處理效果不佳。為了處理多模態(tài)特征數(shù)據(jù)的故障檢測(cè)問題,Ma等采用局部鄰域標(biāo)準(zhǔn)化(Local neighbor standardization,LNS)方法對(duì)樣本進(jìn)行標(biāo)準(zhǔn)化,LNS利用樣本局部鄰域集的均值和標(biāo)準(zhǔn)差,將不同模態(tài)的數(shù)據(jù)中心點(diǎn)向坐標(biāo)原點(diǎn)靠攏,可以調(diào)整多階段的離散程度,使得標(biāo)準(zhǔn)化處理后的數(shù)據(jù)離散程度近似相同,從而將多模態(tài)數(shù)據(jù)轉(zhuǎn)化為單模態(tài)數(shù)據(jù),消除了量綱對(duì)故障檢測(cè)的影響,提高了多模態(tài)過程的故障檢測(cè)能力[11-12]。
本文提出了基于局部鄰域標(biāo)準(zhǔn)化和主成分分析的局部離群因子故障檢測(cè)方法,利用LNS方法將多模態(tài)數(shù)據(jù)標(biāo)準(zhǔn)化處理為單模態(tài)數(shù)據(jù),利用PCA將數(shù)據(jù)劃分為主成分子空間和殘差子空間,在劃分好的兩個(gè)子空間分別使用LOF方法對(duì)數(shù)據(jù)進(jìn)行故障檢測(cè)。研究表明,LNS-PCA-LOF方法可以將多模態(tài)數(shù)據(jù)歸一化為單模態(tài)數(shù)據(jù),同時(shí),LOF能夠增強(qiáng)PCA的非線性處理能力,實(shí)現(xiàn)了多模態(tài)和非線性過程的故障檢測(cè)。
PCA是針對(duì)線性問題提出的特征降維方法,假設(shè)采集到n個(gè)樣本,每個(gè)樣本有m個(gè)變量,則構(gòu)成數(shù)據(jù)矩陣X=[X1,X2,…,Xn]T∈Rn×m,PCA模型將數(shù)據(jù)矩陣X劃分為主成分子空間和殘差子空間,具體如下:
(1)

在主成分子空間和殘差子空間分別使用T2和SPE兩個(gè)監(jiān)控統(tǒng)計(jì)量[13]對(duì)故障進(jìn)行檢測(cè),公式為:
T2=XP∑-1PTXT=t∑-1tT
(2)
SPE=‖X-XPPT‖2
(3)
式中:t表示X的得分向量;∑表示X的協(xié)方差矩陣。
局部離群因子方法最早由Breunig等提出,這種方法將密度作為統(tǒng)計(jì)指標(biāo),利用每個(gè)樣本的局部離群因子來區(qū)分故障樣本和正常樣本,實(shí)現(xiàn)故障檢測(cè)[14],具體計(jì)算方法如下:
(1)找出各個(gè)樣本的k個(gè)近鄰,計(jì)算各個(gè)樣本與每個(gè)近鄰的歐氏距離。

(4)

(3)計(jì)算樣本Xi的局部可達(dá)密度:
(5)
從式(5)可以看出,樣本Xi與其鄰居之間的距離越遠(yuǎn),lrd(Xi)的數(shù)值越小。
(4)計(jì)算樣本Xi的局部離群因子:
(6)

從式(6)的計(jì)算可知,假如樣本Xi的局部可達(dá)密度與其鄰居的局部可達(dá)密度相比較,前者小于后者,此時(shí)計(jì)算LOF(Xi)的數(shù)值大于1,那么樣本Xi是一個(gè)離群點(diǎn)。
數(shù)據(jù)在建模之前,需要對(duì)其進(jìn)行預(yù)處理,通常情況下最常用的預(yù)處理方式是Z-score方法,該方法主要對(duì)單模態(tài)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化后數(shù)據(jù)的均值和方差分別為0和1,避免了數(shù)據(jù)量綱的不同給故障檢測(cè)帶來的影響[15]。然而,在處理方差差別較大的多模態(tài)過程數(shù)據(jù)時(shí),該方法的預(yù)處理效果并不佳,這是由于Z-score方法只能消除量綱,不能改變樣本的數(shù)據(jù)特征,假如數(shù)據(jù)在預(yù)處理之前是多模態(tài)的,經(jīng)過Z-score方法處理后也是多模態(tài)的,不能消除數(shù)據(jù)的多模態(tài)特征,所以本文使用一種新的數(shù)據(jù)標(biāo)準(zhǔn)化方法,即局部鄰域標(biāo)準(zhǔn)化(LNS)方法來處理多模態(tài)數(shù)據(jù)。首先,利用LNS方法找出各個(gè)樣本的前K個(gè)鄰域集合,然后,計(jì)算該鄰域集合的均值和標(biāo)準(zhǔn)差,其標(biāo)準(zhǔn)化方法如下:
(7)
式中n(Xi)、Mean(n(Xi))和Std(n(Xi))分別表示樣本Xi的鄰域集、均值和標(biāo)準(zhǔn)差。
經(jīng)上述步驟的預(yù)處理之后,數(shù)據(jù)從原先的多模態(tài)特征轉(zhuǎn)化為了單模態(tài)特征,為后續(xù)PCA更準(zhǔn)確地劃分主成分子空間和殘差子空間奠定了良好的基礎(chǔ)。

基于LOF的主成分子空間監(jiān)控統(tǒng)計(jì)量如下式:
(8)
式中:lrd(y)表示樣本y的局部可達(dá)密度;lrd(yf)表示其與近鄰之間的局部可達(dá)密度。
基于LOF的殘差成分子空間監(jiān)控統(tǒng)計(jì)量公式為:
(9)
式中LOFPCS和LOFRS兩個(gè)控制限由核密度估計(jì)方法獲得。
(1)采集正常過程中的數(shù)據(jù),將此數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集X;
(2)在訓(xùn)練數(shù)據(jù)集X中,尋找每一個(gè)樣本的前K個(gè)鄰域集合n(XI),然后按式(7)對(duì)該樣本進(jìn)行標(biāo)準(zhǔn)化處理;
(3)利用式(1)對(duì)X建立PCA模型獲得PCS和RS;
(4)利用式(6)分別在PCS和RS計(jì)算LOF統(tǒng)計(jì)量;
(5)由核密度估計(jì)方法確定T2和SPE兩個(gè)監(jiān)控統(tǒng)計(jì)量控制限。
(1)將生產(chǎn)過程中測(cè)得的數(shù)據(jù)作為待檢測(cè)數(shù)據(jù)集Y,在訓(xùn)練數(shù)據(jù)集X中尋找每一個(gè)樣本的前K個(gè)鄰域集合n(Xi);
(2)按式(7)對(duì)該樣本進(jìn)行標(biāo)準(zhǔn)化處理;

(4)利用式(8)和式(9)計(jì)算LOFPCS和LOFRS;
(5)將步驟(4)計(jì)算出的結(jié)果與控制限進(jìn)行比較,判斷是否為故障數(shù)據(jù)。
使用文獻(xiàn)[16]中提出的非線性數(shù)值例子,模型公式為:
(10)
式中e1~e7為服從N(0, 0.01)正態(tài)分布的噪聲。
式(11)和式(12)分別為兩種模態(tài)數(shù)據(jù)的產(chǎn)生:

(11)

(12)
針對(duì)上述兩種模態(tài),分別生成500個(gè)樣本,共計(jì)1 000個(gè)樣本構(gòu)成訓(xùn)練數(shù)據(jù)集,測(cè)試數(shù)據(jù)集共計(jì)500個(gè)樣本,設(shè)計(jì)故障類型如下:故障1按照模態(tài)1的方式運(yùn)行,從第251個(gè)樣本開始至第500個(gè)樣本結(jié)束在變量x1上加入幅值為0.6的階躍故障;故障2按照模態(tài)2的方式運(yùn)行,從第251個(gè)樣本開始至第500個(gè)樣本結(jié)束在變量x7上加入0.04(k-250)的斜坡故障,k為采樣時(shí)刻數(shù)。
對(duì)于上述故障分別使用KNN、PCA、LOF和LNS-PCA-LOF對(duì)故障進(jìn)行檢測(cè)。通過尋優(yōu)測(cè)試,KNN方法中的近鄰數(shù)確定為30,根據(jù)累計(jì)貢獻(xiàn)率的方法,PCA方法中主成分個(gè)數(shù)取2,LNS-PCA-LOF的主成分個(gè)數(shù)取3,局部鄰域K為6,均采用95%的控制限對(duì)故障進(jìn)行監(jiān)控。4種方法得到如圖2~圖5所示的檢測(cè)結(jié)果。由圖1(a)可以看出,原始數(shù)據(jù)由分散程度明顯的兩個(gè)模態(tài)組成,經(jīng)過LNS對(duì)這兩個(gè)模態(tài)的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化后,由圖1(b)可以看出,多模態(tài)數(shù)據(jù)已經(jīng)轉(zhuǎn)化成了單模態(tài)數(shù)據(jù),這為PCA能夠更準(zhǔn)確地劃分兩個(gè)子空間奠定了良好的基礎(chǔ)。

圖1 數(shù)據(jù)散點(diǎn)圖

圖2 KNN檢測(cè)結(jié)果

圖3 PCA檢測(cè)結(jié)果
由圖2可以看出,這兩個(gè)模態(tài)樣本的D2統(tǒng)計(jì)量有較大的差異,且模態(tài)1在計(jì)算D2統(tǒng)計(jì)量控制限時(shí)占主導(dǎo)作用,因此對(duì)故障的檢測(cè)效果不佳。由于PCA方法采用T2和SPE兩個(gè)統(tǒng)計(jì)量作為監(jiān)控指標(biāo),對(duì)于本例的多模態(tài)數(shù)據(jù),不滿足數(shù)據(jù)單一分布的特性,這種方法檢測(cè)率較低。由于LOF利用單監(jiān)控統(tǒng)計(jì)量對(duì)過程數(shù)據(jù)進(jìn)行監(jiān)控,由圖4可以看出LOF檢測(cè)率也不高。為了彌補(bǔ)LOF自身單監(jiān)控統(tǒng)計(jì)量的缺陷,同時(shí)提高PCA處理非線性數(shù)據(jù)的能力,使用LOF方法在PCA劃分的主成分子空間和殘差子空間分別進(jìn)行故障檢測(cè),由圖5可以看出將LNS、PCA和LOF結(jié)合后故障檢測(cè)效果取得了很大改善。

圖4 LOF檢測(cè)結(jié)果

圖5 LNS-PCA-LOF檢測(cè)結(jié)果
青霉素發(fā)酵過程是一種常見的非線性、多模態(tài)過程,青霉菌發(fā)酵可以分為兩個(gè)階段:(a)青霉菌適應(yīng)生長繁殖階段;(b)青霉菌合成青霉素階段[17-18]。PenSim2.0平臺(tái)可以仿真產(chǎn)生青霉素發(fā)酵過程數(shù)據(jù),該平臺(tái)產(chǎn)生的青霉素?cái)?shù)據(jù)共有17個(gè)監(jiān)控變量,如表1所示。該平臺(tái)可以在通風(fēng)率、底物流加速率和攪拌功率上人為地加入階躍和斜坡兩種不同類型的故障,還可以對(duì)加入的故障進(jìn)行幅值和起止時(shí)間上的修改[19-20]。

表1 青霉素發(fā)酵過程變量名稱
使用PenSim2.0平臺(tái)仿真青霉素發(fā)酵過程數(shù)據(jù),將PenSim2.0平臺(tái)的仿真時(shí)長設(shè)定為400 h,采樣時(shí)間設(shè)定為0.5 h。使用平臺(tái)默認(rèn)參數(shù)生成的數(shù)據(jù)作為訓(xùn)練樣本,加入兩種不同類型的故障如圖6所示。其中,故障1為在變量通風(fēng)率從100 h開始至250 h結(jié)束加入幅值為0.002的階躍故障;故障2為在變量底物流加速率從150 h開始至青霉素發(fā)酵過程結(jié)束加入幅值為0.001(l/h)的斜坡故障。

圖6 故障散點(diǎn)圖
與數(shù)值例子仿真相同,使用KNN、PCA、LOF和LNS-PCA-LOF四種方法對(duì)其進(jìn)行故障檢測(cè)。通過尋優(yōu)測(cè)試,KNN方法中的近鄰數(shù)確定為3,根據(jù)累計(jì)貢獻(xiàn)率的方法,確定PCA方法中的主成分個(gè)數(shù)取7,LNS-PCA-LOF的主成分個(gè)數(shù)取7,局部鄰域K為6,同樣采用95%控制限對(duì)故障進(jìn)行監(jiān)控。
以上4種方法得到如圖8~圖11所示的檢測(cè)結(jié)果。從圖7(a)可以看出,預(yù)處理前的數(shù)據(jù)呈現(xiàn)多模態(tài)分布,經(jīng)LNS標(biāo)準(zhǔn)化處理之后,結(jié)果如圖7(b)所示,可以看出原先的多模態(tài)數(shù)據(jù)被處理成了單一模態(tài)數(shù)據(jù)。從圖8可以看出,KNN方法的控制限主要由前一個(gè)模態(tài)的D占主導(dǎo)作用,因此無法對(duì)發(fā)生在密集模態(tài)上的微小故障進(jìn)行有效的檢測(cè)。PCA使用T2和SPE統(tǒng)計(jì)量作為監(jiān)控指標(biāo),青霉素發(fā)酵過程數(shù)據(jù)呈現(xiàn)多模態(tài)分布,不滿足PCA兩個(gè)統(tǒng)計(jì)量要求數(shù)據(jù)為單一分布的假設(shè),從圖9可以看出,該方法的故障檢測(cè)效率較低。LOF對(duì)數(shù)據(jù)進(jìn)行檢測(cè)時(shí)使用自身的單監(jiān)控統(tǒng)計(jì)量,由圖10可以看出,LOF檢測(cè)率也不高。從圖11可以看出,經(jīng)過LNS處理且在PCA劃分好的兩個(gè)子空間上分別使用LOF方法進(jìn)行故障檢測(cè),檢測(cè)效果最好,驗(yàn)證了LNS-PCA-LOF方法的有效性。

圖7 LNS標(biāo)準(zhǔn)化前后的對(duì)比

圖8 KNN檢測(cè)結(jié)果

圖9 PCA檢測(cè)結(jié)果

圖10 LOF檢測(cè)結(jié)果

圖11 LNS-PCA-LOF檢測(cè)結(jié)果
針對(duì)復(fù)雜工業(yè)過程數(shù)據(jù)的多模態(tài)和非線性特性,提出了一種基于局部鄰域標(biāo)準(zhǔn)化和主成分分析的局部離群因子故障檢測(cè)方法。Z-score方法在處理數(shù)據(jù)時(shí)使用整體的均值和標(biāo)準(zhǔn)差,不能消除數(shù)據(jù)的多模態(tài)特征,而LNS方法在對(duì)樣本進(jìn)行標(biāo)準(zhǔn)化時(shí),使用樣本局部鄰域集的均值和標(biāo)準(zhǔn)差,能使各個(gè)模態(tài)的中心點(diǎn)向原點(diǎn)靠攏,消除了數(shù)據(jù)的多模態(tài)特征,進(jìn)而使得PCA可以更準(zhǔn)確地劃分子空間。同時(shí),由于LOF可以增強(qiáng)PCA處理非線性數(shù)據(jù)的能力,在PCA劃分好的兩個(gè)子空間上分別使用LOF進(jìn)行故障檢測(cè),將之應(yīng)用于非線性數(shù)值例子和青霉素發(fā)酵過程,結(jié)果驗(yàn)證了該方法的有效性。