郭小萍 滕佳岐 李 元
(沈陽化工大學信息工程學院 遼寧 沈陽 110142)
在工業生產過程中,隨著某些設備老化、元器件磨損等情況的發生,可能會出現一些從小到大、自弱至強緩慢變化的、早期特征不明顯的異常狀況,文獻中通常稱其為微小故障,這種微小故障的及時有效檢測,將會避免嚴重的系統事故或造成停工等狀況出現[1-2]。數據驅動故障檢測方法得到了廣泛應用并取得了可喜的成果,如主成分分析(Principal Components Analysis, PCA)、獨立主元分析(Independent Component Analysis,ICA)和kNN等[3-4]。然而,這些方法在從過程數據中提取局部微弱特征信息方面存在不足,不能及時識別過程發生的微小故障。葛志強等[5]提出MCUSUM-ICA-PCA方法,將傳統的單變量累積和控制圖擴展為多變量形式,并結合了ICA和PCA,改善了檢測效果。鄧曉剛等[6]提出一種雙層局部核主元分析(Double-Level Local Kernel Principal Component Analysis, DLKPCA)的故障檢測方法,通過用貝葉斯融合算法,對每塊的結果進行融合,并從樣本和變量兩個角度發掘數據的局部信息。Du等[7]將EEMD與PCA相結合應用于過程微小故障檢測。然而,這些方法都通過結合PCA等線性方法完成,將其用于具有較強非線性特征的過程進行微小故障的檢測時,檢測效果會受到影響。
針對非線性過程微小故障的檢測,本文提出一種基于EEMD-k近鄰的故障檢測方法。該方法在EEMD分解原始建模數據獲得的本征函數(Intrinsic Mode Function, IMF)空間引入kNN規則,通過構造的加權因子,更好地提取原始建模數據的非線性特征,實現原始樣本的重構。然后,在重構空間再一次采用kNN提取樣本的非線性等特征,同時構建k近鄰統計量并計算其累積和,通過核密度估計法確定統計量控制限。最后通過一個數值案例和TE(Tenessee Eastman)過程的仿真實驗驗證了所提方法的有效性。
集合經驗模態分解通過引入白噪聲解決了模態混疊問題,該算法基本步驟為[8]:
(1) 向原始信號中加入個高斯白噪聲得到,即:
y(t)=x(t)+σn(t)
(1)
式中:n(t)是高斯白噪聲。
(2) 通過EMD計算y(t)的q個IMF分量ci(t),i=1,2,…,q。
(3) 重復前兩步L次,得到IMF的集合:
(2)
其中,每次的高斯白噪聲不同,但個數相同。
(4) 求IMF的平均值:
(3)
kNN規則的基本思想是利用樣本與其局部鄰域之間的累積距離來度量樣本間的差異。在訓練樣本集中,正常樣本都是相似的,但故障樣本應與正常樣本不同。kNN利用樣本局部最近鄰的累積距離來表示樣本間的相似度,并通過式(4)計算樣本與其前k個近鄰樣本的距離平方和[9]。
(4)


(5)
圖1為EEMD-kNN方法的流程,包括離線建模和在線監視兩個部分。

圖1 EEMD-kNN方法流程
(1) 采用EEMD方法進行數據分解。

將m個變量的q個IMF按照順序排序,獲得q個數據集為:
(6)

(7)
(3) 構造加權因子γj(t),表示為:
(8)
式中:b為大于1的數值。

i=1,2,…,m,j=1,2,…,q
(9)


(1) 對測試數據y進行EEMD分解,分別獲得q個IMF平均分量。
采用的數值模型[11-12]如式(10)和式(11)所示。

(10)
t(k)=0.811t(k-1)+0.193w(k)
(11)
式中:x1、x2、x3為過程變量,t為內部變量。ei(i=1,2,3)服從期望為0,標準差為0.01的高斯分布,w服從a=0.01,b=2的均勻分布。本文通過式(9)和式(10)收集400組樣本作為訓練樣本。產生兩種帶故障的測試樣本,每種400組。兩種故障的設置規則分別為:
故障1:從第101個樣本開始,在x2中加入振幅為-0.5的小階躍偏差;
故障2:從第101個樣本開始,在x1中加入斜率為0.003的斜坡變化。
以故障2為例,采用傳統kNN、EEMD-PCA和本文所提的EEMD-kNN方法的故障檢測結果如圖2所示。


