董 潔,游培航,彭開香
(北京科技大學自動化學院,北京 100083;北京科技大學工業(yè)過程知識自動化教育部重點實驗,北京 100083)
隨著生產(chǎn)過程的規(guī)模化發(fā)展,工業(yè)過程的復雜度不斷增加,傳統(tǒng)的控制方法不能迅速準確的對生產(chǎn)過程進行監(jiān)測.因此,建立可靠的過程監(jiān)測系統(tǒng),快速有效的檢測故障并進行故障分類,降低異常事故的發(fā)生顯得至關(guān)重要.采用合適的故障檢測與分類方法,來保證復雜工業(yè)系統(tǒng)的安全運行,已經(jīng)成為過程控制領(lǐng)域的首要任務(wù).
過程監(jiān)測方法主要分為定性分析的方法和定量分析的方法[1].其中,定性分析方法又細分為圖論方法、專家系統(tǒng)和定性仿真;定量分析方法又分為基于解析模型的方法和數(shù)據(jù)驅(qū)動的方法.由于生產(chǎn)過程的日益復雜,生產(chǎn)過程的機理模型難以獲得,基于數(shù)據(jù)驅(qū)動的方法逐漸成為研究的熱點.傳統(tǒng)的基于數(shù)據(jù)驅(qū)動的方法主要是多變量統(tǒng)計,其中最典型的是偏最小二乘法(partial least squares,PLS)和主元分析法(principal component analysis,PCA)[2].PLS通過最大化輸入輸出數(shù)據(jù)的協(xié)方差構(gòu)建回歸模型,并構(gòu)建T2,SPE控制限進行過程監(jiān)測.PCA的主要思想是通過關(guān)系度不強的特征信號實現(xiàn)對原始過程數(shù)據(jù)的降維,將原始過程數(shù)據(jù)分為主元子空間和殘差子空間,并構(gòu)建T2,SPE控制限分別監(jiān)測這兩個空間,以此實現(xiàn)過程監(jiān)測.然而,傳統(tǒng)的數(shù)據(jù)驅(qū)動方法沒有考慮數(shù)據(jù)在時間維度上的依賴關(guān)系,無法提取工業(yè)過程數(shù)據(jù)的動態(tài)關(guān)系,也無法確定測量變量之間的自相關(guān)和互相關(guān)關(guān)系.針對傳統(tǒng)數(shù)據(jù)驅(qū)動方法無法對動態(tài)過程進行有效監(jiān)測的問題,許多學者對PLS和PCA進行了改進.Ku等人[3]提出了動態(tài)主元分析(dynamic principal component analysis,DPCA)方法,該方法將原始數(shù)據(jù)按照一定的時間窗口堆疊,形成增廣數(shù)據(jù)矩陣,然后利用PCA進行過程監(jiān)測;這種方法無法給出動態(tài)成分間的相互關(guān)系,且隨著時間窗口的增大,容易造成維數(shù)災(zāi)難.彭等人[4]利用動態(tài)全潛結(jié)構(gòu)投影算法(total projection to latent structures,T-PLS)實現(xiàn)了對帶鋼熱連軋的厚度監(jiān)控.Li等人[5]提出了動態(tài)潛變量算法,該方法首先利用自回歸PCA算法提取潛變量,使其自協(xié)方差最大;然后對潛變量建立向量自回歸模型,以此表示動態(tài)關(guān)系.雖然該方法建立了潛變量間的動態(tài)關(guān)系,但在提取潛變量時,僅僅考慮潛變量一階時間階次的自協(xié)方差.作為改進,Li等人[6]提出了結(jié)構(gòu)化的DPCA算法,首先定義目標函數(shù)為最大化滯后潛變量加權(quán)和的方差,然后對潛變量建立向量自回歸模型.然而,這種方法的缺陷是其動態(tài)關(guān)系的向量自回歸模型與目標函數(shù)不一致.因此,Dong等人[7]提出了動態(tài)內(nèi)部主元分析(dynamic-inner principal component analysis,DiPCA),通過定義潛變量為向量自回歸模型,算法的目標函數(shù)為最大化實際潛變量與自回歸模型估計潛變量之間的協(xié)方差,使?jié)撟兞績?nèi)部動態(tài)關(guān)系的自回歸模型與目標函數(shù)中一致.由于所提取的潛變量含有大量動態(tài)特性,直接對其監(jiān)測會產(chǎn)生很大的誤報警率.故該算法是對自回歸模型的估計誤差建立PCA模型,并構(gòu)建T2,SPE混合指標[8]進行動態(tài)過程監(jiān)測.
在檢測出故障后,判斷其屬于哪一類故障,以便后續(xù)處理也是至關(guān)重要的.故障分類就是通過不同類型的故障數(shù)據(jù)樣本建立分類模型,當監(jiān)測模型檢測出故障后,將故障數(shù)據(jù)輸入分類模型,判斷此故障屬于哪一類別.準確構(gòu)建故障分類模型也是當前的研究熱點.Hu等人[9]將泵的運行狀態(tài)分為正常、早期氣蝕和嚴重氣蝕3類,并且用K近鄰分類器實現(xiàn)了準確的分類.Kurukuru等人[10]通過訓練徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)實現(xiàn)了對光伏系統(tǒng)不同類型故障的分類.Almalki等人[11]利用基于事件簽名的決策樹分類算法成功分類出配電系統(tǒng)中配電線高阻抗故障、電纜絕緣層擊穿故障和斷路器故障.Yu等人[12]將智能群算法與支持向量機結(jié)合,對燃料電池系統(tǒng)的5種故障狀態(tài)進行分類.Xu等人[13]將滾動軸承的正常和故障信號進行經(jīng)驗?zāi)B(tài)分解作為特征,輸入基于粒子群優(yōu)化的支持向量機模型,實現(xiàn)了對軸承的正常和故障狀態(tài)分類.Sun等人[14]利用稀疏自動編碼器提取感應(yīng)電動機的數(shù)據(jù)特征,并將特征用于訓練深度神經(jīng)網(wǎng)絡(luò)分類器,實現(xiàn)了對電機不同故障的分類.Zhong等人[15]提出了一種半監(jiān)督的Fisher分類器,并將其用于工業(yè)過程的故障分類.該方法通過合并其他未標記的數(shù)據(jù)樣本進行建模,改善了傳統(tǒng)分類方法對小樣本數(shù)據(jù)建模的不足.Lucke等人[16]針對工業(yè)過程故障數(shù)據(jù)與正常數(shù)據(jù)樣本數(shù)不平衡的問題,提出一種K均值貝葉斯分類算法,并在TE數(shù)據(jù)上驗證了該算法的有效性.針對工業(yè)過程數(shù)據(jù)的動態(tài)性問題,Li等人[17]指出,隱馬爾科夫模型(hidden Markov model,HMM)非常適合于動態(tài)時間序列的建模,并且具有強大的模式分類能力,特別是對于信息豐富、非平穩(wěn)性、重復性和再現(xiàn)性差的信號.同時,理論上HMM可以處理長隨機序列.他們將快速傅立葉變換(fast fourier transform,FFT)、小波變換、頻譜提取的特征輸入HMM構(gòu)建分類器模型.針對旋轉(zhuǎn)機械中的加速和減速過程識別,取得了良好的效果.
本文針對DiPCA算法所提取的動態(tài)主元直接進行監(jiān)測會產(chǎn)生較大誤報率的問題,利用HMM能夠有效對時間序列進行建模并且具有強大的模式分類能力的特點,提出了一種動態(tài)過程故障檢測與分類的一體化框架.該框架首先利用DiPCA算法提取正常工況下測量數(shù)據(jù)的動態(tài)特征,并對正常工況下的動態(tài)特征數(shù)據(jù)建立HMM監(jiān)測模型,實現(xiàn)對工業(yè)動態(tài)過程的故障檢測;然后利用歷史故障數(shù)據(jù),建立基于HMM的故障分類模型,實現(xiàn)對不同故障的分類;最后利用田納西-伊斯曼(Tennessee Eastman,TE)過程數(shù)據(jù)驗證DiPCA-HMM動態(tài)過程監(jiān)測及故障分類框架的有效性.
本文剩余部分結(jié)構(gòu)如下:第2部分介紹動態(tài)內(nèi)部主元分析與隱馬爾科夫模型的原理;第3部分提出動態(tài)過程監(jiān)測及故障分類框架;第4部分將所提框架應(yīng)用于田納西-伊斯曼化學工業(yè)過程進行仿真實驗,并與DiPCA動態(tài)過程監(jiān)測算法和SVM故障分類算法對比;第5部分給出結(jié)論.
設(shè)xk為k時刻采集到的樣本數(shù)據(jù),rk為xk中提取的主元,w為負載向量:
為了提取出變量間的動態(tài)特征,引入階次為s的自回歸模型:
DiPCA算法的目標是確定樣本數(shù)據(jù)之間的自相關(guān)和互相關(guān)關(guān)系,并給出動態(tài)關(guān)系的明確表示.因此DiPCA算法的目標函數(shù)就是最大化rk與間的協(xié)方差:
由此可知,w是最大特征值所對應(yīng)的特征向量.由于w與β混合在一起,此最優(yōu)問題無解析解.定義得分向量
則式(8)表示為如下形式:
由式(10)可以得到β與ri的關(guān)系.因此,可以用迭代的方法求出此優(yōu)化問題的解.DiPCA算法具體迭代過程如下:
1) 將X標準化為0均值,1方差,w初始化為隨機單位向量;
2) 迭代以下步驟直至收斂:
3)X=X -
4) 返回步驟2),提取下一個主元,直至提取出期望個數(shù)的主元;
5) 最終剩余的X可認為是數(shù)據(jù)的靜態(tài)部分.
DiPCA算法需要確定主元個數(shù)l和自回歸模型階次s兩個參數(shù).首先假設(shè)s為確定值,則l可選擇為包含95%自協(xié)方差的值,因此可將l看作關(guān)于s的函數(shù)l=l(s);然后根據(jù)交叉驗證的方法確定s,首先通過一部分數(shù)據(jù)訓練DiPCA模型,然后將此DiPCA模型作用于驗證數(shù)據(jù),得到數(shù)據(jù)的靜態(tài)部分X,使X中任意兩個變量間相關(guān)性最小的s即為最優(yōu).
HMM是一類基于概率統(tǒng)計的模型,它可以由5個部分表示:
1) 模型的隱狀態(tài).定義模型有N個隱狀態(tài),t時刻的隱狀態(tài)表示qt ∈[S1··· SN];
2) 狀態(tài)轉(zhuǎn)移矩陣A={aij},其中
3) 觀測值,即隱狀態(tài)所有可能的輸出值R={r1,r2,···,rM};
4) 觀測概率分布矩陣B={bi(k)},其中bi(k)=P(rk|qt=Sj);
5) 初始隱狀態(tài)分布π=P(q1=Si),1 ≤i≤N.
上述5個部分可以簡化為λ=(A,B,π).根據(jù)觀測值是離散或連續(xù)值,可以將HMM分為離散型HMM和連續(xù)型HMM兩種.上述觀測值為離散型HMM的觀測值.對于連續(xù)性HMM,可以認為其隱狀態(tài)輸出符合混合高斯分布.
HMM主要解決以下3個問題:
1) 評估問題,即給定觀察序列R={r1,r2,···,rT}和模型λ=(A,B,π),計算出現(xiàn)觀察序列R的概率.這個問題可以通過定義前向或后向變量,采用動態(tài)規(guī)劃算法進行求解.
2) 解碼問題,即給定觀察序列R={r1,r2,···,rT}和模型λ=(A,B,π),求出最可能的隱狀態(tài)序列,這個問題可以用Viterbi算法進行求解.
3) 學習問題,即調(diào)整模型參數(shù)使觀察到的序列出現(xiàn)可能性最大,這個問題可通過向前向后算法(Baum-Welch)求解,它是期望最大化算法(expectation maximization,EM)的一個特例,即帶隱變量的最大似然估計問題.
在過程監(jiān)測及故障分類框架中,對監(jiān)測模型及分類模型的訓練為學習問題,構(gòu)造監(jiān)測模型控制限以及求解分類模型輸出概率為評估問題.因此,本文主要討論3個問題中的學習問題和評估問題.
由于工業(yè)過程的隱狀態(tài)輸出一般為連續(xù)值,因此將觀測值概率密度函數(shù)重新定義為B=[bi(r)],其分量為
其中:i為t時刻的隱狀態(tài)Si,r為t時刻的觀測值,bi(r)為t時刻狀態(tài)為Si時輸出觀測值為r的概率密度函數(shù),采用高斯函數(shù)表示;μi,Ui分別為狀態(tài)Si中高斯密度函數(shù)的均值向量和協(xié)方差矩陣.
采用前向-后向算法對HMM的學習問題進行求解,首先初始化模型中的所有參數(shù).然后,定義前向概率αt(i)表示在t時刻處于狀態(tài)i,且之前的觀測序列為{r1,r2,···,rt}的概率,即
定義后向概率βt(i)表示已知t時刻處于狀態(tài)i,之后的觀測序列為{rt+1,···,rT}的概率,即
根據(jù)前向、后向概率遞歸計算,分別遞歸計算所有的αt(i),βt(i),假設(shè)SI為初始狀態(tài),SE為最終狀態(tài),表達式如下:
定義γt(j)為給定觀測序列R和模型參數(shù)λ,t時刻處于狀態(tài)i的概率:
定義εt(i,j)為給定觀察序列R和模型參數(shù)λ,在t時刻處于狀態(tài)i,t+1時刻處于狀態(tài)j的概率:
基于γt(j)和εt(i,j)重估HMM的初始狀態(tài)概率、均值、方差和轉(zhuǎn)移概率:
對于評估問題,由參數(shù)已知的HMM,可以求出給定觀測值序列R由此HMM產(chǎn)生的概率:
設(shè)X ∈RN×m是過程中測量得到的N個m維正常工況數(shù)據(jù).將X標準化,利用DiPCA算法提取其的動態(tài)特征,其中時間階次為s.按照DiPCA算法流程中的步驟,迭代求出其動態(tài)主元:
對所提取的動態(tài)主元構(gòu)建HMM模型,在訓練階段,需要解決HMM3個問題中的學習問題,即根據(jù)樣本R訓練出最優(yōu)的模型參數(shù)λ=(A,B,π).
首先初始化模型參數(shù)λ,HMM模型的時間階次與自回歸模型時間階次s一致;然后根據(jù)前向、后向概率遞歸計算αt(i)和βt(i),根據(jù)式(14)-(15)計算γt(j)和εt(i,j),接著通過式(16)-(19)對模型參數(shù)進行重新估計.重復上述過程直至式(22)收斂:
對cpi進行核密度估計,包含其密度函數(shù)99%區(qū)域的點定為控制限CP1.
在測試階段,數(shù)據(jù)通過DiPCA算法提取出動態(tài)特征后,計算HMM輸出概率的負對數(shù)似然值,通過與控制限進行比較,以此實現(xiàn)對動態(tài)過程的監(jiān)測.DiPCAHMM動態(tài)過程監(jiān)測框架如圖1所示.
被DiPCA-HMM動態(tài)過程監(jiān)測框架檢測出故障后,需要判斷故障所屬類型,以便后續(xù)進行有效處理,降低故障的影響.本文利用HMM具有強大的模式分類能力的特點,實現(xiàn)對不同故障的分類.離線建模階段,利用歷史K類故障數(shù)據(jù)分別建立K個HMM模型;在線監(jiān)測階段,當樣本被DiPCA-HMM動態(tài)過程監(jiān)測框架判定為故障時,將其分別輸入K個HMM故障分類模型,比較每個HMM故障分類模型的輸出概率,則此故障數(shù)據(jù)所屬的故障類型認定為輸出概率最大的HMM所屬的類別.基于HMM的故障分類模型如圖1所示.
田納西-伊斯曼(TE)過程是美國Eastman化學公司依據(jù)實際化工反應(yīng)過程開發(fā)的化工模型仿真平臺,其產(chǎn)生的數(shù)據(jù)具有很強的動態(tài)特性,廣泛應(yīng)用于測試工業(yè)過程的控制和故障診斷模型.TE過程包含12個操縱變量和41個測量變量,測量變量中包含22個過程變量和19個質(zhì)量變量.TE過程一共包含21種故障.其中,故障3,9,15由于控制系統(tǒng)的反饋調(diào)節(jié)對過程影響很小;故障16至故障21為未知類型故障.因此,本研究選取了22個過程變量XMEAS(1-22)和11個操縱變量XMV(1-11)組成原始數(shù)據(jù)集.選取12個故障作為對比驗證集,如表1所示.在本文中,選取主元個數(shù)l=13,時間階次s=3.基于DiPCA-HMM動態(tài)過程監(jiān)測模型使用的數(shù)據(jù)集包含正常工況訓練數(shù)據(jù)、正常工況測試數(shù)據(jù)和12種故障的測試數(shù)據(jù);基于HMM的故障分類模型使用的數(shù)據(jù)集包含12種故障的訓練數(shù)據(jù)和測試數(shù)據(jù).其中,所有故障測試數(shù)據(jù)在第160樣本點引入故障.
圖1 DiPCA-HMM動態(tài)過程故障檢測與分類一體化框架Fig.1 The integrated framework of dynamic fault detection and classification based on DiPCA-HMM
表1 故障類型Table 1 Fault type
利用正常工況下采集到的數(shù)據(jù)訓練DiPCA-HMM動態(tài)過程監(jiān)測框架,圖2所示為DiPCA所提取的第1和第2個主元的自相關(guān)與互相關(guān)關(guān)系.其中,c11為第1個主元的自相關(guān)關(guān)系,c12為第1個主元與第2個主元之間的互相關(guān)關(guān)系,c22為第2個主元的自相關(guān)關(guān)系.由圖2可以看出,DiPCA算法所提取的主元包含大量的動態(tài)信息.
圖3-5分別為DiPCA算法與DiPCA-HMM框架對故障4,7,11監(jiān)測結(jié)果對比圖.圖3-5中:圖(a)為DiPCA監(jiān)測結(jié)果,圖(b)為DiPCA-HMM框架的監(jiān)測結(jié)果.
圖2 動態(tài)主元間的自相關(guān)與互相關(guān)關(guān)系Fig.2 Autocorrelation and cross-correlation between dynamic principal components
圖3 DiPCA與DiPCA-HMM故障4檢測結(jié)果Fig.3 Fault detection result of DiPCA and DiPCA-HMM for Fault 4
由于DiPCA-HMM動態(tài)過程故障檢測框架在對故障7的數(shù)據(jù)進行監(jiān)測時,對于某些序列HMM的輸出概率P為接近0的數(shù)值,其負對數(shù)似然值cp趨于正無窮,無法在圖中標識,因此本文令其等于一個遠大于控制限CP1的值.DiPCA與DiPCA-HMM對12種故障的檢測率及誤報率如表2所示.
圖4 DiPCA與DiPCA-HMM故障7檢測結(jié)果Fig.4 Fault detection result of DiPCA and DiPCA-HMM for Fault 7
圖5 DiPCA與DiPCA-HMM故障11檢測結(jié)果Fig.5 Fault detection result of DiPCA and DiPCA-HMM for Fault 11
表2 故障檢測率與誤報率Table 2 Fault detection rate and alarm rate
表2中對于故障5和故障10,兩種方法都沒有實現(xiàn)準確的監(jiān)測,而對兩種故障數(shù)據(jù)的靜態(tài)部分進行監(jiān)測得到了較好的監(jiān)測效果[7].可以認為,故障5和故障10所引起的數(shù)據(jù)變化主要表現(xiàn)在測量數(shù)據(jù)的靜態(tài)部分.因此,對動態(tài)過程的監(jiān)測無法準確有效的檢測出這兩種故障的發(fā)生.
表3所示為基于DiPCA-HMM的故障分類模型和一對一SVM分類器對所選的12個故障的分類準確率對比.第i類故障的故障分類準確率定義如下:
其中:Si為第i類故障樣本總數(shù),TSi為被正確分類為第i類故障的樣本數(shù).
表3 故障分類率Table 3 Fault classification rate
結(jié)果表明,對于故障5,6,8,11,13,HMM分類器效果優(yōu)于SVM分類器.兩種方法對故障10都無法準確有效的進行分類,其中SVM分類器將大部分故障10數(shù)據(jù)誤判為故障12,而HMM分類器將大部分故障10數(shù)據(jù)誤判為故障5.由于發(fā)生故障5與故障10時,數(shù)據(jù)的變化主要反應(yīng)在靜態(tài)部分,而所提取的動態(tài)特征相似性較高;因此,對它們的動態(tài)特征建立分類模型后,容易造成誤判.
本文提出一種基于DiPCA-HMM的動態(tài)過程故障檢測與故障分類框架,該框架通過DiPCA算法提取正常工況數(shù)據(jù)的動態(tài)特征;然后利用HMM適合處理動態(tài)特征的特點進行故障檢測,并根據(jù)負對數(shù)似然值構(gòu)建監(jiān)測控制限;最后對不同故障分別構(gòu)建HMM模型,實現(xiàn)了對不同故障的分類.將DiPCA-HMM動態(tài)過程監(jiān)測及故障分類框架應(yīng)用于TE過程,選取12個故障進行仿真研究,結(jié)果表明,基于DiPCA-HMM的動態(tài)過程故障檢測與分類框架能夠有效的檢測出故障,并實現(xiàn)故障分類.