曾 靜 李 磊 李 元
(沈陽化工大學信息工程學院 遼寧 沈陽 110142)
隨著現代工業的發展,大多工業產品的生產要經過多道工序才能完成,因此針對多階段生產過程中的異常檢測也成為了研究的熱點。為了充分利用工業生產中收集的海量數據,基于數據驅動的多元統計監控(Multivariate Statistical Process Monitoring,MSPM)技術已在工業過程中得到廣泛應用[1]。
在過程故障檢測中主成分分析(PCA)、偏最小二乘(Partial Least Square, PLS)的應用最為廣泛,但是這兩種方法中的監控指標T2和SPE都是在過程數據滿足多元高斯分布的前提下提出的,這使得PCA和PLS在對多模態故障數據進行檢測時會出現很高的漏報率。另外,PCA是一種線性降維方法,因此其忽略了數據本身包含的非線性特征。針對非線性問題,核主成分分析(KPCA)方法被引入到過程監控中[2]。KPCA使用一個未知的非線性映射φ(·)將低維空間數據變換到高維度空間中,再進行主成分分析[3]。與傳統的PCA相比,KPCA具有主成分特征明顯、貢獻率集中等優點,其性能優于PCA[4]。由于KPCA同樣采用T2和SPE作為監控指標,因此在處理多模態數據時依然存在不足。
對于多模態數據Ma等[5-6]提出了局部鄰域標準化(LNS)策略故障檢測方法,在使用數據進行建模之前需要對數據進行預處理。數據預處理方式大多使用Z-score方法,該方法將不同量綱下的數據歸一化成均值為0方差為1的數據,從而避免了數據量綱的差異給故障檢測帶來影響。但是Z-score方法并沒有改變數據原來的分布特征,例如預處理之前的數據是多模態的數據,那么經過Z-score方法處理后的數據還是多模態數據,而LNS方法使用樣本的局部鄰域集合的均值和標準差對樣本進行標準化處理[7],不僅能將各個模態的數據中心平移到原點,還能調整各階段的離散程度使之近似相同,提高了方差不同的多階段過程故障檢測能力。經過LNS方法處理后的多模態數據變成近似服從單一的多元高斯分布的單模態數據。
針對過程監控中數據的多模態和非線性問題,本文提出一種使用局部鄰域標準化和KPCA相結合的故障檢測(LNS-KPCA)方法。首先使用樣本局部鄰域集合的均值和標準差對樣本進行標準化,使各個模態的數據中心平移到原點,從而消除數據的多模態特征,利用KPCA對標準化后的數據進行建模和故障檢測。LNS-KPCA可以將多模態數據融合為單模態數據,還繼承了KPCA處理非線性數據的能力,可以有效地對多模態和非線性過程進行監控。
設采集到l個樣本每個樣本有N個觀測變量,則得到的數據集可表示為X={x1,x2,…,xl},xk∈RN,通過非線性映射函數φ(·)將原始數據集X映射到高維特征空間G中,則G中的樣本可記為φ(xk),φ(xk)的協方差矩陣C為:
(1)
C的特征值λ和特征向量V表示為:
λV=CV
(2)
對應的特征向量V可由G空間中的樣本映射形成:
(3)
式中:φ(X)=[φ(x1)φ(x2) …φ(xl);];α=[α1α2…αl]T。
此處引入核函數:
Kij=K(xi,xj)=〈φ(xi),φ(xj)〉i,j=1,2,…,l
(4)
問題從求取高維空間中協方差矩陣的特征值和特征向量轉變成了求核矩陣的特征值和特征向量,即:
lλKα=KKα?lλα=Kα
(5)
歸一化特征向量V,則樣本φ(xk)在V上的映射為:
(6)

(7)
E越大則前m個較大的特征值對應的特征向量組成的矩陣就越能擬合原始空間數據。

(8)

T2統計量為主元得分,表示為:
T2=[p1,p2,…,pm]Λ-1[p1,p2,…,pm]T
(9)
式中:Λ-1是對應特征值λk的倒數。T2的控制限為:
(10)
Q統計量定義為:
(11)
控制限可由式(12)求得:
(12)
式中:g和h是訓練樣本的SPE指標的均值和方差;α為置信度。
KPCA相對于PCA在發掘數據的非線性特征方面有其獨到的優勢,但是KPCA使用的故障檢測指標T2和SPE都是在數據滿足單一高斯分布的前提下提出的,而實際的工業過程生產大多是多工況、多階段的生產方式,因此數據大多是多模態分布的,并不滿足單一高斯分布假設。針對KPCA在處理多模態數據上的短板,本文利用了LNS方法來融合多模態數據,使其近似服從多元高斯分布。
在使用數據進行建模前都要進行數據的預處理,目的是消除不同測量變量之間量綱的差異給后續的故障診斷帶來干擾。LNS方法首先在原始數據集X中尋找每個樣本Xi的前K個鄰域集合n(Xi),然后計算該鄰域集合的均值mean(n(Xi))和標準差std(n(Xi)),最后利用式(13)對Xi進行規范化處理。
(13)
經過上述步驟的數據預處理后,使得不同模態數據的中心被平移到原點,消除了數據的多模態特征,彌補了KPCA在處理多模態數據方面的不足,為后續的研究奠定了良好的基礎。
(1) 采集正常工況數據作為訓練數據集X。
(2) 在訓練集X中尋找每個樣本的前K個鄰域集合n(Xi),利用式(13)對該樣本進行標準化處理。
(3) 利用式(3)-式(6)求出原始數據在高維特征空間中特征值特征向量,應用式(7)確定主元個數。
(4) 利用式(9)和式(11)計算T2和SPE統計量。

