孔祥玉,李 強,安秋生,解 建
(1.火箭軍工程大學導彈工程學院,陜西西安 710025;2.山西師范大學數(shù)學與計算機科學學院,山西臨汾 041004)
隨著科學技術的進步,現(xiàn)代化生產過程中的工業(yè)系統(tǒng)變得越來越龐大,系統(tǒng)的成本、復雜性以及危險性也在快速增長.這類系統(tǒng)一旦發(fā)生故障,將造成不可挽回的財產損失和人員傷亡[1],更甚者會破壞當?shù)厣鷳B(tài)環(huán)境,產生長期危害.因此,復雜系統(tǒng)的故障檢測問題已成為當前學者主要關注的問題[2–3].從系統(tǒng)過程安全運行建模與診斷的國內外研究現(xiàn)狀與發(fā)展趨勢來看,現(xiàn)如今主要的方法是基于解析模型的故障診斷方法與基于數(shù)據驅動的故障診斷方法[4–6].基于解析模型[7]的故障診斷方法利用對系統(tǒng)內部的深層認識,建立診斷對象精確的數(shù)學模型,以此獲得良好的診斷效果.然而該類方法過于依賴數(shù)學模型,不能解決機理不清的系統(tǒng)的故障檢測與診斷問題.
隨著分布式控制系統(tǒng)和新型測量設備的廣泛應用,過程工業(yè)中大量的數(shù)據可被記錄和采集,使得數(shù)據驅動技術[8]在過去幾年中得到了廣泛的應用.基于數(shù)據驅動的故障診斷方法不需要知道系統(tǒng)的物理模型,僅需通過對各種數(shù)據處理與分析,從中挖掘出隱含的異常工況相關信息進行故障診斷.基于多元統(tǒng)計分析[9]的故障診斷方法是數(shù)據驅動方法的重要分支,常用的多元統(tǒng)計方法包括主元分析[10](principal component analysis,PCA)與偏最小二乘[11](partial least squares,PLS).PCA最初是為了對大量相關數(shù)據進行降維而提出的,它能夠保留從過程變量中提取的顯著變異信息.基于PCA故障監(jiān)測方法的主要思想是通過線性空間變換求取主成分變量,將原始空間分為主元子空間和殘差子空間,在兩個子空間分別構造Hotelling’s T2與平方預測誤差(squared prediction error,SPE)統(tǒng)計量進行狀態(tài)監(jiān)測[12].然而在基于PCA的故障檢測方法中,離線訓練階段的標準化對每個測量變量給出相同的權重,其中沒有考慮輸入和輸出變量之間的關系.而投入產出相關性可以為過程監(jiān)控提供更多有用的信息[13],適用于此的一種方法是基于PLS的故障檢測方法.PLS利用離線訓練的相關模型和在線過程測量,可以在線預測工業(yè)過程的關鍵性能指標,能夠利用輸入–輸出相關性中包含的信息來檢測輸入過程中發(fā)生的故障,進行過程監(jiān)控[13].其基本思想是根據測量數(shù)據與質量數(shù)據之間的協(xié)方差,從高度相關的測量數(shù)據中提取幾個潛變量,將輸入空間通過投影到由潛變量構成的低維空間分解為兩個部分:質量相關子空間和質量無關子空間,分別在這兩個子空間中設計統(tǒng)計指標進行監(jiān)控.
雖然PLS在建模、故障檢測和診斷領域得到廣泛應用,但是它并不能處理動態(tài)非線性非高斯和多模態(tài)問題.因此,Kaspar等[14]提出了動態(tài)PLS來反應過程數(shù)據的時變特性.Joe Qin[15]提出了用于在線過程建模的遞推偏最小二乘(recursive partial to least squares,R–PLS)算法,以適應過程變化處理大量數(shù)據樣本.Zhou等[16]提出了全潛結構投影(total projection to latent structures,T–PLS)方法,進一步分解了PLS主元空間和殘差空間.Qin等[17]從對質量變量全局監(jiān)控的角度,構建了并發(fā)潛結構投影(concurrent projection to latent structures,C–PLS)模型,簡化了T–PLS模型的結構.Yin等[18]提出了改進潛結構投影(modified partial to least squares,M–PLS)模型,將過程變量空間分解為兩個正交子空間:主元子空間和殘差子空間,主元子空間中不包含與質量變量正交的成分.Zhang等[19]在M–PLS模型的基礎上,對殘差空間進一步主元分解,產生了兩個正交的子空間,構建了高效潛結構投影(efficient projection to latent structures,E–PLS)模型.
在非線性方面,Wold等[20]于1989提出非線性PLS;Qin等[21]在PLS建模領域引入神經網絡技術;Lindgren等[22]提出了核偏最小二乘(kernel partial least squares,KPLS)方法,該方法通過核函數(shù)將原始非線性變量映射到高維空間,再用線性的PLS方法建模,由于該方法無需非線性優(yōu)化,模型訓練較為容易,成為了面向非線性數(shù)據特性的質量相關的故障診斷領域的主流方法,并在此基礎上衍生出多種改進方法[23–25],然而基于KPLS的方法依然存在一些問題[26],并且基于核函數(shù)的非線性算法在核函數(shù)與最優(yōu)參數(shù)的選擇上通??拷涷灪椭貜驮囼灤_定,消耗大量時間和資源[27].在多模態(tài)方面,Song等[28]將偏最小二乘判別分析(partial least squares discriminant analysis,PLS–DA)進行了擴展,提出最近聚類偏最小二乘判別分析(nearest clusters partial least squares discriminant analysis,NCPLS–DA)方法,并應用于光譜數(shù)據的分類;郭等[29]將局部相對概率密度與k鄰近(knearest neighbors,kNN)相結合,提出了局部相對概率密度kNN(local relative probability densitykNN,LPRD–kNN)方法用于方差差異較大的多模態(tài)過程的故障檢測;在PLS 解決多模態(tài)問題上,李等[30]提出了基于局部近鄰標準化(local neighborhood standardization,LNS)的PLS(LNS–PLS).該方法首先利用LNS方法對原始數(shù)據進行高斯化處理,在此基礎上建立PLS模型,確定統(tǒng)計量進行過程監(jiān)測.該方法采用LNS代替了通常采用的Z-score標準化處理,解決了多模態(tài)數(shù)據多中心以及疏密程度不同的問題.
基于以上分析,上述PLS及其擴展方法不適合既是多模態(tài)又是非線性的工況.從嚴格意義上來講,復雜工業(yè)過程可能既是非線性的,又是多模態(tài)的,針對這類工況,上述方法檢測率與誤報率都不能達到最佳.因此,本文針對類PLS方法在多模態(tài)非線性方面的局限性,提出了一種基于偏最小二乘得分重構的質量相關故障檢測方法(quality-related fault detection method based on the score reconstruction associated with PLS,SR–PLS).首先,對輸入空間進行PLS分解,由質量相關空間和質量無關空間構成;其次,利用不斷更新數(shù)據的類k鄰近規(guī)則對當前得分向量進行重構,得到重構得分向量;最后根據重構得分構造統(tǒng)計量,并通過核密度估計(kernel density estimation,KDE)[31]方法計算合適的控制限,進行故障檢測;最后通過仿真實驗驗證SR–PLS的性能.本文創(chuàng)新點體現(xiàn)在以下幾點:1)提出了一種SR–PLS算法;2)對k鄰近規(guī)則進行了改進,提出一種選取前k個近鄰的新方法;3)結合所提SR–PLS算法和核密度估計方法提出一套完整的過程監(jiān)測技術,并與PLS,KPLS及LNS–PLS算法在過程監(jiān)測中的監(jiān)測性能進行詳細對比分析,驗證所提方法的有效性.
本文剩余部分結構如下:第2節(jié)簡要介紹PLS及其基于PLS的故障檢測方法;第3節(jié)給出了基于偏最小二乘得分重構的質量相關故障檢測方法的詳細過程;第4節(jié)通過兩個數(shù)值仿真例子說明了算法的有效性,并給出了本文算法在田納西伊士曼(Tennessee Eastman process,TEP)過程中的應用仿真結果,同時與PLS,KPLS,LNS–PLS等方法進行比較分析,進一步得出本文方法的優(yōu)缺點;第5節(jié)給出結論和相關展望.
本節(jié)對傳統(tǒng)的PLS的一些劣勢,如當數(shù)據存在多模態(tài)或過程變量非線性相關時,PLS故障檢測性能欠佳,提出了一種基于偏最小二乘得分重構的故障檢測方法.該方法包含兩部分:模型建立與故障檢測.在第1部分中,首先利用PLS將訓練數(shù)據中輸入數(shù)據空間分為主元空間和殘差空間,主元空間與質量相關,殘差空間與質量無關;然后利用類k鄰近方法對質量相關得分與質量無關得分進行重構;最后構建兩個統(tǒng)計指標并利用核密度估計計算相應的控制限.在第2部分中,首先對測試數(shù)據通過第1部分中所得參數(shù)分解為質量相關與質量無關兩部分;然后分別對兩部分的得分進行重構,計算相對應的統(tǒng)計指標;最后將統(tǒng)計指標與第1部分中所得控制限進行比較,得出檢測結果.
給出測試輸入數(shù)據X=[x1x2··· xm]∈Rn×m和輸出數(shù)據Y=[y1y2··· yl]∈Rn×l,利用PLS獲得所有的m個得分向量構成的得分矩陣T、負載矩陣P和權重矩陣R,利用交叉驗證[32]得到PLS的主元個數(shù)A,主要過程如下,則T中前A個向量為主元得分TA,后m ?A個向量為殘差得分Tm?A.
交叉驗證法步驟如下:
在本節(jié)中,對本文所提出的SR–PLS同PLS,KPLS和LNS–PLS方法進行比較,通過兩個數(shù)值案例與田納西伊士曼過程(Tennessee Eastman process,TEP)驗證所提出新方法的有效性.采用故障檢測率(fault detection rate,FDR)和故障誤報率(false alarm rate,FAR)作為評價指標.Nea表示有效的報警數(shù),Nfa表示虛警數(shù),Ntf表示故障樣本總數(shù),則FDR與FAR按下式計算:
利用如圖1所示的SR–PLS故障檢測策略進行仿真,其中圖1(a)為離線建模階段,圖1(b)為在線檢測階段.圖1(b)中權重矩陣R是由圖1(a)中得到的,同時,第1個前k個近鄰正常樣本得分向量是由圖1(a)中得分矩陣TA與Tm?A中取得,此后每一個與均使用更新后的,具體方法第3.2節(jié)有詳細介紹.一個比較好的故障檢測方案應該具備以下功能[35]:
1)質量相關故障:質量相關統(tǒng)計指標具有高的FDR,對質量無關統(tǒng)計指標不作特殊要求;
2)質量無關故障:質量相關統(tǒng)計指標具有低的FAR,質量無關統(tǒng)計指標具有高的FDR.
圖1 SR–PLS故障檢測策略流程圖Fig.1 Flow chart of fault detection method using SR–PLS
給出兩種模態(tài)數(shù)據[25],輸入數(shù)據X有3個變量,輸出數(shù)據Y有2個變量,訓練數(shù)據如下.
模態(tài)1:
首先產生600組數(shù)據,模態(tài)1、模態(tài)2各300組,作為訓練數(shù)據;再產生100組數(shù)據作為測試組,模態(tài)1、模態(tài)2各50組,最后在3個輸入變量上產生6個偏移故障,分別為:F1(?5,?2,?6),F2(4,?1,?3),F3(0,0,6),F4(?5.5,5,?6),F5(5,7,10),F6(10,4,2).
如圖2所示,模態(tài)1數(shù)據較之模態(tài)2稀疏,6個故障點散布在兩個模態(tài)之間,其中故障點5和故障點3在模態(tài)1上方,故障點6和故障點2在兩模態(tài)之間,故障點4和故障點1在模態(tài)2下方.由數(shù)據構造模型可以知曉,這6個故障點都會影響輸出y,可認為這6個故障點均為質量相關故障.通過交叉驗證確定PLS,LNS–PLS與SR–PLS的主元個數(shù)均為1,KPLS主元個數(shù)為4.
圖2 原始數(shù)據三點圖Fig.2 Scatter diagram of original data
圖3–6分別為4種算法在多模態(tài)下的檢測結果,由圖3–4可知,PLS與KPLS未檢測到質量相關故障,PLS將故障點2–4和故障點6檢測為質量無關故障.KPLS中SPE統(tǒng)計量檢測到的故障是與輸出變量無關的[36],即質量無關故障,因此,由圖4可以看到,KPLS將故障點2–4檢測為質量無關故障,且并未檢測到質量相關故障,PLS與KPLS對6個故障點的檢測結果均與數(shù)據構造結果不一致;圖5為多模態(tài)下LNS–PLS檢測結果圖,由圖可知,LNS–PLS只檢測到故障點2–3和5–6,在所設6個故障點中檢測率為66.67%;由圖6顯示本文所提SR–PLS方法檢測率達到100%,同時能區(qū)分出質量相關故障,可以看出,本文方法在多模態(tài)故障檢測中是有效的.
圖3 多模態(tài)下PLS檢測結果Fig.3 Detection results of PLS in multimode
圖4 多模態(tài)下KPLS檢測結果Fig.4 Detection results of KPLS in multimode
圖5 多模態(tài)下LNS–PLS檢測結果Fig.5 Detection results of LNS–PLS in multimode
圖6 多模態(tài)下SR–PLS檢測結果Fig.6 Detection results of SR–PLS in multimode
本小節(jié)采用6個變量進行構造非線性數(shù)值仿真模型,其中:x1,x2,x3,x4,x5為過程變量,y為質量變量;x1,x2服從均值為0,標準差為1的正態(tài)分布,x3,x4,x5由x1,x2以下列形式生成:
其中e1,e2,e3均值為0、方差為0.01的高斯白噪聲.質量變量采用以下非線性示例:
其中v為均值為0,方差為0.05的高斯白噪聲.
使用下列形式在示例中添加故障:
其中:(i=1,2)表示沒有故障的正常值,fi(i=1,2)為故障幅值.由式(16)–(18)易知,f1為質量相關故障,f2為質量無關故障.
首先,在正常運行條件下生成1000個樣本用于建立模型,另生成1000個測試樣本,前500個為正常樣本,后500個為故障樣本.故障設置如下:
1)質量相關故障:設置故障幅值f1=10,f2=0如式(18)加入到示例中.
2)質量無關故障:設置故障幅值f1=0,f2=10如式(18)加入到示例中.
圖7 非線性情況下PLS檢測結果Fig.7 Detection results of PLS under nonlinear condition
由交叉驗證確定PLS與SR–PLS主元數(shù)為2,KPLS主元數(shù)為10,LNS–PLS的主元數(shù)為1.圖7–10為4種算法在非線性情況下的故障檢測結果,其中圖7(a)–10(a)為只發(fā)生質量相關故障時的故障檢測結果圖,圖7(b)–10(b)為只發(fā)生質量無關故障時的故障檢測結果圖.由圖7與故障診斷邏輯易得,PLS在該非線性數(shù)值仿真中能夠區(qū)分出質量相關故障,而不能區(qū)分出質量無關故障,且在無故障發(fā)生階段誤報率較高;圖8為KPLS在非線性情況下故障檢測結果圖,由圖可知KPLS能夠準確區(qū)分質量相關故障與質量無關故障,并且對質量相關故障檢測率高,但是當發(fā)生質量無關故障時檢測率較低;圖9為LNS–PLS方法在非線性情況下故障檢測結果,由圖可得,該方法雖然能檢測到兩種故障,但無法區(qū)分故障類型.圖10為本文所提SR–PLS方法在非線性情況下的故障檢測結果.
圖8 非線性情況下KPLS檢測結果Fig.8 Detection results of KPLS under nonlinear condition
圖9 非線性情況下LNS–PLS檢測結果Fig.9 Detection results of LNS–PLS under nonlinear condition
綜合圖10與故障診斷邏輯,SR–PLS能夠很好地區(qū)分質量相關故障與質量無關故障,且在無故障階段誤報率很低,總體性能優(yōu)于其他3 種故障檢測方法.
圖10 非線性情況下SR–PLS檢測結果Fig.10 Detection results of SR–PLS under nonlinear condition
田納西伊士曼過程(TEP)是由伊士曼化學公司為評估過程控制和監(jiān)測方法提供一個現(xiàn)實的工業(yè)過程而創(chuàng)建的.整個過程以3種不同G/H混合比例構成6種不同的操作模式,見表1.該過程包含41個測量變量和12個操縱變量,測量變量包含22個連續(xù)變量和19個成分變量,連續(xù)變量每3分鐘采樣一次,所有的過程測量都包含高斯噪聲.該過程包含21個故障,其中16個已知故障,5個未知故障.本節(jié)采用常用的13個已知故障進行研究,根據文獻[16]引入的標準,有8個質量相關故障(IDV(1,2,5–6,8,10,12,13)),5個質量無關故障(IDV(3,4,9,11,15)).選取管道11中成分E的濃度,即XMEAS(38)作為質量變量,選擇22個連續(xù)變量(XMEAS(1–22))和11個操縱變量(XMV(1–11))作為過程變量,各變量數(shù)據在操作模式I與操作模式IV下采集,故障數(shù)據處于操作模式I.通過交叉驗證確定PLS 與SR–PLS 的主元數(shù)為6,KPLS的主元數(shù)為15,LNS–PLS主元數(shù)為4.
表1 TE過程的6種操作模式Table 1 Six operation modes of TE process
圖11–12是本文提出的SR–PLS對TE過程中含有故障IDV(4)和故障IDV(6)工況下的檢測結果圖.由圖與診斷邏輯可以推斷出,故障IDV(4)為質量無關故障,IDV(6)為質量相關故障,與文獻[16]引入的標準相符.
圖11 SR–PLS在TE過程IDV(4)故障下檢測結果Fig.11 Detection results of SR–PLS for IDV(4)fault in TEP
圖12 SR–PLS在TE過程IDV(6)故障下檢測結果Fig.12 Detection results of SR–PLS for IDV(6)fault in TEP
表2 給出了PLS,KPLS,LNS–PLS與SR–PLS對13個故障的檢測率.表中標黑數(shù)據為4種算法中對相應故障最高的檢測率,由表中數(shù)據,SR–PLS對質量相關故障均具有較好的檢測率,與其他方法相比,對故障IDV(1,2,5,8,10,13)具有最高檢測率.針對質量無關故障,除了故障IDV(15)中SR–PLS的檢測率比KPLS檢測率略低外,其他4種質量無關故障檢測率均達到最高.綜合來看,SR–PLS在區(qū)分故障與質量指標的相關性同時,故障檢測性能也達到了最好.同時可以發(fā)現(xiàn),由于故障IDV(3,9,15)的尺度較小且表現(xiàn)平穩(wěn),不論哪種算法對這3個故障的檢測率均不理想.
表2 4種算法對13個故障的FDR(%)Table 2 FDR(%)of four algorithms for 13 faults
針對質量無關故障,由表2中可以發(fā)現(xiàn),PLS對故障IDV(3,9,15),LNS–PLS對故障IDV(3,4,9,11,15)檢測率均小于10%,可以認為未檢測到這幾種質量無關故障.表3分別給出了PLS,KPLS,LNS–PLS與SR–PLS對質量無關故障在質量相關空間中的誤報率(FAR),由于PLS檢測不到故障IDV(3,9,15),LNS–PLS檢測不到故障IDV(3,4,9,11,15),對上述情況作故障誤報率比較毫無意義,因此不再作要求.表3中標黑數(shù)據為PLS,KPLS,LNS–PLS與SR–PLS對各質量無關故障在質量相關空間中的最低誤報率.由表發(fā)現(xiàn),SR–PLS對故障IDV(4,11,15)的FAR最低,對其他2種質量無關故障的FAR略大.
表3 4種算法對質量無關故障在質量相關空間的FAR(%)Table 3 FAR(%)of four algorithms for quality-unrelated faults in quality-related space
結合上述3個實驗,現(xiàn)將SR–PLS算法進行總結如下:在非線性多模態(tài)過程監(jiān)測中,SR–PLS能夠準確區(qū)分質量相關故障與質量無關故障,除故障IDV(5)對質量相關故障的檢測率能達到理想情況,雖然故障IDV(5)的檢測率不超過50%,但在4種算法中檢測率依然最高,檢測性能更好.針對質量無關故障,SR–PLS 算法在檢測IDV(3,9)時誤報率較高,但對比其他算法,在檢測故障IDV(4,11,15)時誤報率最低.綜合來看,SR–PLS算法是一個非常有效的故障監(jiān)測方法.
傳統(tǒng)的基于PLS與PCA的故障檢測方法是利用T2和SPE統(tǒng)計指標進行故障檢測的,這種方法在數(shù)據具有非線性多模態(tài)特性時,不能達到最優(yōu)檢測率,相對而言,檢測率會低.本文提出了一種基于偏最小二乘得分重構的質量相關故障檢測方法,首先利用PLS將輸入空間分為質量相關空間與質量無關空間,然后利用類KNN規(guī)則分別對兩個空間得分進行重構,最后利用重構得分構造統(tǒng)計量,進行故障檢測.所提方法在非線性多模態(tài)過程數(shù)據下能夠區(qū)分故障類型,并整體提高了故障檢測率,在工業(yè)過程中具有很好的監(jiān)測性能.
本文的研究中,雖然SR–PLS對故障的檢測率提高了,但在質量相關空間中對一些質量無關故障的誤報率依然偏高,這也是一個后續(xù)需要解決的難題.因此,有必要參考正交信號校正[37]的思路,在建模之前將輸入空間中部分與質量指標正交的信息去除,以此來降低質量無關故障在質量相關空間中的誤報率.