圖2 故障2檢測結果
圖2(a)和圖2(b)顯示,EEMD-PCA方法的兩個統計量的檢測率分別為10.67%和33.67%,由圖2(c)可以看出,傳統kNN方法對故障2的檢測效果不太理想,檢測率為59.33%,大部分故障沒有被檢測出來。圖2(d)顯示EEMD-kNN方法檢測效果明顯提高,并且有著較低的誤報率,第187時刻檢出故障,故障檢測率為71%。
采用三種方法對兩種故障進行故障檢測實驗的誤報率和檢測率匯總如表1所示。由表1看出,EEMD-kNN有著較低的誤報率以及更高的檢測率,驗證了本文所提方法的有效性。

表1 數值案例誤報率檢測率匯總表(%)
田納西-伊斯曼(Tennessee Eastman, TE)過程被廣泛用于模擬實際復雜的工業過程系統,并且驗證各種故障檢測方法。該過程包括41個測量變量、12個操作變量和20種故障,去除攪拌速度常用變量共有52個。文獻[13]已經介紹了該過程的詳細描述、工藝流程圖以及其故障形式。許多過程故障檢測方法通過TE過程驗證方法的有效性,然而對該過程的故障3、9、15的檢測效果不佳[13], 這三種類型的故障傳統方法較難檢測,其中:故障3是在D進料口溫度加一個階躍類型的故障,由于該故障對過程影響較小,導致許多傳統方法檢測到該故較為困難;故障9是D進料口溫度發生隨機變化,也是屬于對TE過程影響較小的一種故障,傳統的檢測方法很難檢測到它;故障15是冷凝器冷卻水閥門粘住,屬于靜摩擦類型故障,同樣對過程的影響微乎其微[12]。
故障類型與描述匯總如表2所示。

表2 TE過程故障
本文采用TE過程的生產模式1驗證本文所提方法的有效性,用于建模的正常工況樣本數為480,用于在線監視的故障樣本為故障3、故障9和故障15,每一種故障樣本的樣本數為960,其中前160是正常的,后800為有故障的[13]。
采用本文所提方法對3種故障進行仿真實驗,并與kNN方法以及EEMD-PCA方法進行了比較,其中各種參數值的選取通過交叉驗證法獲得。以故障3為例,給出了較詳細的檢測結果,如圖3所示。圖3(a)和圖3(b)為EEMD-PCA方法的檢測結果,兩個統計量的檢測率分別為100%和92.13%,但是T2統計量的誤報率較高,為70.13%。圖3(c)為kNN方法的檢測結果,D2檢測率只有30.38%,大部分故障沒有被檢測出來,檢測效果不是很好。圖3(d)為EEMD-kNN方法的檢測結果,檢測率為95.62%,誤報率為1.25%,有著較高檢測率的同時,還保證了誤報率。本文所提方法檢出故障發生的時間為第195個采樣時刻,相比前幾種方法,更接近實際故障發生的時刻,體現了本文方法的有效性。


圖3 故障3檢測結果
三種方法檢測三種故障的誤報率和檢測率匯總如表3所示。進一步可看出,EEMD-kNN方法在保證了較高檢測率的同時誤報率較低,其中對故障3的誤報率僅有1.25%,檢測率為95.62%,檢測效果比較好。EEMD-PCA方法的T2統計量對故障3的檢測率為100%,但是誤報率為70.13%。對于故障9而言,kNN方法的檢測率較低,未檢測到故障,EEMD-PCA方法的T2統計量的檢測率雖然為100%,但與EEMD-kNN方法相比,后者的誤報率較低。對于故障15,EEMD-kNN的檢測率最高,EEMD-PCA方法的兩個統計量誤報率為0%,但其檢測率較低,而且EEMD-kNN的誤報率只有3.75%。綜上,本文所提方法EEMD-kNN相比其他幾種方法,檢測效果最好,而且只采用了一個統計量完成,簡便有效。

表3 TE過程誤報率及檢測率匯總表(%)
本文提出了一種基于EEMD和k近鄰指標累積和的非線性過程故障的檢測方法。該方法采用EEMD方法提取過程變量的本征模態,并通過k近鄰距離統計量構造加權因子重構出建模樣本。利用重構樣本建立k近鄰故障檢測模型,計算距離統計量并與累積和方法相結合,檢測過程出現的早期特征變化不明顯、傳統方法較難檢測的故障。采用數值案例和TE過程進行方法有效性的驗證,并與EEMD-PCA和kNN方法進行比較,結果表明本文方法在處理非線性過程故障問題中有著更好的檢測效果。所提方法在多工況過程的應用,將是下一步工作重點。