冉永清 楊煜普 屈衛(wèi)東
(上海交通大學(xué)電子信息與電氣工程學(xué)院自動化系系統(tǒng)控制與信息處理教育部重點(diǎn)實(shí)驗(yàn)室,上海 200240)
隨著工業(yè)過程控制系統(tǒng)的復(fù)雜化和智能化,工業(yè)過程產(chǎn)生的數(shù)據(jù)維數(shù)越來越高,非線性增強(qiáng),傳統(tǒng)的基于數(shù)據(jù)驅(qū)動的線性方法(如PCA)的故障檢測方法表現(xiàn)明顯不如非線性故障檢測方法(如KPCA[1,2])。這些方法在過程檢測時(shí)提取全局信息表征數(shù)據(jù)特征,然而在一些情況下,數(shù)據(jù)的局部信息具有更好的表現(xiàn)性能,比如部分?jǐn)?shù)據(jù)丟失時(shí),采用局部信息表示數(shù)據(jù)具有更好的魯棒性。非負(fù)矩陣分解(NMF)是近幾年發(fā)展起來針對非負(fù)數(shù)據(jù)處理的多元統(tǒng)計(jì)分析方法[3],具有天然的稀疏性,能夠很好地提取數(shù)據(jù)的局部特征。但是由于NMF方法在處理非線性數(shù)據(jù)方面具有明顯不足,因此筆者引進(jìn)核非負(fù)矩陣分解方法(KNMF)[4],結(jié)合NMF方法的特點(diǎn)和核方法的優(yōu)點(diǎn),建立在線故障診斷模型,克服了線性方法處理非線性數(shù)據(jù)性能低的不足,同時(shí)解決了傳統(tǒng)核方法表現(xiàn)性能不佳、內(nèi)存消耗大的問題,實(shí)現(xiàn)高效和準(zhǔn)確的故障診斷。
KNMF通過核函數(shù)將非線性輸入空間的數(shù)據(jù)映射到線性特征空間,在特征空間內(nèi),運(yùn)用NMF進(jìn)行特征提取和分析。令輸入空間的數(shù)據(jù)X=[X1,X2,…,Xn]∈Rm×n,通過映射函數(shù)Φ(·):Rm→F將數(shù)據(jù)映射到一個(gè)高維的特征空間F內(nèi),令特征空間數(shù)據(jù)矩陣Φ(X)=[Φ(x1),Φ(x2),…,Φ(xn)]∈Rd×n,在特征空間F內(nèi)進(jìn)行NMF分解,即尋找一個(gè)基矩陣U和一個(gè)系數(shù)矩陣V,使得:
Φ(X)≈UVT
(1)
其中U∈Rd×r,d的數(shù)值非常大,r表示降維后的維數(shù);V∈Rn×r。
假設(shè)基矩陣U的每一列滿足下列等式:
uj=Φ(x1)W1j+Φ(x2)W2j+…+Φ(xn)Wnj
(2)
則基矩陣U是特征數(shù)據(jù)Φ(X)的凸組合,即:
U=Φ(X)W
(3)
其中W∈Rn×r,并且W的每一列之和等于1。
在特征空間F中,把特征數(shù)據(jù)分解成如下形式:
Φ(X)≈Φ(X)WVT
(4)
將原NMF分解算法需要找到基矩陣U和系數(shù)矩陣V,轉(zhuǎn)化成尋找參數(shù)矩陣W和系數(shù)矩陣V。
在特征空間內(nèi),采用歐式距離來度量特征數(shù)據(jù)矩陣Φ(X)與Φ(X)、參數(shù)矩陣W、系數(shù)矩陣V三者乘積之間的誤差,將KNMF問題轉(zhuǎn)化為求取參數(shù)矩陣W和系數(shù)矩陣V,并使以下目標(biāo)函數(shù)取得最小值:
(5)
其中K為核矩陣,K=Φ(X)TΦ(X)。
對于上述目標(biāo)函數(shù),分別以W或V為變量的最小化問題的時(shí)候是凸函數(shù),但是同時(shí)以W和V為變量是非凸函數(shù),因此要找到兩個(gè)優(yōu)化問題的全局最優(yōu)解是不可能的,只能給出局部最優(yōu)解。
[KWVTV-KV]⊙W=0
(6)
[VWTKW-KW]⊙V=0
(7)
根據(jù)式(6)、(7)得出參數(shù)矩陣W和系數(shù)矩陣V的更新規(guī)則:
(8)
(9)
KNMF算法的目標(biāo)是在特征空間內(nèi)尋找一個(gè)凸包盡可能地把所有數(shù)據(jù)都包含在內(nèi),那么就可以根據(jù)凸包性質(zhì),所有在凸包內(nèi)的點(diǎn)都可以通過所有凸包邊界的一個(gè)凸組合表示,故KNMF算法訓(xùn)練的目標(biāo)就是尋找到特征空間數(shù)據(jù)內(nèi)的所有凸包邊界點(diǎn),即特征數(shù)據(jù)點(diǎn),構(gòu)成這個(gè)凸包。特征空間內(nèi)的數(shù)據(jù)點(diǎn)和特征數(shù)據(jù)點(diǎn)如圖1所示。
圖1 特征空間內(nèi)的數(shù)據(jù)點(diǎn)和特征數(shù)據(jù)點(diǎn)
從式(3)得出,基矩陣U是特征數(shù)據(jù)Φ(X)的一個(gè)凸組合,展開式(3),得到:
(10)
其中參數(shù)矩陣W的每一列之和為1。尋找的凸包能夠包含所有的特征數(shù)據(jù)點(diǎn),并且每一個(gè)特征數(shù)據(jù)點(diǎn)是所有數(shù)據(jù)點(diǎn)的一個(gè)凸組合,所以離特征數(shù)據(jù)點(diǎn)越近的點(diǎn),對于構(gòu)成特征數(shù)據(jù)點(diǎn)的影響就越大,那么對應(yīng)參數(shù)矩陣W中的數(shù)值就越大。在圖1b中圓圈內(nèi)的點(diǎn)對構(gòu)成特征數(shù)據(jù)點(diǎn)的系數(shù)影響最大,在參數(shù)矩陣W中數(shù)值相對較大。這個(gè)性質(zhì)使得訓(xùn)練出來的參數(shù)矩陣W具有很好的稀疏性[5],即在矩陣中有很多元素都是0,只有少數(shù)元素不是0。
首先獲取實(shí)際工況中產(chǎn)生的正常數(shù)據(jù)Y,Y∈Rm×n,其中m為變量個(gè)數(shù),n為采樣點(diǎn)數(shù)。由于每一個(gè)變量的量綱不同,先對數(shù)據(jù)做標(biāo)準(zhǔn)化處理,設(shè)處理后的數(shù)據(jù)為X,X∈Rm×n,對X運(yùn)用KNMF算法進(jìn)行訓(xùn)練,得到參數(shù)矩陣W和系數(shù)矩陣V。當(dāng)用于在線檢測時(shí),設(shè)某一次的采樣數(shù)據(jù)為x,x∈Rm,則:
(11)
(12)
(13)
其中式(12)中的v為對應(yīng)采樣數(shù)據(jù)的重構(gòu)系數(shù),即:
v=(WTKW)-1WTKx
K=Φ(X)TΦ(X)
(14)
Kx=Φ(X)TΦ(x)
式(12)表示特征數(shù)據(jù)在主空間的投影,式(13)表示特征數(shù)據(jù)在殘差空間的投影。
根據(jù)式(12)、(13)定義兩個(gè)統(tǒng)計(jì)量K2和SPE,分別為:
K2=vTv
(15)
(16)
在特征空間F內(nèi),K2反映了訓(xùn)練得到的模型空間內(nèi)的能量波動情況,SPE反映一個(gè)測量數(shù)據(jù)到模型空間的距離,反映測量值的偏離程度。
由于構(gòu)造的統(tǒng)計(jì)量不滿足高斯過程數(shù)據(jù)特征,所以不能運(yùn)用常用方法確定其控制限,筆者采用核密度估計(jì)方法[6],并選取了99%的置信水平確定控制限。
將上述基于KNMF的故障檢測模型運(yùn)用到實(shí)際工況中進(jìn)行在線檢測,當(dāng)檢測計(jì)算結(jié)果小于控制限時(shí),認(rèn)為過程是正常狀態(tài),當(dāng)超過控制限時(shí),認(rèn)為過程是故障狀態(tài)。當(dāng)過程發(fā)生故障的時(shí)候,需要快速并準(zhǔn)確地找到故障所在,確定故障變量,從而可以快速排除故障,避免故障帶來的災(zāi)難。
當(dāng)運(yùn)用K2統(tǒng)計(jì)量和SPE統(tǒng)計(jì)量檢測到故障時(shí),筆者采用貢獻(xiàn)圖[7]的方式,確定故障變量。對應(yīng)K2和SPE每一個(gè)變量所做貢獻(xiàn)值的計(jì)算如下:
(17)
(18)
其中,下標(biāo)j表示第j個(gè)變量,j=1,2,…,m;δj表示m×m單位矩陣的第j列。
通過式(17)、(18)可以確定發(fā)生故障時(shí)每一個(gè)變量對于此次故障的貢獻(xiàn)值,變量貢獻(xiàn)值越大越有可能發(fā)生故障,那么就越有可能就是故障發(fā)生的位置所在,在排除故障時(shí),應(yīng)該首先檢查此位置。
TE過程是基于實(shí)際工業(yè)過程的仿真案例[7]。它由連續(xù)攪拌式反應(yīng)釜及氣液分離塔等多個(gè)設(shè)備組成。訓(xùn)練集包含500個(gè)樣本數(shù)據(jù),測試集由前160個(gè)正常數(shù)據(jù)和后800個(gè)故障數(shù)據(jù)構(gòu)成。圖2是TE過程結(jié)構(gòu)圖,表1是KNMF算法與傳統(tǒng)算法故障檢測率的比較。
圖2 TE過程結(jié)構(gòu)
表1 KNMF算法與PCA、KPCA和NMF的故障檢測率比較 %
從表1可以看出,基于核方法(KPCA和KNMF)的檢測效果在某些故障檢測方面優(yōu)于線性方法(PCA和NMF),而KNMF方法與KPCA方法在故障檢測方面各有優(yōu)勢。
圖3給出了故障IDV(14)各個(gè)方法的故障檢測圖。
圖3 故障IDV(14)發(fā)生時(shí),KNMF與PCA、KPCA和NMF的檢測率對比
IDV(14)表示的是反應(yīng)器冷卻水閥門的變化情況,當(dāng)故障IDV(14)發(fā)生時(shí),那些與反應(yīng)器相關(guān)的變量都會產(chǎn)生影響,如反應(yīng)器中的溫度(變量9)、冷卻水的流速(變量32)和反應(yīng)器冷卻水出口溫度(變量21)。當(dāng)故障IDV(14)發(fā)生的時(shí)候,各個(gè)變量的貢獻(xiàn)值如圖4所示。從貢獻(xiàn)圖來看,這3個(gè)變量的貢獻(xiàn)值明顯很大,而其他變量貢獻(xiàn)值相比之下基本可以忽略,這與分析結(jié)果完全相符,這就驗(yàn)證了該方法的有效性。
圖4 IDV(14)發(fā)生時(shí),受影響的主要變量和所有變量的貢獻(xiàn)值
筆者提出的基于核非負(fù)矩陣分解方法(KNMF)的故障檢測方法,解決了傳統(tǒng)方法處理非線性方法的不足,同時(shí)得到的W或V具有天然稀疏性,減少內(nèi)存消耗,克服了其他核方法消耗內(nèi)存大的不足,在一定程度上能夠加快運(yùn)算速度。設(shè)計(jì)了監(jiān)控統(tǒng)計(jì)量K2和SPE,適用于在線故障檢測,并且建立了完整的故障診斷模型。當(dāng)檢測到故障的同時(shí),給出可能引起此故障的變量。最后將KNMF算法運(yùn)用于TE平臺進(jìn)行仿真,仿真結(jié)果表明了基于KNMF的方法在故障檢測方面的可行性和有效性。在今后的工作中,可進(jìn)一步完善故障診斷模型,提高故障檢測速度和精度,提高故障辨識的準(zhǔn)確性。
[1] Fan L P,Yu H B,Yuan D C.Monitoring of SBR Process Using Kernel Principal Component Analysis[J].Chinese Journal of Scientific Instrument,2006,27(3):249~253.
[2] 范玉剛,李平,宋執(zhí)環(huán).基于特征樣本的KPCA在故障診斷中的應(yīng)用[J].控制與決策,2005,20(12):1415~1418,1422.
[3] An S, Yun J M, Choi S. Multiple Kernel Nonnegative Matrix Factorization[C].2011 IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP).Prague:IEEE,2011:1976~1979.
[4] Lee H,Cichocki A,Choi S.Kernel Nonnegative Matrix Factorization for Spectral EEG Feature Extraction[J].Neurocomputing,2009,72(13):3182~3190.
[5] Hoyer P O.Non-negative Matrix Factorization with Sparseness Constraints[J].The Journal of Machine Learning Research,2004,5:1457~1469.
[6] Botev Z I,Kroese D P.The Generalized cross Entropy Method, with Applications to Probability Density Estimation[J].Methodology and Computing in Applied Probability,2011,13(1):1~27.
[7] Yoon S,MacGregor J F.Fault Diagnosis with Multivariate Statistical Models Part I: Using Steady State Fault Signatures[J].Journal of Process Control,2001,11(4):387~400.