郭金玉,王哲,李元
(沈陽(yáng)化工大學(xué)信息工程學(xué)院,遼寧 沈陽(yáng) 110142)
隨著機(jī)器學(xué)習(xí)和大數(shù)據(jù)分析的不斷發(fā)展,尋求一種用于復(fù)雜工業(yè)系統(tǒng)的有效的故障檢測(cè)和診斷方法一直是一個(gè)熱門(mén)的研究課題。然而,由于化工過(guò)程數(shù)據(jù)具有高維、非線性和動(dòng)態(tài)時(shí)序等特點(diǎn),傳統(tǒng)的基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法很難應(yīng)用在復(fù)雜的工業(yè)過(guò)程中[1]。國(guó)內(nèi)外研究人員仍在廣泛嘗試,不斷將前沿的機(jī)器學(xué)習(xí)算法應(yīng)用到工業(yè)過(guò)程中,以求得更好的檢測(cè)效果[2]。但目前還沒(méi)有得到一個(gè)具體可靠的框架來(lái)對(duì)故障數(shù)據(jù)進(jìn)行有效識(shí)別和分類(lèi)。因此,故障診斷方法的探索具有重大研究?jī)r(jià)值。
主成分分析(principal component analysis,PCA)[3-4]是最早也是最為經(jīng)典的故障檢測(cè)方法,它的實(shí)現(xiàn)步驟簡(jiǎn)潔且處理速度快,可以處理高維、嘈雜和高度相關(guān)的數(shù)據(jù)。PCA 構(gòu)造以馬氏距離和歐幾里得距離為代表的兩個(gè)統(tǒng)計(jì)量,用于檢測(cè)模型主成分空間和殘差空間中的過(guò)程變化。然而,當(dāng)PCA 應(yīng)用于具有非高斯和非線性特征的工業(yè)過(guò)程數(shù)據(jù)時(shí),由于使用二階統(tǒng)計(jì)量和線性假設(shè),其表現(xiàn)不佳。近年來(lái),作為一種新的非線性PCA 技術(shù),核主成分分析(kernel principal component analysis, KPCA)[5-8]發(fā)展非常迅速。KPCA 并沒(méi)有像傳統(tǒng)PCA 那樣直接計(jì)算輸入數(shù)據(jù)的主成分,而是先通過(guò)非線性映射將輸入空間映射到特征空間,在高維空間進(jìn)行運(yùn)算。KPCA 通過(guò)引入核函數(shù)避免非線性映射和內(nèi)積計(jì)算,在監(jiān)控統(tǒng)計(jì)量方面與傳統(tǒng)PCA類(lèi)似,構(gòu)造了SPE和T2兩個(gè)統(tǒng)計(jì)量,分別監(jiān)控主成分空間和殘差空間。核技術(shù)的優(yōu)化使得KPCA 在處理非線性數(shù)據(jù)時(shí)有所提升,但是在現(xiàn)實(shí)的工業(yè)過(guò)程中,數(shù)據(jù)往往同時(shí)具有高斯分布和非高斯分布,而KPCA 在選取主成分的過(guò)程中只利用過(guò)程變量的方差信息,因此缺乏有效處理非高斯數(shù)據(jù)的能力。在此情況下,Jenssen[9]提出一種新型的故障檢測(cè)方法,即核熵成分分析(kernel entropy component analysis,KECA)。這種故障檢測(cè)方法放寬了傳統(tǒng)PCA 和KPCA 方法中的高斯假設(shè)。相比于只考慮二階統(tǒng)計(jì)量方差的KPCA,KECA[10-14]試圖最大程度保留原始數(shù)據(jù)的熵值,根據(jù)熵值選取核主成分。這種對(duì)于熵的保留能夠有效地提取數(shù)據(jù)中的高階統(tǒng)計(jì)量。因此,KECA可以提取數(shù)據(jù)中的非高斯信息。這種方法對(duì)于某些故障的檢測(cè)卓有成效,但檢測(cè)某些故障的時(shí)候相比傳統(tǒng)的多元統(tǒng)計(jì)分析方法還是相對(duì)弱勢(shì)。齊詠生等[15]改進(jìn)傳統(tǒng)的KECA 方法,提出一種新的CS(Cauchy-Schwarz)統(tǒng)計(jì)量。該方法在微小故障的檢測(cè)方面表現(xiàn)突出,優(yōu)于之前的傳統(tǒng)方法。然而CS統(tǒng)計(jì)量是對(duì)檢測(cè)指標(biāo)的改進(jìn),對(duì)于非高斯非線性過(guò)程的檢測(cè)存在局限性。
與KPCA 通過(guò)將數(shù)據(jù)投影在高維空間以解決PCA 方法在檢測(cè)非線性數(shù)據(jù)時(shí)的缺陷不同,獨(dú)立成分分析(independent component analysis,ICA)[16-18]將觀測(cè)數(shù)據(jù)分解為獨(dú)立成分的線性組合。這種方法涉及高階統(tǒng)計(jì),即不僅對(duì)數(shù)據(jù)進(jìn)行去相關(guān),而且盡可能減少數(shù)據(jù)的高階統(tǒng)計(jì)依賴,使投影數(shù)據(jù)的分布更為獨(dú)立,從而從觀測(cè)數(shù)據(jù)中提取更多有用的信息。然而,基于ICA 的線性投影也不足以表示具有非線性結(jié)構(gòu)的數(shù)據(jù)。Lee 等[19]提出一種基于核技術(shù)與ICA相結(jié)合的非線性過(guò)程監(jiān)控技術(shù)——核獨(dú)立成分 分 析(kernel independent component analysis,KICA)方法。KICA[20-23]是一種非線性特征提取技術(shù),它在內(nèi)核特征空間中進(jìn)行獨(dú)立成分分析。KICA 的基本思想是將數(shù)據(jù)通過(guò)非線性函數(shù)映射到特征空間中,提取有用信息,并在特征空間中執(zhí)行ICA。該方法由兩個(gè)步驟組成:KPCA 部分的核中心化和ICA 的過(guò)程。這種方法改善之前的方法在非線性非高斯數(shù)據(jù)檢測(cè)中的弊端。但是它完全復(fù)制KPCA 選取核主成分的方式,使降維后的數(shù)據(jù)并不能很好地代表原數(shù)據(jù)的信息熵特征,因此還有很大的優(yōu)化空間。
傳統(tǒng)KICA 依據(jù)特征值的大小進(jìn)行降維,但是特征值大并不一定取得的信息熵貢獻(xiàn)度也是最大的。針對(duì)這個(gè)問(wèn)題,本文提出一種新的基于核熵獨(dú)立成分分析(kernel entropy independent component analysis,KEICA)的故障檢測(cè)方法。該方法根據(jù)信息熵值選取核主成分以盡可能保留原始數(shù)據(jù)的高階信息,然后再執(zhí)行ICA的過(guò)程,增強(qiáng)數(shù)據(jù)樣本的獨(dú)立性。最后,將KEICA應(yīng)用于非線性數(shù)值例子和TE過(guò)程的監(jiān)測(cè)中以驗(yàn)證其有效性。
對(duì)于輸入數(shù)據(jù)集D:x1,x2,…,xN,給定一個(gè)核函數(shù)φ(·),定義從輸入空間到核特征空間的映射為xi→φ(xi) (i= 1,…,N),因此核特征空間的數(shù)據(jù)集可以表示為Φ= [φ(x1),φ(x2),…,φ(xN)]。本文選用高斯核函數(shù)將樣本數(shù)據(jù)映射至高維空間,高斯核函數(shù)對(duì)于數(shù)據(jù)中的噪聲有著較好的抗干擾能力,其參數(shù)決定了函數(shù)的作用范圍,超過(guò)這個(gè)范圍,數(shù)據(jù)的作用就“基本消失”,通常是通過(guò)交叉驗(yàn)證獲得有效的核參數(shù)。Φ的協(xié)方差矩陣[24]為
對(duì)于數(shù)據(jù)集D:x1,…,xN,假設(shè)p(x)是它的概率密度函數(shù),則Rényi 熵[25](Rényi entropy)可以表示為H(p) = -log∫p2(x)dx。由于對(duì)數(shù)是單調(diào)函數(shù),因此應(yīng)將注意力集中在V(p) =∫p2(x)dx。使用樣本均值來(lái)近似估計(jì)V(p),得到
式中,I是一個(gè)每個(gè)元素都等于1 的N×1 的向量;kσ(x,xt)是以xt為中心的Parzen 窗[26];參數(shù)σ是窗口寬度。
對(duì)N×N的核矩陣K=ΦTΦ進(jìn)行中心化得到?,中心化公式為
式中,IN是一個(gè)N×N的矩陣,其中每個(gè)元素都等于1。
在KICA 中,僅僅基于特征值的大小選擇特征值和特征向量來(lái)執(zhí)行降維,而從熵的角度來(lái)看,熵的估計(jì)值同時(shí)受特征值和特征向量的影響。因此在式(4)中,Ψi的值可以用作Rényi熵的估計(jì)。
因?yàn)镼LQT=I0,I0為單位矩陣,所以得到白化矩陣Q。白化后的得分矩陣Z為
根據(jù)式(7)進(jìn)一步求出解混矩陣W為
其中獨(dú)立信號(hào)f的計(jì)算方式為
式中,B為正交矩陣,通過(guò)Fast ICA 迭代過(guò)程求出。迭代公式為
式中,g為非線性函數(shù),這里取g(y) = tanh(ay)。因?yàn)閃的行序直接影響到獨(dú)立元的選取,所以使用核技巧求出‖Wi‖2并從大到小進(jìn)行排序選取前c個(gè)獨(dú)立元。KEICA 的I2和SPE 統(tǒng)計(jì)量定義如式(11)所示
式中,e=Z-BcZ,Bc是B矩陣的前c列。
本文選用核密度估計(jì)(kernel density estimation,KDE)[28]確定樣本統(tǒng)計(jì)量的控制限。核密度估計(jì)是一種非參數(shù)估計(jì),它不需要數(shù)據(jù)的先驗(yàn)知識(shí),不做任何假設(shè),被廣泛用于確定數(shù)據(jù)分布非正態(tài)或未知時(shí)的控制限。統(tǒng)計(jì)量SPE 的控制限計(jì)算公式如式(12)所示
式中,h為帶寬;k代表高斯核函數(shù)。同理可得統(tǒng)計(jì)量I2的控制限公式。
基于KEICA 的故障檢測(cè)步驟包括兩部分:離線建模和在線監(jiān)控,其流程圖如圖1所示。
圖1 基于KEICA故障檢測(cè)流程圖Fig.1 Flowchart of fault detection based on KEICA
(1)離線建模
正常數(shù)據(jù)用D(M×N)表示,其中N代表樣本數(shù)量,M代表每個(gè)樣本所含變量的個(gè)數(shù)。將數(shù)據(jù)集D作為訓(xùn)練數(shù)據(jù)按照以下步驟進(jìn)行處理。
①使用每個(gè)變量的均值和標(biāo)準(zhǔn)差對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。
②給定核函數(shù)和核參數(shù),計(jì)算核矩陣K并中心化。使用式(4)計(jì)算信息熵并排序,選擇核主成分。
③根據(jù)式(7)對(duì)Φ進(jìn)行白化,得到非線性矩陣Z。使用式(10)進(jìn)行ICA 迭代,根據(jù)求出的解混矩陣W提取獨(dú)立成分。
④利用式(11)計(jì)算樣本數(shù)據(jù)的監(jiān)測(cè)統(tǒng)計(jì)量I2和SPE。
(2)在線監(jiān)控
①對(duì)測(cè)試數(shù)據(jù)xnew,按離線建模數(shù)據(jù)的均值與方差對(duì)測(cè)試數(shù)據(jù)標(biāo)準(zhǔn)化。
②通過(guò)離線建模中給定的核函數(shù)和核參數(shù)計(jì)算測(cè)試數(shù)據(jù)對(duì)訓(xùn)練數(shù)據(jù)的核矩陣Knew并中心化。
③向ICA模型上投影得到非線性矩陣Znew。
④使用式(11)計(jì)算測(cè)試數(shù)據(jù)的監(jiān)測(cè)統(tǒng)計(jì)量I2new和SPEnew。
按照下列模型構(gòu)造非線性數(shù)值例子[29-30]以檢驗(yàn)本文方法的有效性,該數(shù)據(jù)集由兩個(gè)變量組成。
式中,t服從[0.01,2]的均勻分布;e1和e2服從均值為0、標(biāo)準(zhǔn)差為0.01的正態(tài)分布噪聲。
按照式(13)生成500 組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集;生成960 組數(shù)據(jù),保持前160 組數(shù)據(jù)不變,分別對(duì)第161 到第960 組數(shù)據(jù)的變量1 增加0.003 ×(i- 100)的擾動(dòng)、變量2 增加0.01 的階躍,作為測(cè)試數(shù)據(jù)集,其中i代表樣本的數(shù)量。4 種方法的控制限設(shè)為99%,采用高斯核函數(shù)處理非線性數(shù)據(jù),通過(guò)尋優(yōu)測(cè)試將核參數(shù)設(shè)為3500,核主成分個(gè)數(shù)均設(shè)為2。圖2 為KPCA、KECA、KICA 和KEICA 方法應(yīng)用于該數(shù)值例子的檢測(cè)結(jié)果。由圖2 可以看出KPCA 和KECA 都無(wú)法對(duì)故障數(shù)據(jù)進(jìn)行有效檢測(cè),漏報(bào)樣本比 較 多,其 中KPCA 的T2統(tǒng) 計(jì) 量、KECA 的SPE 和CS 統(tǒng)計(jì)量檢測(cè)效果較差。KICA 的檢測(cè)效果則優(yōu)于KPCA 和KECA 方法。作為一種非線性的特征提取技術(shù),KICA 的核心部分是非線性的ICA 迭代,在非線性特征空間提取重要的獨(dú)立成分,因此檢測(cè)效果突出。KEICA 方法的兩種統(tǒng)計(jì)量能夠完全檢測(cè)出所有的故障數(shù)據(jù),這是因?yàn)镵EICA 是將KECA 選取核主成分的思想與ICA 相結(jié)合,進(jìn)一步彌補(bǔ)KICA 選取核主成分時(shí)丟失過(guò)多數(shù)據(jù)信息熵的不足,從而提高檢測(cè)效果。
圖2 數(shù)值例子的仿真結(jié)果對(duì)比Fig.2 Comparison of simulation results of numerical example
使用故障檢測(cè)率(fault detection rate,FDR)和誤報(bào)率(false alarm rate,FAR)兩個(gè)故障檢測(cè)指標(biāo)對(duì)本文所提出的KEICA 方法進(jìn)行評(píng)估。表1 為4 種方法故障檢測(cè)指標(biāo)的對(duì)比。從表中可以看出,與KPCA、KECA 和KICA 對(duì)比,KEICA 的故障檢測(cè)效果最好,誤報(bào)率最低,驗(yàn)證了該方法的有效性。
表1 數(shù)值例子中4種方法的仿真結(jié)果對(duì)比Table 1 Comparison of simulation results for four algorithms in numerical example
TE 過(guò)程[31]是評(píng)估工業(yè)過(guò)程故障檢測(cè)方法有效性和實(shí)用性的重要實(shí)驗(yàn)對(duì)象,其工藝流程如圖3 所示。該過(guò)程由五個(gè)主要單元操作組成,包括:化學(xué)反應(yīng)器、冷凝器、循環(huán)壓縮機(jī)、氣液分離器和汽提塔;由四種氣態(tài)反應(yīng)物A、C、D、E和惰性的氣態(tài)組分B 參與反應(yīng),生產(chǎn)出兩種液態(tài)產(chǎn)物G 和H 以及副產(chǎn)物F。反應(yīng)器產(chǎn)物流通過(guò)部分冷凝器冷卻,并進(jìn)料至氣/液分離器中以進(jìn)行組分分離。此外離開(kāi)分離器的蒸氣流通過(guò)壓縮機(jī)再循環(huán)至反應(yīng)器進(jìn)料流。凈化一部分循環(huán)物料以防止過(guò)程中惰性產(chǎn)物和副產(chǎn)物的積累。同時(shí),來(lái)自分離器的冷凝組分(物流10)被泵送到汽提塔。離開(kāi)汽提塔的產(chǎn)品G 和H 在下游操作中進(jìn)一步處理。
圖3 TE過(guò)程工藝流程圖[24]Fig.3 Flowchart of TE process[24]
TE 過(guò)程包括1 種正常工況和21 種可操作的故障工況。正常和故障工況下的采樣時(shí)間間隔為3 min。在正常工況下,采集運(yùn)行25 h產(chǎn)生的500個(gè)數(shù)據(jù)作為正常樣本。21 種故障工況是在過(guò)程穩(wěn)定運(yùn)行8 h 后引入,故采集的960 個(gè)數(shù)據(jù)中前160 個(gè)數(shù)據(jù)不含故障,后800 個(gè)數(shù)據(jù)含有故障。將正常工況下的500 個(gè)數(shù)據(jù)作為訓(xùn)練樣本,所有含故障的數(shù)據(jù)作為測(cè)試樣本。
隨機(jī)選取TE 過(guò)程中的故障1、2、4、7、11、12、13、17 和20 作為測(cè)試數(shù)據(jù)集,將KPCA、KECA 和KICA 方法與本文提出的KEICA 方法進(jìn)行對(duì)比。4種方法的控制限設(shè)為99%,采用高斯核函數(shù)處理非線性數(shù)據(jù),核參數(shù)設(shè)為3500。KPCA 與KICA 方法的核主成分個(gè)數(shù)通過(guò)85%的累計(jì)方差貢獻(xiàn)率確定,而KECA和KEICA方法的核主成分個(gè)數(shù)由85%的累計(jì)熵貢獻(xiàn)率確定。
以故障11 為例,圖4 是4 種方法仿真結(jié)果的對(duì)比。由圖4可知,4種方法對(duì)正常樣本的檢測(cè)性能都比較穩(wěn)定,均未出現(xiàn)明顯的誤報(bào)現(xiàn)象。然而對(duì)故障樣本的檢測(cè)效果差距明顯,KPCA 根據(jù)特征值的大小選取核主成分,且只考慮二階統(tǒng)計(jì)量,因此丟失了數(shù)據(jù)的高階信息,檢測(cè)效果較差且誤報(bào)率偏高。KECA 根據(jù)熵值選取核主成分,考慮了數(shù)據(jù)的高階信息,KECA 的誤報(bào)率低于KPCA,而檢測(cè)率并沒(méi)有明顯提升。KECA 的CS 統(tǒng)計(jì)量的檢測(cè)率相比傳統(tǒng)的T2和SPE 統(tǒng)計(jì)量有所提升。由于CS 統(tǒng)計(jì)量是對(duì)傳統(tǒng)檢測(cè)指標(biāo)的改進(jìn),使用各得分向量之間的角度方差來(lái)度量變換后樣本對(duì)象在方向上的差異,彌補(bǔ)了基于距離的檢測(cè)指標(biāo)對(duì)那些故障幅度較小、數(shù)據(jù)結(jié)構(gòu)變化不明顯的故障檢測(cè)效果較差的不足。然而這種度量方式?jīng)]有從根本上改變KECA 對(duì)原始樣本數(shù)據(jù)統(tǒng)計(jì)信息的提取方式,檢測(cè)率提升有限。KICA 對(duì)故障樣本的檢測(cè)效果優(yōu)于KPCA 和傳統(tǒng)的KECA。KICA 在核特征空間中執(zhí)行ICA 迭代,使投影數(shù)據(jù)分布更為獨(dú)立,能更好地捕捉過(guò)程數(shù)據(jù)的非高斯信息。但是KICA 在核主成分的選取方面損失了數(shù)據(jù)的信息熵,所以檢測(cè)效果有待進(jìn)一步的提升。KEICA 對(duì)正常樣本與故障樣本進(jìn)行了明顯的區(qū)分,檢測(cè)率遠(yuǎn)高于其他3種方法。在KICA 的基礎(chǔ)上,KEICA 運(yùn)用信息熵值的大小選取核主成分。在信息論中,熵被用于度量信息的不確定度,這種度量利用了數(shù)據(jù)中的高階統(tǒng)計(jì)量,因此避免了KPCA、KICA 等方法中非高斯信息的丟失,從而更好地保留樣本的數(shù)據(jù)特征。此外,KEICA 保留了傳統(tǒng)KICA 的ICA 迭代過(guò)程,ICA 可以從原變量中提取基于高階統(tǒng)計(jì)量的獨(dú)立分量,因此其對(duì)非高斯過(guò)程可實(shí)現(xiàn)有效的監(jiān)測(cè)。綜上所述,KEICA 兼顧了數(shù)據(jù)高階信息的捕捉和數(shù)據(jù)獨(dú)立性,因此可以對(duì)同時(shí)具有高斯與非高斯特性的非線性過(guò)程進(jìn)行有效的故障識(shí)別。
圖4 故障11的仿真結(jié)果對(duì)比Fig.4 Comparison of simulation results of fault 11
圖5是4種方法對(duì)故障17的仿真結(jié)果對(duì)比。由圖可以看出,KPCA、KECA 和KICA 3 種方法的檢測(cè)效果沒(méi)有太大的差距。由于KECA 方法改變了KPCA 選取核主成分的方式,其SPE 統(tǒng)計(jì)量的誤報(bào)率明顯降低。KECA 的CS 統(tǒng)計(jì)量檢測(cè)率高于KPCA和傳統(tǒng)的KECA,這是因?yàn)镃S 統(tǒng)計(jì)量很好地利用了KECA 方法所選取的核主成分間的角度結(jié)構(gòu)特性。KICA 的SPE 統(tǒng)計(jì)量的檢測(cè)效果好于KPCA 和傳統(tǒng)的KECA,這是因?yàn)镵ICA 方法處理樣本數(shù)據(jù)中的非高斯信息更具優(yōu)勢(shì),但是KICA 根據(jù)特征值選取核主成分的方式,丟失了部分信息熵,因此檢測(cè)效果不如KECA 的CS 統(tǒng)計(jì)量。KEICA 方法的檢測(cè)率高于其他3 種方法,表現(xiàn)出了明顯的優(yōu)勢(shì)。這是因?yàn)镵EICA 繼承了KICA 對(duì)樣本數(shù)據(jù)非高斯信息的捕捉能力,同時(shí),KEICA 根據(jù)信息熵選取核主成分,兼顧了樣本數(shù)據(jù)中的高階信息,因此對(duì)故障樣本的檢測(cè)有了較大程度的提高。
圖5 故障17的仿真結(jié)果對(duì)比Fig.5 Comparison of simulation results of fault 17
表2 和表3 分別是4 種方法的FDR 與FAR 的對(duì)比。從表中可以看出,對(duì)TE 過(guò)程的9 種故障,KEICA 的SPE 統(tǒng)計(jì)量的FDR 均高于其他3 種方法,而I2統(tǒng)計(jì)量不僅FDR 比較高,而且FAR 比較低,這進(jìn)一步說(shuō)明了KEICA方法的優(yōu)越性。
表2 TE過(guò)程中4種方法的故障檢測(cè)率對(duì)比Table 2 Comparison of FDRs for four algorithms in TE process
表3 TE過(guò)程中4種方法的誤報(bào)率對(duì)比Table 3 Comparison of FARs for four algorithms in TE process
本文提出一種基于KEICA 的新型故障檢測(cè)方法,并將其應(yīng)用于非線性數(shù)值例子和TE過(guò)程的故障檢測(cè)。該方法吸取之前KECA 方法在選取核主成分方式的優(yōu)點(diǎn)并將其用于改進(jìn)KICA 方法,不僅充分捕捉過(guò)程的高階信息,還充分保持樣本數(shù)據(jù)的獨(dú)立性。監(jiān)測(cè)結(jié)果表明,KEICA 在故障檢測(cè)方面的應(yīng)用效果優(yōu)于KPCA、KECA 和KICA 方法,具有較為可靠的故障檢測(cè)能力。
未來(lái)的工作將集中在故障診斷部分,KEICA 對(duì)于樣本數(shù)據(jù)中各個(gè)變量的分離為診斷引起故障的具體變量提供了便利,因此進(jìn)行故障診斷或探討該方法在其他工業(yè)過(guò)程中的應(yīng)用也需要進(jìn)一步研究。