郭金玉, 王 樂, 李 元
(沈陽化工大學 信息工程學院, 遼寧 沈陽 110142)
現(xiàn)代工業(yè)的迅速發(fā)展,帶來了大規(guī)模和復雜的數(shù)據(jù)以及程序[1]。在工業(yè)生產(chǎn)過程故障產(chǎn)生的早期階段,其對系統(tǒng)的影響比較小,但是,如果不處理這個故障,可能會造成很嚴重的損失。所以,故障檢測和診斷對于工業(yè)過程的正常運行越來越重要[2]。然而,大多數(shù)過程數(shù)據(jù)是高維和冗余的。主成分分析(principle component analysis, PCA)可以通過將數(shù)據(jù)集映射到低維子空間的降維方法來處理具有線性、多維和高斯特點的數(shù)據(jù)。然而,PCA在處理非高斯、非線性和動態(tài)過程時,檢測性能會下降[3]。獨立成分分析(independent component analysis, ICA)可以處理非高斯信息,ICA的使用可以大大提高數(shù)據(jù)的檢測性能。動態(tài)主成分分析(dynamic principal component analysis, DPCA)[4]和動態(tài)獨立成分分析(dynamic independent component analysis,DICA)對于動態(tài)過程監(jiān)控是2種有效的方法。DPCA和DICA不僅能捕捉到數(shù)據(jù)之間的相互關聯(lián),還能捕捉到每個測量變量的當前值和過去值之間的自相關[5]。 孔祥玉等[6]提出了基于新息矩陣的獨立成分分析故障檢測方法,能夠有效反映數(shù)據(jù)的動態(tài)特性。張成等[7]提出了基于DPCA殘差互異度的故障檢測方法,能夠有效地對動態(tài)過程中具有自相關性的殘差得分進行狀態(tài)監(jiān)控?;贒ICA的檢測方法可以提取獨立于變量的自相關和互相關的信號源,表現(xiàn)出強大的監(jiān)控性能。因此,針對工業(yè)生產(chǎn)過程中的動態(tài)和非線性問題,本文運用DICA進行故障檢測。
隨著信息技術的迅速發(fā)展,流程工業(yè)的生產(chǎn)工藝也越來越復雜,工廠的控制過程一般具有非線性、動態(tài)性等特點,在時間上具有延遲等特點,這些特點導致不能夠準確地的建立數(shù)學模型,因而基于數(shù)據(jù)的故障檢測與診斷的方法在復雜工業(yè)過程中引起了廣泛的關注[8]。工業(yè)過程安全運行的一個重要方面是快速檢測故障或過程異常,并消除導致此類事件的因素。王琦[9]提出了利用知識圖譜和貝葉斯理論來定位故障源。Huang等[10]提出基于DPCA、DICA和Bayesian決策改進的貢獻圖,在故障子空間中構造原始變量的貢獻圖,消除了正常子空間中變量對故障的影響。因此,貢獻圖中的變量數(shù)量減少,而且更容易確定故障的位置。Cho等[11]提出使用虛擬比例因子法測量每個變量的貢獻,計算每個樣本的矩陣軌跡。Sang等[12]提出利用變量重構誤差來識別故障變量,這種方法需要對每個樣本的重構值進行遞歸迭代。徐瑩等[13]提出一種將獨立成分分析與Bayesian結合,基于信息傳遞貢獻圖的故障識別方法。
以上幾種方法都比較復雜,在計算上也不是很簡便。所以,為了簡化計算、易于理解、方便實現(xiàn),本文提出一種新的基于DICA貢獻圖的故障診斷方法。該方法通過DICA計算出I2統(tǒng)計量,然后根據(jù)I2統(tǒng)計量的變化率,計算每個變量的貢獻值,貢獻較大的變量被認為是導致故障的主要因素。
獨立成分分析假設一個時刻的觀測值是獨立于過去時刻的觀測值的,這會導致在觀測過程中,忽略有用的相關信息,而動態(tài)獨立成分分析用以前的觀測值擴充每個觀測向量,檢測到過去時刻的觀測值,擴展到動態(tài)系統(tǒng)的建模和監(jiān)測中[14],從而捕捉到有用的信息。假設在時刻k的n維數(shù)據(jù)矩陣為xk=[x1(k),x2(k),…,xn(k)]T,增加前l(fā)個時刻的觀測數(shù)據(jù),通過式(1)生成增廣數(shù)據(jù)矩陣
(1)
式中:Xl∈m×n(l +1),m是樣本的數(shù)量,l代表滯后。根據(jù)前人的經(jīng)驗可知,l的取值為1或者2比較合適[15]。將增廣矩陣Xl標準化后用X表示,S與獨立成分矩陣S的關系為
X=AS+E。
(2)
式中:X∈m×n(l +1)是增廣矩陣;A∈m×m是混合矩陣;S∈m×n(l +1)是獨立成分矩陣;E∈m×n(l +1)是殘差矩陣。DICA最基本的問題就是從X中估計出獨立成分矩陣和混合矩陣。因此,動態(tài)獨立成分分析的目標是得出一個分離矩陣W,通過該矩陣使得重構數(shù)據(jù)矩陣的分量盡可能地相互獨立,見式(3),
(3)
在應用DICA之前,數(shù)據(jù)矩陣X應該被白化,以消除隨機變量之間的互相關。一種常用的白化方法是特征值分解,協(xié)方差矩陣的特征值分解的表達式如下:
(4)
式中:U為特征向量矩陣;Λ為特征值的對角矩陣。同時,可以獲得白化變化的表達式
式中:F為白化矩陣;Z為對數(shù)據(jù)集X進行白化后得到的新數(shù)據(jù)集。經(jīng)過白化變換后,可以得到
Z=FX=FAS=BS。
(7)
式中,B是正交矩陣。
因此,可將尋找任意滿秩矩陣A的問題變?yōu)閷ふ艺痪仃嘊??梢宰龀鲆韵鹿烙?
(8)
由此,可以得出
W=BTF。
(9)
3個統(tǒng)計監(jiān)測量的表達式如下:
(15)
DICA能夠從工業(yè)生產(chǎn)過程中捕捉到具有動態(tài)和非線性的數(shù)據(jù),它的目標是在不丟失信息的情況下,將一組多元數(shù)據(jù)分解成一組統(tǒng)計上的獨立成分,不僅能夠從互相關變量中提取獨立成分,還可以從自相關變量中提取獨立成分。DICA檢測方法是將ICA應用到具有時滯變量的增廣矩陣中,因此能夠在動態(tài)過程中表現(xiàn)出更強的監(jiān)控性能,用于建立動態(tài)模型和改善監(jiān)測性能。
動態(tài)獨立成分分析方法的具體步驟如下。
1) 收集正常操作時的歷史數(shù)據(jù)集,假設在時刻k的n維數(shù)據(jù)矩陣為xk=[x1(k),x2(k),…,xn(k)]T。
2) 根據(jù)式(1),建立增廣矩陣Xl。
3) 對增廣矩陣Xl=[x1,x2,…,xn(l +1)]進行標準化,使得各列方差為1,均值為0,標準化后的矩陣用X表示,
(16)
4) 建立DICA的模型。
① 對X進行特征值分解,計算出特征值與特征向量,得到特征值矩陣Λ與特征向量矩陣U。
② 對X進行白化。白化矩陣用F表示,根據(jù)式(7)對數(shù)據(jù)集X進行白化得到新的數(shù)據(jù)集Z。
④ 按降序排列W的行范數(shù),通過85%的累計貢獻率選取獨立元個數(shù)d。
(17)
⑦ 根據(jù)核密度估計確定3個統(tǒng)計量的控制限。
5) 利用DICA模型進行故障診斷。
① 新來一個時刻數(shù)據(jù)xnew,建立增廣矩陣Xlnew,利用建模數(shù)據(jù)的均值和方差,標準化Xlnew。
基于DICA的過程監(jiān)控包括2個部分:故障檢測和故障識別。故障檢測是使用基于DICA的監(jiān)控統(tǒng)計來檢測是否有故障發(fā)生。當檢測到故障時,故障識別能夠判斷哪個過程變量與故障相關。基于線性ICA所研究的變量貢獻圖對于識別故障變量有一定的有效性,然而在DICA中,為了更加有效準確地識別故障變量,本文提出了一種新的DICA貢獻圖方法。該方法受到靈敏度分析[16]的啟發(fā),通過計算系統(tǒng)輸出變量的變化率,得到各個變量的貢獻度。
對于具有n個變量的觀測向量x=[x1,x2,…,xn]T,第i個變量對I2統(tǒng)計量的貢獻度為
(18)
又因為
(19)
所以
(20)
(21)
通過TE過程數(shù)據(jù)將DICA的監(jiān)測性能與PCA、DPCA和ICA3種方法進行比較。TE過程模擬器已被廣泛用于比較各種監(jiān)測方法[17]。該工藝由5個主要單元操作組成:反應器、冷凝器、循環(huán)壓縮機、產(chǎn)品解析塔和氣液分離器[18],如圖1所示。
圖1 TE過程模型流程Fig.1 Flow chart of TE process
該過程有41個測量變量和12個操縱變量[19]。TE過程總共有21個故障,這21個故障都是預先設定的。整個仿真過程有960個數(shù)據(jù)采樣點,前160個數(shù)據(jù)為正常樣本,在第161個數(shù)據(jù)時開始加入故障,共計800個故障樣本。
PCA、DPCA、ICA和DICA這4種方法對故障17的檢測結果如圖2所示。對于故障17來說,DPCA的Q檢測效果略好于PCA,這是因為DPCA能夠考慮到過程的動態(tài)性。DICA的檢測效果比ICA的效果好。ICA對非高斯過程的檢測效果較好,但是工業(yè)過程中既有高斯分布的變量,又有非高斯分布的變量,高斯分布的變量就會影響ICA的檢測效果,而且ICA沒有考慮過程的動態(tài)性。與DPCA比較,DICA的檢測效果好。這是因為DPCA只考慮了過程中的線性與高斯性,而DICA不僅考慮到了過程的非高斯性,而且還考慮了過程的動態(tài)性,從而提高了在動態(tài)過程中監(jiān)測故障的能力,具有較好的效果。
(a) PCA-T2(b) PCA-Q(c) DPCA-T2(d) DPCA-Q(e) ICA-I2
以故障5、10、13、17和18為例,各統(tǒng)計量運用99%的控制限,4種方法的檢測結果如表1所示。在大多數(shù)情況下,可以看出DPCA優(yōu)于PCA,將2者中檢測率最高的數(shù)值用粗體標出。另外DICA優(yōu)于ICA,將2者中檢測率最高的數(shù)值也用粗體標出。2者相比較,能夠看出DICA優(yōu)于其他幾種方法。
表1 4種算法在TE過程中的故障檢測率Table 1 Faultdetection rates of four algorithms in TE process 單位:%
故障檢測只能識別是否有故障,但不能提供關于故障源的信息。檢測到故障后,能夠有效識別導致引起故障的變量是非常重要的。本文以故障12為例,基于靈敏度分析的思想,通過DICA算法的I2統(tǒng)計量的變化率,求出變量貢獻度,畫出變量貢獻圖。故障12的I2統(tǒng)計量的變量貢獻圖如圖3所示。從圖3中可以看出,貢獻圖直觀地給出了故障源的位置,變量12、15、48和49的貢獻度相比較于其他變量是比較大的,認為這4個變量是導致故障的主要因素。
圖3 故障12的I2統(tǒng)計量的變量貢獻Fig.3 Variable contribution of I2 statisic for fault 12
變量12表示產(chǎn)品氣液分離器的液位,變量15表示解析器等級,變量48表示氣液分離器罐體流量,而變量49表示解析塔液體產(chǎn)品流量。故障12產(chǎn)生的原因是冷凝器冷卻水入口溫度發(fā)生變化,而這種變化可能是整個過程中的某些變量發(fā)生變化而引起的。由整個TE過程可知,當部分反應物經(jīng)過冷凝器后,到達氣液分離器罐體,不能冷卻的氣體會通過離心式壓縮機回到反應器,再進入冷凝器,另一部分冷凝后的液體會進到解析塔。故障12是一種隨機變化,當故障發(fā)生時,可能會造成冷凝器冷卻水流速的劇烈變化與震蕩,從而造成冷凝器中的溫度和壓力也發(fā)生變化。這些因素,會導致后面的分離器和解析塔也產(chǎn)生一系列關于壓力和液體流量的變化,與故障變量相對應,驗證了該方法的有效性。
針對工業(yè)生產(chǎn)過程中的動態(tài)和非線性問題,本文研究了一種基于DICA的故障檢測方法。將PCA、DPCA、ICA和DICA方法應用到TE過程進行了比較,仿真結果表明,DICA的檢測效果優(yōu)于其他3種方法,證明了DICA的有效性。同時,本文提出一種新的基于DICA的故障診斷方法,該方法簡單又容易實現(xiàn),通過變量貢獻圖,能夠有效識別引起故障的變量。雖然上述結果已經(jīng)證明了貢獻圖技術在定位故障變量方面的潛力,但許多過程復雜的變量,貢獻圖可能難以識別。顯然,以后需要進一步地研究和完善,以便在面對復雜的數(shù)據(jù)時,依然能有效地定位故障源。