郭金玉, 朱明坤, 李 元
(沈陽化工大學 信息工程學院, 沈陽 110142)
近年來,隨著科技的高速發展,各種新的計算機技術不斷產生,針對傳統的故障檢測方法也提出了許多新的理論.在現代工業過程的生產運行中,工藝流程的復雜程度日益增加,產生的數據量變得十分龐大,其中也會摻雜許多難以預料的干擾,這對于工業過程的故障檢測和診斷來說是一個非常大的挑戰.通過對系統進行實時準確的故障檢測,在早期發現和處理故障,避免事故發生,對于工業過程有著重要的實際意義.為了確保工業生產過程的可靠性和安全性,對于數據之間廣泛存在的非線性和動態延遲等問題,已經提出了多種基于多元統計分析的技術方法[1-3].
主成分分析(principal component analysis,PCA)作為一種經典的故障檢測方法被廣泛應用,其能夠保留線性系統的主要特征,通過數據降維對系統進行分析.陳楊[4]將PCA方法用于熱連軋打滑過程的故障檢測.在PCA方法的基礎上,專家學者進行不斷的優化和改進,提出許多新的應用.柯程揚等[5]將PCA與KNN方法相結合實現對金線蓮種類的識別.史東海等[6]運用EMD和PCA方法對數據進行特征降維,實現滑動軸承的故障診斷.PCA方法通常只適用于變量服從多元高斯分布的系統,對于非線性系統的檢測效果較差.為了應對系統存在的非線性問題,研究人員提出了核主成分分析(kernel principal component analysis,KPCA)方法.KPCA方法將數據通過核函數映射到特征空間,在高維空間上對數據進行處理.張志政等[7]將KPCA方法與粒子群優化、支持向量機方法相結合用于船舶燃油系統的故障監測與診斷.李學淵等[8]通過KPCA方法將系統劃分為特征空間和殘差空間,實現對環網柜的故障檢測.在實際的工業過程中,系統存在的動態特性對于故障檢測的影響非常大.針對系統間存在的動態特性,通過時滯位移將系統動態特性的概念引入到PCA方法中,提出動態主成分分析(dynamic principal component analysis,DPCA)方法,有效地解決了線性系統中的動態特性.RATO和劉鴻斌等[9-10]在此基礎上將動態核主成分分析(dynamic kernel principal component analysis,DKPCA)方法應用于復雜污水處理過程的故障檢測,可有效應對系統的動態特性.JENSSEN[11]將信息熵的概念引入KPCA方法中,提出核熵成分分析(kernel entropy component analysis,KECA)方法,在數據轉換和維度降低時能夠利用信息熵的定義更加充分地表達出數據中的信息.目前,KECA方法在故障診斷領域得到了廣泛應用,并針對不同問題提出許多改進方法[12-14].但對于復雜的動態非線性工業過程,現有的靜態KECA及其改進方法難以取得良好的檢測結果.本文將時滯位移方式引入到KECA中,提出一種動態核熵成分分析(DKECA)方法,用于動態非線性系統的故障檢測.
假設一個m維數據矩陣在k時刻時表示為xk=[x1(k),x2(k),…,xm(k)]T,引入時間延遲系數l,構成增廣數據矩陣為
(1)
式中,n為樣本數量.根據研究人員的經驗,線性系統中l的取值通常為1或2,非線性系統則往往會更大一些.
對于一個由概率密度函數p(x)生成的數據集Dl={x1,x2,…,xn},其Rényi熵可定義為

(2)
(3)
式中:kσ(x,xt)為Mercer核函數;σ為核函數的參數.通過樣本均值的近似估計可得
(4)
式中:K為n×n的核矩陣;I為一個n×1的單位向量.Rényi熵的值可以通過核矩陣K的特征值和特征向量進行估計,將核矩陣K進行特征值分解得到K=ETΛE.其中,Λ為由核矩陣的特征值λ1,λ2,…,λn組成的對角矩陣,E為由特征值對應的特征向量e1,e2,…,en組成的矩陣.由式(4)可得
(5)
(6)
式(5)中的每一項都對熵的估計值做出貢獻,這意味著熵的估計值不完全取決于特征值的大小,而是共同取決于特征值和特征向量.
將輸入數據集通過非線性φ映射到核特征空間中,該空間中的數據集可表示為Φ=[φ(x1),φ(x2),…,φ(xn)].對Ψi大小進行降序排列,選取熵值貢獻較大的前k個特征向量PUk,通過KECA產生轉換后的數據為
(7)

(8)
(9)

(10)
經過DKECA方法變換后,其角結構特性會體現在DKECA模型中,因此使用Cauchy-Schwarz(CS)統計量作為模型的監測指標.CS統計量是在Cauchy-Schwarz不等式基礎上拓展出來的,計算兩個概率密度函數p1(x)和p2(x)在某種意義上的接近或相關程度的統計量,其值大小位于0和1之間,表達式為
(11)

