梁 艷,張彥云,鞏明月,任密蜂,程 蘭
(太原理工大學 電氣與動力工程學院,太原 030024)
隨著國民經濟的飛速發展,人們對工業產品的需求不斷增長,促使設備朝著多功能、大規模、結構復雜化和自動化的方向發展。然而,這種發展也帶來了一些弊端:當過程裝置發生故障時,不僅會因設備損壞,產品停產而造成嚴重的經濟損失,還可能會因為危害人民的生命財產安全,污染環境,造成嚴重的社會問題。因此,為了及早發現潛在的故障,以確保足夠的故障恢復時間,保證產品的生產質量,要對整個生產過程進行監控[1-2]。其中,將多變量統計過程監測(multivariate statistical process monitoring, MSPM)技術用于對多種化工過程進行故障檢測取得了巨大成功。MSPM技術可以被視為數據科學在化工業中的應用,它能夠從大量的常規過程數據中挖掘出有價值的信息,大大提高了可靠性和效率[3-4]。在這些MSPM技術中,主元分析(principal component analysis,PCA)是最受歡迎的方法之一[5-8]。
典型的MSPM數據模型以維度減少過程開始,該過程提供潛在的數據結構。以PCA模型為例,在建立PCA模型之后生成主元子空間和殘差子空間。然后,相應的統計信息T2統計量和SPE統計量可用于每個子空間中的過程監控[9-10]。傳統的PCA方法是用歐幾里德距離來測量PCA中的重構誤差,文獻[11-14]提出用新的度量——L1范數,替換先前的歐幾里德距離來進行計算。在文獻[14-15]中,通過極大似然估計建立L1范數PCA,然后分別獲得L1范數的啟發式估計和替代凸規劃來求解最小化重構誤差問題。但是這些都依賴于該過程在理想條件下操作并且數據服從高斯分布的假設。然而,由于實際過程中的非線性特性,即使擾動服從高斯分布,過程輸出數據也可能是非高斯的[10],這使得PCA模型不能有效地發揮作用并導致檢測結果不準確。
為解決上述問題,文獻[16]提出一種獨立成分分析(independent component analysis,ICA)的方法,以尋找具有非高斯性的變量的線性組合。通常,ICA模型更能有效地提取非高斯分布數據的基本信息,且ICA中的主成分在非高斯分布下是獨立的[17-18]。但是IC數量一般依據經驗進行選擇,沒有一定的理論支持,并且在實際過程中,如果多于一個分量是高斯分量,則ICA算法可能不會收斂[19]。為了避免使用ICA算法可能會出現的一些弊端,信息理論學習(information theory learning,ITL)中一些可以描述非高斯隨機特性的度量(如,熵,互熵等)被用于改進PCA[20-21,28]。文獻[22]提出了一種最大熵PCA算法(maximum entropy PCA,MaxEnt-PCA),其目標是尋找一個投影矩陣使得數據經PCA投影后的方差最大。文獻[23]則從重構誤差的角度出發,提出了基于最大互熵的PCA算法,令重構誤差與和零之間的互熵最大,從而降低誤差在零附近的隨機性?;レ刂心J的核函數是高斯核,但是,它并不總是最佳選擇。因此,一個更具一般性的互熵——廣義互熵(generalized correntropy,GC)被提出來。
本文將廣義互熵用于PCA(generalized correntropy PCA,GC-PCA)以進行非高斯系統的故障檢測?;レ厥鞘褂脕碜愿唠A信號統計特性的信息來測量兩個隨機變量廣義相似性的一種度量[25]。廣義互熵具有使用高斯核的原始互熵的優點[25-27]:1) 它包含所有的偶數階矩,且高階矩的權值僅由核的大小決定;2) 對任意分布都有界;3) 它是一種局部相似性度量,對異常值很穩健。同時,它還具備傳統互熵不具備的優點[24]:1) 廣義互熵是對稱的;2) 廣義互熵涉及誤差變量的高階絕對矩。本文所提出的GC-PCA是將傳統PCA中的均方誤差(mean square error,MSE)準則用GC準則進行替代,以處理重構誤差的非高斯特性。
給定一個樣本數據集Z=[z1,z2,…,zn],其中,zi是維度為d的變量;U=[u1,u2,…,um]∈Rd×m是正交投影矩陣;V=[v1,v2,…,vn]∈Rm×n為投影矩陣U下的投影坐標?;谧钚≈貥嬚`差準則,PCA可定義為如下的優化問題:
(1)
式中:‖·‖代表L2范數;μ是矩陣Z的中心。因為(1)式基于L2范數,所以這種PCA被定義為L2-PCA。由投影理論可知[29],當U固定時,使(2)式最小化的V滿足等式V=UTZ.
由于L2-PCA方法本質上是以二階MSE標準為指標的線性變換技術,如果高維過程數據中包含有非高斯信息,采用該方法不能有效地對數據進行降維壓縮和成分提取。因此,本文提出使用廣義互熵來描述數據的非高斯特性。
互熵是一種局部相似性度量,與兩個隨機變量在由核寬控制的聯合空間鄰域中的相似程度直接相關[30]。給定兩個隨機變量X和Y,互熵定義為:
Vσ(X,Y)=E[κσ(X-Y)] .
(2)
式中:E[·]代表期望,κσ是核寬為σ的核函數。一般選擇高斯核作為互熵的核函數:
(3)
然而,高斯內核并不總是最佳選擇[31]。在接下來的工作中,使用廣義高斯密度(generalized gaussian density,GGD)函數作為互熵中的核函數,稱為廣義互熵(generalied correntropy,GC),定義為:
Vα,β(X,Y)=E[Gα,β(EX-Y)]=E[Gα,β(X-Y)] .
(4)
在這里,
(5)
式中:Γ(g)為伽瑪函數;α>0為形狀參數;β>0是帶寬參數;λ=1/βα是核參數;γα,β=α/(2βΓ(1/α))是歸一化常數。其中,α=2時的廣義互熵與具有高斯核的互熵相等。
若隨機變量X和Y的聯合概率密度函數f(x,y)已知,則互熵可由下式進行計算:
(6)

(7)
值得注意的是,廣義互熵為正并且有邊界:0 將x(i)=Zi和y(i)=μ+Uvi帶入(7)式,則廣義互熵主元分析可以通過最小化以下GC損失(GC-loss)函數來解決: JGC-loss(X,Y)=Gα,β(0)-Vα,β(X,Y)=γα,β(1-E[Gα,β (8) 其中, (9) 首先,使用拉格朗日乘子法將以上帶約束的最大化問題轉化為無約束問題,如下所示: JH=JGC-loss(X,Y)+TrΛ(UTU-I) . (10) 式中,Tr(·)是矩陣的跡;Λ是拉格朗日系數。 然后,使用梯度下降法對上式進行求解: (11) 式中,μ和η為學習率。 (12) (13) 圖1 T2和SPE統計量的概率密度分布圖Fig.1 Probability density distribution of T2 and SPE statistics (14) (15) 其中,Gα,β表達式在(5)中給出。 從圖1可以看出,曲線和X軸包圍的面積等于1,我們可以通過設置置信度為α的統計閾值來確定控制限??刂葡轑T2和LSPE的計算如下式所示: (16) (17) 這里將所提出的算法用于TE過程進行故障檢測。整個TE工藝由五個操作單元組成:反應器,氣液分離器,循環壓縮機,產物冷凝器和汽提塔。氣態反應物進入反應器,在氣相催化劑的催化下,生產出氣態產品和液態副產品。反應過程中產生的熱量經內置冷凝物包而去除。反應過程結束后,一些未反應的物質和催化劑仍保留在反應器中[31]。 TE生產過程主要由A、C、D和E四種氣態物料參與反應,生產出兩種氣態產品G、H和一個液態副產品F.此外,在生產過程中,還會有少量的惰性氣體B參與[31]。該過程主要由以下反應方程式描述的四個反應過程組成: A(g)+C(g)+D(g)→G(g),Product; 該過程有12個控制變量和41個測量變量,因為變量個數較多,本文通過交叉驗證法選取了其中的16個過程變量,這些變量可以準確描述TE過程的運行狀況,如圖2所示。 圖2 交叉驗證結果圖Fig.2 Cross validation result TE過程可以模擬不同的故障模式,包括一些過程變量的階躍變化和隨機變化,以及粘滯閥,這對于測試故障檢測方法很有意義。表1給出了TE過程對21種過程故障的描述。本節先使用訓練數據(包含500次采樣)建立模型;然后,使用故障數據集進行故障診斷,故障數據包含960個樣本,每種故障發生時間從161個樣本點持續到960個樣本點。 表1 TE過程故障列表Table 1 TE process failure list 首先,使用來自數據集的正常樣本構建每個統計監測模型:①對正常樣本進行標準化處理;②構建GC-PCA,ICA,KPCA和PCA模型求取投影矩陣;③利用交叉驗證法選取主元個數;④計算正常數據的T2和SPE統計量的值;⑤通過核密度估計法確定T2和SPE的控制限。然后,對21種故障樣本集進行故障檢測:①對故障樣本進行標準化處理;②利用建模過程求得的投影矩陣計算故障數據的T2和SPE統計量的值;③檢測T2和SPE統計量的值是否超過正常條件下計算的T2和SPE的控制限,如果超過該控制限,表明系統發生了故障。21種故障進行檢測的漏報率和誤報率列于表2和表3中??梢钥闯?,對于在大多數故障,GC-PCA方法都給出了非常優越的檢測結果,即故障檢測的漏報率和誤報率比較低,以粗體標記。 表2 故障檢測漏報率Table 2 Failure detection missed detection rate % 表3 故障檢測誤報率Table 3 Failure detection false alarm rate % 為了直觀反映算法的優越性,圖3、圖4和圖5分別給出了故障4、故障7和故障20的檢測結果圖。對于故障4,可以看出KPCA算法和PCA算法都無法檢測出故障發生,GC-PCA的T2統計量雖然漏報率有一些高,但其SPE統計量完美的檢測出了故障,此時,ICA算法表現出良好的故障檢測能力。針對故障7,在故障持續發生的時間段內,GC-PCA和ICA對故障的持續檢測能力最好,其他兩種算法在故障后半段已經無法檢測出故障。最后,對于故障20,三種方法都可以檢測出故障,其漏報率平均為35%、35.9%、68.5%和72%,證明了所有算法的優越性。雖然GC-PCA和ICA針對非高斯數據都表現出優秀的檢測能力,但是ICA算法本身只能處理純非高斯數據,若過程變量不都服從非高斯分布,使用ICA算法會無法收斂,而GC-PCA算法則不需考慮這一問題。 圖5 故障20檢測結果Fig.5 Failure 20 detection results 本文從重構誤差的角度出發,將廣義互熵準則引入傳統PCA方法,用于非高斯噪聲下的系統故障檢測,并將該方法應用于TE過程進行仿真驗證。通過仿真可以看出,在非高斯噪聲的影響下,ICA方法、PCA方法和KPCA方法故障檢測的及時性不足,漏報率較高。而本文所提出的廣義互熵PCA方法可在最大程度消除非高斯的影響,有效提高了分析與診斷過程變化的能力,表現出良好的故障檢測能力。在未來的工作中,可以將所提出的方法擴展到輸入或干擾表現出嚴重動力學的系統,以解決更多的故障檢測問題。2.2 廣義互熵PCA
(X-Y)])=γα,β=(1-E[exp(-λ|X-Y|α)]) .
3 故障檢測指標





4 仿真分析
A(g)+C(g)+E(g)→H(g),Product;
A(g)+E(g)→F(lip),Byproduct;
3D(g)→2F(lip),Byproduct




5 結束語