(1) 將生產過程中測得的數據作為待檢測樣本,在訓練集X中尋找該樣本的前K個鄰域集合n(Xi)。
(2) 利用式(13)對該樣本進行標準化處理。
(3) 根據式(9)和式(11)計算T2和SPE統計量。
該非線性數值例子是由s1和s2構成的七變量數據組成[10],表示為:
(14)
式中:e1-e7為服從N(0,0.01)的噪聲;s1是-10到-7之間的隨機數,本例中s2取兩種正態分布的數值,以產生兩種模態數據。
Modal1s2:N(-15,2)
Modal2s2:N(5,0.5)
針對上述兩種模態,分別生成500個樣本,共計1 000個樣本組成訓練數據集。測試數據集共包括500個樣本,設計故障情況如下:故障1按照模態1來運行,從第251個樣本開始在變量x1上引入幅值為0.6的階躍故障。故障2按照模態2來運行,從第251個樣本開始在變量x7上引入幅值為0.04(k-250)的斜坡故障,其中k為采樣時刻數。
針對上述故障分別使用KNN、PCA、KPCA和LNS-KPCA對其進行故障檢測。通過尋優測試確定KNN方法中K取30,根據累計貢獻率法,PCA、KPCA方法中主元個數取2,LNS-KPCA方法中K取30,主元個數取3,其中KPCA和LNS-KPCA均采用高斯徑向核函數,核參數均為700,均采用95%的控制限對故障進行監控。
四種方法的檢測結果如圖1-圖4所示。從圖1的D2統計量可以明顯看出數據分為兩個模態,且前一個模態在計算統計控制限時占主導作用,對故障的檢測效果很不理想。由于PCA、KPCA均采用T2和SPE作為監控指標,對于本例中的多模態數據,并不滿足數據單一分布的假設,從圖2和圖3中可以看出兩種方法的檢測效果也并不理想。為了彌補KPCA在這一方面的不足,本文利用LNS能夠消除數據的多模態特征這一優點。從圖4可以看出將其與KPCA相結合后檢測效果得到了大幅度提高,為了使數據可視化取訓練數據和故障數據的前三個變量進行作圖。從圖5可以看出,針對本例中的多模態數據,經過LNS處理后數據從多模態數據變成了單模態的數據,為KPCA處理多模態、非線性數據奠定了良好的基礎。
青霉素發酵過程是一個典型的非線性過程。青霉菌可分為兩個階段:(1) 青霉菌適應生長繁殖階段,經過短時間的適應后開始迅速生長繁殖,并快速消耗葡萄糖引物;(2) 青霉菌合成青霉素階段[11-12]。因此青霉素發酵過程數據也是呈現多模態的特征。本文使用PenSim2.0仿真生成青霉素發酵過程數據,可在攪拌功率、通風率和底物流加速率上人為引入階躍和斜坡兩種故障,并且可以進一步設置引入故障的幅值和起止時間[13]。PenSim2.0平臺產生的數據共有17個監控變量,詳情見表1。

表1 青霉素發酵過程變量名稱

與數值仿真相同,同樣采用KNN、PCA、KPCA和LNS-KPCA四種方法對故障進行檢測,并進行對比分析。通過尋優測試確定KNN中K取3,由累計貢獻率法確定PCA中主元個數取4,KPCA中主元個數取11,核參數取700,LNS-KPCA中K取6,主元個數12,核參數同樣取700。以上實驗統一采用95%控制限。

對于工業過程數據的多模態和非線性,本文將局部鄰域標準化與KPCA相結合。傳統的Z-score方法在處理多模態數據時由于使用的全局均值和標準差,忽略了數據的多模態特性。而LNS方法利用樣本點的局部鄰域集合的均值和標準差對樣本進行標準化,能使各個模態的中心點向原點靠攏,從而消除數據的多模態特征。與KPCA相結合可以發掘出隱藏的非線性信息,將之應用于青霉素的發酵過程,結果驗證了該方法的有效性。