基于DKECA的故障檢測過程分為兩個階段,分別是建立離線模型階段和在線檢測階段.基于DKECA的故障檢測流程圖如圖1所示.

圖1 基于DKECA的故障檢測流程圖Fig.1 Flow chart of fault detection based on DKECA
1) 建立離線模型的具體步驟如下:
① 選擇合適的時間延遲系數l,構建增廣矩陣Xl;
② 根據均值和方差將數據標準化,計算其核矩陣及熵值大小;
③ 取累計熵貢獻率為99%對應的特征值和特征向量,建立DKECA模型;
④ 計算CS統計量以及控制限CSlimit.
2) 在線監測的具體步驟如下:
① 將在線數據引入相同的時間延遲系數l,并根據離線數據的均值和方差進行標準化處理;
② 將在線數據投影到DKECA模型上,計算CSnew統計量;
③ 比較測試數據的CSnew統計量是否超過控制限,從而判斷該數據是正常數據還是故障數據.


圖2 TE過程流程圖Fig.2 Flow chart of TE process
為了有效地對使用不同方法的模型進行評估,本文采用故障檢測率(fault detection rate,FDR)和誤報率(false alarm rate,FAR)對檢測結果進行分析.
(12)
(13)
將KPCA、KECA、DKPCA和DKECA方法分別運用到TE過程中,并對這4種方法的檢測效果進行對比.在KPCA和DKPCA中,采用傳統的SPE統計量對故障進行檢測,而在KECA和DKECA中,采用CS統計量.在進行建模時,選擇的時間延遲系數為3,通過引入動態特性的方式,有效地降低系統相關性對故障檢測的影響.在KPCA和DKPCA中使用95%的累計方差貢獻率選取保留的主成分數,而在KECA和DKECA中由于其特有的數據轉換方式,只選取1個主成分就能夠達到99%的累計熵貢獻率.通過這種選取主成分的方式,能夠大大減少方法的計算量和復雜度.
對于TE過程中發生的故障,其中有一些明顯的故障通過PCA和KPCA等方法就能夠取得良好的檢測效果,對于一些不明顯的故障,大部分故障檢測方法都不能取得較好的檢測效果.因此,本文選取比較有代表性的一些故障,如故障2、4、5、6、11和18進行仿真實驗.其中,故障2、4、5和6是階躍類型,故障11是隨機變化類型,故障18是未知類型.
故障4和故障11都是反應器的冷卻水入口溫度發生異常,前者是階躍故障,后者是隨機變化故障.以這兩個故障為例進行分析,其檢測結果分別如圖3~4所示.其中,圖3a、4a為KPCA使用SPE統計量的檢測結果,圖3b、4b為KECA使用CS統計量的檢測結果,圖3c、4c為DKPCA使用SPE統計量的檢測結果,圖3d、4d為DKECA使用CS統計量的檢測結果.從圖3~4中可以看出,KECA-CS和DKPCA-SPE比KPCA-SPE的檢測結果均有一定的提升.由于KECA方法通過熵值選取主成分能充分地利用數據集中的信息,使得故障檢測更加準確,而DKPCA方法能夠有效減小數據集的時刻相關性,但是對故障檢測效果的提升程度并不十分明顯.DKECA方法結合這兩種方法的優點,其檢測結果取得了明顯的提升.在前160個正常數據中,DKECA算法只有個別數據出現了誤報,而且后800個故障數據中也僅有很少的故障數據沒有被檢測出來.

圖3 故障4的檢測結果Fig.3 Detection results of fault 4

圖4 故障11的檢測結果Fig.4 Detection results of fault 11
為了對DKECA方法的檢測效果進行進一步的分析,統計TE過程的故障檢測結果如表1所示.從表1中可以看到,DKECA方法在6種故障中都取得了最高的故障檢測率,而誤報率均小于5%.由于DKECA方法引入了時間延遲系數,考慮樣本的時刻相關性,能夠提取過程的動態變化信息,但是由DKECA獲得的主成分中仍然保留了一定的自相關性,導致其誤報率相對于KECA方法有略微的增加.其中故障5是冷凝器冷卻水入口溫度的階躍故障,在TE過程的閉環控制之下經過短暫的波動之后就回到了正常水平,因此各種方法都難以取得較好的檢測效果.但是,DKECA方法的檢測效果取得一定程度的提升.從表1中可以看出,DKECA方法能夠在保持較低誤報率的基礎上,有效提升故障檢測效果.

表1 TE過程故障檢測結果Tab.1 Fault detection results of TE process %
針對非線性和動態工業過程,在KECA方法的基礎上,本文提出一種動態KECA的故障檢測方法.通過引入時間延遲系數,考慮樣本的時刻相關性,對采集正常數據的動態特性進行分析,建立DKECA模型,并根據該模型對工業過程數據進行故障檢測.在檢測指標上,選擇了基于角度的CS統計量,與傳統的SPE統計量相比,具有較好的表現.在TE過程中與KPCA、KECA和DKPCA等方法進行對比,驗證了本文所提出的DKECA方法在故障檢測方面具有較好的效果.