郭金玉 趙文君 李 元
(沈陽化工大學信息工程學院 遼寧 沈陽 110142)
在過程和制造業(yè)中,隨著現代制造業(yè)的快速發(fā)展,高質量產品合格率的要求越來越高,保證系統(tǒng)的正常運行成為一項至關重要的任務。雖然操作過程中的標準控制器可以補償過程中發(fā)生的多種干擾,但也存在控制器無法充分處理的變化。由于新儀器和通信技術的發(fā)明,可以從工廠裝置中收集大量的過程實時數據,從而通過監(jiān)測收集到的數據來識別過程中的異常情況。因此,多元統(tǒng)計過程監(jiān)測(Multivariate Statistical Process Monitoring,MSPM)方法[1-3]在過去幾十年中得到了發(fā)展。
在MSPM方法中,主成分分析[4-6](Principal Component Analysis,PCA)是應用最廣泛的一種。它通過構造原始數據最大方差的低空間來壓縮數據,然后將監(jiān)測數據投影到該空間以捕獲偏差進行過程監(jiān)測。與PCA相比,核主元分析(KPCA)可以處理非線性系統(tǒng)[7-10]。它基于核函數原理,通過非線性映射將輸入空間投影到高維特征空間,然后在高維空間中對映射數據進行主成分分析進而進行過程監(jiān)測。但是傳統(tǒng)KPCA本身方法的不足,阻礙了對過程數據變化的觀察,且由KPCA模型生成的特征值矩陣沒有得到足夠的重視,如何從動態(tài)過程中有效地獲取重要信息還需要進一步研究。KPCA通過奇異值分解(Singular Value Decomposition,SVD)對數據進行分解,然后生成特征矩陣,即特征向量和特征值,以表示建模數據的特征,實現對非線性數據降維,剔除變量間的主要相關性,并將新的數據投影到新的空間進行主元分析。從KPCA模型來看,過程數據之間的相關性是由SVD計算的,生成一個負載矩陣和一個對角矩陣。負載矩陣中的列表示從原始空間到新空間的變換方向,而對角矩陣的特征值表示相應的變換尺度。這兩個特征矩陣結構簡單,包含大量的數據信息,基于這兩個矩陣的變化,提出一些過程監(jiān)控方法。Kano等[11]根據特征值評估差異性提出了一種稱為DISSIM的統(tǒng)計監(jiān)測方法,但他們建立的監(jiān)測計算公式,難以確定被測個數?;谙嗨菩訨ohannesmeyer等[12]提出將snapshopt數據與分割的歷史數據進行比較,進而對數據進行監(jiān)測,但是比較對象是T2和Q統(tǒng)計量,它們的計算量比特征矩陣大。
在最近的研究中,實時過程監(jiān)控在故障檢測方面十分重要,這使得在運行期間可以立即識別和糾正故障。Liu等[13]提出了基于時變過程新數據與歷史數據的差異性來更新偏最小二乘(PLS)模型的參數。Rashid等[14]利用多維互信息(Multidimensional Mutual Information,MMI)和滑動窗口集成獨立分量分析(Independent Component Analysis,ICA),提取非高斯過程特征,增強動態(tài)過程監(jiān)控。Jiang等[15]提出使用核密度估計(Kernel Density Estimation,KDE)來評估ICA模型中各獨立分量的重要性,使動態(tài)過程中的偏差信息得以突出,稱為KDE-DWICA。Yin等[16]提出了一種迭代優(yōu)化方法來提高系統(tǒng)性能。許多策略被用于增加在線信息的訪問,但最廣泛使用的是滑動窗口(Moving Window,MW)策略[17-19]。這種策略是一種遞歸技術,它構建以前的模型,而不是從原始數據構建,它是及時準確地從在線操作過程中獲取信息的有效工具。然而,由于控制回路的補償,MW中的數據趨勢將再次趨于平緩,故障信息將被覆蓋,因此,MW用于數據采集的方式需要改進。由于過程數據反映了操作系統(tǒng)的狀態(tài),過程數據的變化必然反映了監(jiān)控過程的變化?;谶@一思想,本文提出一種基于核主元分析模型所產生的特征值變化的過程監(jiān)控統(tǒng)計量。與Kano等提出的方法不同,特征矩陣的變化是基于其元素分布的變化來測量的,而且,過程中擾動的開始和結束時間也不是先驗的。為了獲得數據特征的實時信息,KPCA模型在每一點都進行更新,并收集操作過程中的數據。針對上述問題,本文采用同時包含實時數據和正常數據的組合滑動窗口(Combined Moving Window,CMW)來采集數據,對KPCA進行在線建模,以區(qū)分故障數據和正常數據。因此,產生了基于監(jiān)測特征值變化(Monitors the Variation of Eigenvalues,MVE)的監(jiān)測統(tǒng)計量進行故障檢測。
設X是m×n維數據矩陣,其中:n為樣本數;m為變量數。KPCA假設存在一非線性函數φ,用其將矩陣X=[x1,x2,…,xn]∈Rm×n中的向量x映射到高維空間中,從而得到一個新矩陣φ(x)=[φ(x1),φ(x2),…,φ(xn)]∈Rm×v(v>>n)。其中高維空間稱為特征空間(Feature space),記為μ。首先對μ中的矩陣φ(x)m×n進行主元分析,假設已對φ(x)進行預處理,即:
(1)
則μ中映射矩陣的協方差矩陣為:
(2)
對特征空間中的協方差矩陣進行特征向量分析,即:
CμP=λP
(3)
式中:λ為協方差矩陣Cμ的特征值;P是特征值對應的特征向量。即
(4)
式中:α=(α1,α2,…,αn),αi為核函數矩陣K的第i個特征向量。
式(3)兩邊同乘[φ(X)]T可轉化為:
[φ(X)]Tφ(X)[φ(X)]Tφ(X)α=λ[φ(X)]Tφ(X)α
(5)
記K=[φ(X)]Tφ(X),式(4)兩邊同除K可轉化為:
Kα=λα
(6)
本文運用高斯核(Gaussian kernel)來計算核矩陣K。
通過KPCA將新來的樣本xnew在特征空間中線性表示,即:
(φ(X)α)Tφ(xnew)=αTφ(X)φ(Xnew)=
[α1,α2,…,αn][k(x1,xnew),k(x2,xnew),…,
k(xn,xnew)]T
(7)
然后,采用SPE和T2統(tǒng)計指標用于監(jiān)視殘差空間和主元子空間的變化。
在實踐中,通過控制回路操作系統(tǒng)進行補償,使異常數據經過一段時間的故障發(fā)生后達到一個新的水平。如圖1所示,當第一個故障點發(fā)生故障時(180點為第一故障點),MW2(180點至380點為滑動窗口2)還可以發(fā)現數據的波動,但在400點以后,該變量偏離了原來的范圍,而在MW3(600點至800點為滑動窗口3)中則表現出穩(wěn)定的狀態(tài)。因此,MW3不能表示數據的偏差。針對這一缺點,本文研究組合移動窗口策略來區(qū)分正常數據和故障數據。首先選擇一些正常的數據作為基準數據,將其放入窗口中,以識別在線數據的狀態(tài)。然后利用組合滑動窗口中采集的數據構建實時模型,從生成的特征矩陣中提取變化信息用于監(jiān)測。
圖1 不同時間窗口收集數據的情況
在目前的工作中,CMW中基準數據和監(jiān)控數據的大小或多或少會對監(jiān)控結果產生影響。此外,所選負載向量的數量也會影響監(jiān)控性能。因此,這里討論了組合窗口大小設置的影響。選取TE過程的8個不同的故障類型進行測試。第一個討論是關于CMW的大小和基準數據與監(jiān)測數據的數量選取問題。設置了幾個不同的值,表1中列出了相應的監(jiān)視結果,其中用粗體突出顯示了顯著改進的監(jiān)視結果??梢钥闯?傳統(tǒng)的MW,即CMW的基準數據為零,在捕獲大部分類型故障的數據特征變化方面存在困難,導致部分類型故障的故障檢測率較低,在CMW中保留一些正常數據就可以解決這個問題。同時,監(jiān)測數據數量和基準數據的設置也會影響監(jiān)測結果。當基準數據的數量遠遠大于被監(jiān)控數據的數量時,就會隱藏被監(jiān)控數據的變化,從而導致監(jiān)控性能下降。此外,從表1可以看出,CMW大小的選擇對監(jiān)控性能影響不大。綜合考慮,本文將CMW設定為60個樣本,其中:15個樣本為基準數據;45個樣本為當前研究的監(jiān)測數據。
表1 CMW中不同寬度尺寸、不同基準數據與監(jiān)測數據比值的故障檢測率
在概率論和統(tǒng)計學中,方差衡量一組數據的分散程度。當數據集中的所有值都相同時,方差為零。相反,當數據散布在均值周圍,并且彼此之間存在差異時,就會產生很大的方差。對于KPCA模型,其本質是將低維輸入空間中變量之間的非線性關系通過非線性函數映射到高維空間,然后在高維空間中進行PCA,計算建模數據的最大方差。PCA通過SVD分解生成負載矩陣P和對角矩陣Λ。P負責旋轉主軸,而對角矩陣Λ中的特征值負責將生成的向量在新構造的空間中標準差縮放為1,當建模數據從聚集狀態(tài)變?yōu)榉稚顟B(tài)時,所產生的特征值和特征向量必然是不同的。將這一規(guī)律應用到實時建模中,一旦過程中出現故障,工藝數據就會偏離原來的分布區(qū)域。如果用這些錯誤的數據建模,生成的負載矩陣P和對角矩陣Λ將沒有意義。為了進一步說明,一個簡單的數值例子如下:
(8)
式中:[r1,r2]T服從高斯分布,均值為0,標準差為5;[e1,e2]T服從均值為0、標準差為1的正態(tài)分布。共采集了200個樣本(正常數據),且生成一個模擬故障案例:從第101個樣本到最后,x2增加了0.5×(i-100)的斜坡變化,其中i是采樣時刻。
首先,將正常數據和故障數據以均值為零進行縮放,將縮放后的正常數據和故障數據的分布圖進行對比,如圖2所示。
圖2 正常數據和故障數據投影分布
可以看出,正常數據比較集中,而故障數據相對分散,且偏離原始數據。然后分別利用這兩個數據集構建核主元分析模型,并將其投影到新的空間中,盡管建模數據集完全不同,新空間中的投影數據(包括正常數據和故障數據)卻呈現相似的分布。原因是利用KPCA模型的變換方式,為建模數據尋找新的方向,計算新的方差。因此,上述兩種KPCA模型中特征矩陣之間存在較大的差異。為了解釋這一計算結果,分別在故障發(fā)生前和故障發(fā)生后的第90個樣本和第190個樣本兩個點上建立核主元分析模型。使用生成的90和190個樣本進行建模,生成的特征矩陣如表2-表3所示,對角矩陣中的60列分別列出各自的特征值??梢钥闯?故障數據模型的特征值明顯大于正常數據模型的特征值。因此,可利用負載矩陣P和對角矩陣Λ的變化信息來解釋這一現象。
表2 正常數據生成的對角矩陣
表3 故障數據生成的對角矩陣
如前所述,當建模數據顯示異常時,特征矩陣將完全不同,可以捕獲這種變化信息來構建統(tǒng)計量,用于過程監(jiān)控。本文提出一種基于特征值變化的方法來測量實時核主成分分析模型中的變化信息。統(tǒng)計量定義如下:
(9)
式中:t為當前時刻,取平方是為了擴大方差。在運行過程中,當過程處于正常狀態(tài)時,所產生的每個變量的值都會保持穩(wěn)定,但是一旦發(fā)生故障,變量的值就會超出原來的范圍。假設負載向量是單位向量,特征值必須增加,以便將產生的向量縮放到方差為1。因此,當過程中出現異常時,特征值會變大。利用這種變化規(guī)律構造監(jiān)控統(tǒng)計量,如式(9)所示。為了判斷系統(tǒng)狀態(tài),根據核密度估計(KDE)設置99%的置信限。當計算的統(tǒng)計量超過置信極限時,說明該過程處于故障狀態(tài)。否則,該過程視為正常。
基于組合滑動窗口的KPCA的工業(yè)過程故障檢測,主要包括2個步驟:離線建模和在線檢測。
離線建模:
(1) 指定組合滑動窗口Xc=[Xa;Xb]的寬度w,其中:Xa∈Rw1×m為基準數據;Xb∈Rw2×m為在線數據,w=w1+w2。
(2) 識別并選擇一個普通數據集作為基準數據Xa。
(3) 從正常的監(jiān)控過程中收集Xb,在組合滑動窗口中形成數據集Xc。
(4) 使用數據集Xc建立KPCA模型,生成特征值。
(5) 根據式(8)計算統(tǒng)計量sum。
(6) 返回到(3),選擇在線數據Xb計算下一點的統(tǒng)計量,直到計算出所有的統(tǒng)計量為止。
(7) 使用計算出的統(tǒng)計量估計置信限。
在線監(jiān)測:
(1) 在時刻t,收集數據Xb=(X1(t),X2(t),…,Xm(t)),形成組合滑動窗口。
(2) 使用數據集Xc構造KPCA模型,生成特征值。
(3) 根據式(9)計算統(tǒng)計量sum(t)。
將統(tǒng)計數據與置信限進行比較。如果統(tǒng)計量sum(t)超過置信限,則過程中發(fā)生故障;否則,返回(1)。
本文構造一個數值例子,該數據有3個變量,模型如下:
(10)
式中:[r1,r2,r3]T滿足高斯分布,均值為0,標準差為0.01;[e1,e2,e3]T服從均值為0、標準差為1的正態(tài)分布。為了便于說明,由式(10)生成500個樣本作為正常數據,利用這些數據構造常規(guī)的核主元分析模型,并設定99%的置信限進行狀態(tài)判斷。我們根據數值例子創(chuàng)建兩種不同的故障。
故障1:變量x3從151時刻到500時刻發(fā)生0.05×(i-150)的斜坡變化。
故障2:變量x2從151時刻到350時刻發(fā)生階躍為-0.5的變化。
每個故障類型產生500個樣本作為測試數據。這里組合滑動窗口選取15個基準樣本,每點采集45個在線樣本進行建模。所生成的特征值包含關鍵信息,一旦在線數據出現異常,特征值將發(fā)生明顯的變化。因此,我們提取特征值的變化信息,來構造統(tǒng)計量。
本文方法與傳統(tǒng)KPCA和基于滑動窗口MVE(MVE-WM)對故障1的監(jiān)測結果如圖3所示??梢钥闯?傳統(tǒng)的KPCA幾乎檢測不到故障。然而,基于特征值建立的統(tǒng)計量在故障發(fā)生后,可以較有效地監(jiān)測出故障。三種方法對故障2的監(jiān)測結果如圖4所示,傳統(tǒng)KPCA的監(jiān)測圖幾乎沒有顯示故障發(fā)生的跡象。這是因為核主元選擇的缺點造成了信息的丟失。有價值的信息型主元因降維而被棄用。然而,我們提出的組合滑動窗口策略可以有效地檢測到這一步的變化,統(tǒng)計量在151時刻之后超過置信限,在樣本350時刻之后恢復到正常狀態(tài)。綜上所述,本文提出的統(tǒng)計方法在故障檢測方面具有高效、準確的性能。
圖3 三種方法對數值例子故障1的檢測結果
圖4 三種方法對數值例子故障2的檢測結果
TE工業(yè)生產過程廣泛應用于故障檢測研究領域[20-21]。TE流程主要有5個操作單元:反應器、產品冷凝器、循環(huán)壓縮機、汽液分離器和產品汽提器[22-23]。該仿真系統(tǒng)有12個操作變量、22個連續(xù)過程測量值和19個成分變量??紤]到過程中變量可能受到任何變化的影響,將TE流程的21個預定義的異常操作事件編入系統(tǒng),并收集相應的過程。
訓練數據集由500個樣本組成,而測試數據集由960個樣本組成,人為故障是從第161個樣本引入的。在21種故障中,選用故障4、11和20來測試本文方法的性能。
在該方法中,組合滑動窗口的大小設置與上述相同,使用15個基準樣本和45個在線樣本。選用三個過程故障(即選擇4、11和20)來驗證本文方法的優(yōu)良性能。故障4是由反應堆冷卻水入口溫度的擾動引起的。傳統(tǒng)的KPCA不能有效地檢測該故障,大部分時刻的SPE監(jiān)測統(tǒng)計量在置信限以下,漏報樣本較多,如圖5(a)所示。利用滑動窗口策略進行故障檢測,如圖5(b)所示,該方法能在第200至500個樣本左右檢測到故障,但稍后監(jiān)測統(tǒng)計量恢復到正常狀態(tài)。這是因為系統(tǒng)運行的循環(huán)會覆蓋故障信息,因此當工藝條件異常時,監(jiān)控統(tǒng)計量回到置信限以下。但是,從圖5(c)可以看出,在第161個樣本之后,組合滑動窗口的統(tǒng)計量表現良好,并呈現出相當大的顯著優(yōu)勢??紤]到故障的發(fā)生增加了組合滑動窗口中數據的分布區(qū)域,與負載矩陣相關的統(tǒng)計量sum將會很大,從而將主元量化為單位方差。由此可見,組合滑動窗口策略在整個故障時間內表現出良好的性能。
圖5 TE數據故障4的檢測
表4分別是故障4、11和20的平均故障檢測率。由此可見,所提出基于特征值變化的統(tǒng)計量,表現出有效的監(jiān)測功能,與傳統(tǒng)的KPCA和滑動窗口的表現相比提高了故障檢測率,故利用特征矩陣中的變化信息構造統(tǒng)計量的方法具有較好的靈敏度和準確性[24-28]。
表4 三種方法對TE數據的檢測結果對比
為了研究一種結構簡單、計算量小、監(jiān)測性能優(yōu)越的故障檢測方法,提出基于特征值變化的監(jiān)測統(tǒng)計量。由于實時核主元分析模型產生的特征值揭示了建模數據之間的內在相關性,因此,當采集在線數據的操作系統(tǒng)由于過程故障而產生一定的波動時,這些特征值就會發(fā)生變化。提取此特征矩陣的變化信息構造統(tǒng)計量,用于過程監(jiān)控。為了區(qū)分過程中的故障數據,采用包含一些正常樣本的改進的組合滑動窗口策略來收集在線數據進行建模。通過一個數值例子和TE過程來驗證本文方法的可行性和準確性,并與其他的方法進行比較,表明了本文方法的有效性。本文方法具有通用性和適用性。目前,本文方法僅適用于單個過程,但隨著數據存儲和數據處理技術的發(fā)展,可以從眾多過程中及時收集大量的實時數據,為實時監(jiān)控操作中的產品提供了可能。今后的工作可以側重于此,并嘗試將本文方法應用于其他操作條件。