李 元 黃瑩瑩
(沈陽化工大學信息工程學院 遼寧 沈陽 110142)
隨著自動化技術(shù)日新月異的發(fā)展和人民生活水平的不斷提高,人們對生產(chǎn)產(chǎn)品的質(zhì)量要求也越來越高,因此生產(chǎn)過程也趨于復雜化。生產(chǎn)過程的復雜化不可避免地產(chǎn)生大量且維數(shù)較高的數(shù)據(jù),故障診斷技術(shù)就是利用這些可以被采集、存儲、分析和利用的過程數(shù)據(jù)進行數(shù)據(jù)建模,進而進行故障診斷。但現(xiàn)實的是在建模時,這些高維數(shù)據(jù)通常計算量較大并且很難建立監(jiān)控模型,因而有必要對這些數(shù)據(jù)進行降維處理。降維后的數(shù)據(jù)由于包含原始數(shù)據(jù)大部分特征并且容易進行監(jiān)控,故而受到很多專家學者的青睞。目前常見的數(shù)據(jù)降維算法有很多,比較熟知的線性降維技術(shù)有主元分析(Principal Component Analysis,PCA)[1]、偏最小二乘(Partial Least Squares,PLS)等[2],非線性降維技術(shù)包括局部線性嵌入(Locally Linear Embedding,LLE)[3]、拉普拉斯特征映射(Laplacian Eigenmap,LE)[4]等。上述降維方法所能處理的數(shù)據(jù)類型和動機都不同,因而彼此的目標函數(shù)也有些許差異。PCA是基于數(shù)據(jù)驅(qū)動方法的多元統(tǒng)計過程控制中常用的降維方法[5],它尋找數(shù)據(jù)分布方差最大的方向,并將該方向作為第一主元方向。PLS可以用于提取與質(zhì)量變化相關(guān)的主元。LLE、LE是近年來比較熱門的非線性降維技術(shù),它們的共同點在于都是利用樣本點的局部近鄰信息來獲知其內(nèi)部結(jié)構(gòu)信息,但它們有一個缺點就是“樣本外”問題[6]。所謂“樣本外”問題是指它們利用訓練數(shù)據(jù)建立過程模型,但是新來的測試數(shù)據(jù)(訓練數(shù)據(jù)之外)不能直接投影到過程模型上而是需要重新計算,因此給計算帶來困難。He等[7]提出了一種新的流形學習算法-鄰域保持嵌入(Neighbor Preserving Embedding,NPE)算法,NPE算法雖然由LLE算法延伸而來,但與非線性降維技術(shù)LLE不同的是,NPE是一種線性降維技術(shù),它除了繼承了LLE算法的鄰域結(jié)構(gòu)保持特性還有效解決了“樣本外”問題,它和LLE算法一樣都是利用訓練數(shù)據(jù)建立模型,但新來測試數(shù)據(jù)可通過一個投影矩陣直接投影到過程模型上。
由于NPE算法的簡便性并且降維后原高維空間線性結(jié)構(gòu)依然可以被保持,因此被廣泛應(yīng)用于人臉識別和故障診斷中。Liu等[8]提出了一種新的特征提取方法-聯(lián)合稀疏鄰域保持嵌入(JSNPE)。NPE可以保持局部結(jié)構(gòu)但卻忽略了全局特征,因此趙小強等[9]提出了張量全局-局部鄰域保持嵌入方法(TGNPE)。針對動態(tài)過程,楊健等[10]提出了時序約束NPE算法(TCNPE)。針對高維分類數(shù)據(jù),寇勃晨等[11]提出了自適應(yīng)NPE方法(IM-ANPE)。針對多模態(tài)數(shù)據(jù),宋冰等[12]提出了LSNPE算法。
NPE算法使用z-score方法標準化,z-score方法可以消除量綱但當數(shù)據(jù)疏密程度不同時標準化后數(shù)據(jù)的多模態(tài)特征依然明顯。因此針對方差差異明顯的多模態(tài)數(shù)據(jù),引入Ma等[13]提出的局部近鄰標準化(Local Neighbor Standardization,LNS)方法,該方法在消除量綱的同時可以使數(shù)據(jù)中心平移到原點,且標準化后的數(shù)據(jù)疏密程度相同。
綜上所述,針對現(xiàn)代生產(chǎn)過程數(shù)據(jù)多模態(tài)和復雜數(shù)據(jù)分布問題,本文提出MLNS-NPE算法對工業(yè)過程進行故障診斷。MLNS方法提高了NPE算法對稀疏多模態(tài)數(shù)據(jù)的故障檢測性能,NPE算法在數(shù)據(jù)降維的同時提取數(shù)據(jù)的局部信息,削弱原始空間離群點的影響。最后將該方法用于故障診斷中,取得良好的故障檢測效果。
NPE是流形算法的一種,為避免“樣本外”數(shù)據(jù)問題,它的目標就是尋找一投影矩陣A=(a1,a2,…,ad)將原始數(shù)據(jù)集X=(x1,x2,…,xn)∈RD映射到特征空間中,特征空間的數(shù)據(jù)集Y=(y1,y2,…,yn)∈Rd(d (1) 構(gòu)造鄰接圖:使用k近鄰法,若xj屬于樣本xi的k近鄰,則兩者之間有一條直接的邊。 (2) 構(gòu)造權(quán)重矩陣:通過最小化重構(gòu)誤差函數(shù)得到局部權(quán)重值,重構(gòu)誤差函數(shù)為: (1) 式中:wij為樣本xi與其近鄰xj之間的權(quán)重系數(shù);W為權(quán)重矩陣且約束條件∑wij=1。當xj∈xk時,wij≠0;當xj?xk時,wij=0。 式(1)的求解可以引入拉格朗日乘數(shù)法,式(1)可以寫成: (2) 式中:zi=(xi-xj)(xi-xj)T。構(gòu)造拉格朗日函數(shù): (3) (4) (5) 因此得到的權(quán)重矩陣為: (6) (3) 構(gòu)造投影矩陣。NPE的思想是若在原始高維空間權(quán)值wij可以線性表示樣本xi,那么它同樣可以在投影空間線性表示yi,以此表示其線性結(jié)構(gòu)得到了保持。投影矩陣A可以通過下式得到。 (7) q=y-Wy=(I-W)y (8) q2=qTq=yT(I-W)T(I-W)y= aTX(I-W)T(I-W)XTa (9) 構(gòu)造拉格朗日函數(shù): L(a)=aTX(I-W)T(I-W)XTa+λ2(aTXXTa-1) (10) (a) 原始數(shù)據(jù) (a) LNS 對a求導,得到式(11),其中λ=-λ2。 2X(I-W)T(I-W)XTa+2λ2XXTa=0 (11) 因此式(7)的最優(yōu)化問題轉(zhuǎn)化成為XMXTa=λXXTa的廣義特征值求解問題。a0,a1,…,ad-1是特征值λ0≤λ1≤…≤λd-1對應(yīng)的特征向量,M=(I-W)T(I-W),則投影矩陣A=[a0,a1,…,ad-1]。 得到投影矩陣A后,原始數(shù)據(jù)被分為特征空間Y和殘差空間E: X=AY+E (12) Y=(ATA)-1ATX=ATX (13) E=X-AY (14) 分別在特征空間和殘差空間建立T2統(tǒng)計量和SPE統(tǒng)計量: (15) (16) 式中:Λ為對角矩陣。 使用上述NPE算法時所用的數(shù)據(jù)標準化方法為z-score標準化方法,z-score方法是針對數(shù)據(jù)集整體的均值和標準差進行標準化,它可以實現(xiàn)單一模態(tài)數(shù)據(jù)的標準化處理,但在處理方差差異明顯的多模態(tài)數(shù)據(jù)時,只能消除量綱,各模態(tài)疏密程度并沒有變化。針對方差差異明顯的多模態(tài)數(shù)據(jù),近年來出現(xiàn)了種新的數(shù)據(jù)標準化方法即局部近鄰標準化(LNS)方法,LNS標準化方法如下: (17) 式中:N(xi)、mean(N(xi))、std(N(xi))分別為樣本xi的近鄰集、均值和標準差。 LNS尋找樣本xi的k近鄰作為近鄰集,對各自模態(tài)正常樣本而言,其近鄰集的均值和標準差都源于各自模態(tài),正常樣本與其近鄰集均值的距離較小,因此xi-mean(N(xi))可以使數(shù)據(jù)中心平移到原點,相比稀疏模態(tài),密集模態(tài)更靠近原點。稀疏模態(tài)方差較大,xi-mean(N(xi))除以std(N(xi))可以使稀疏模態(tài)向內(nèi)聚攏,密集模態(tài)方差較小,作商使密集模態(tài)數(shù)據(jù)向外擴散,因此兩個模態(tài)經(jīng)LNS處理后多中心變?yōu)橐粋€中心并且疏密程度大致相同。正常樣本與其近鄰集均值的距離小于故障樣本與其近鄰集均值的距離,因此LNS方法處理后故障樣本偏離原點,遠離正常樣本。 LNS雖然能有效處理稀疏多模態(tài)數(shù)據(jù),但當故障樣本位于多個模態(tài)中間時,它的k個近鄰樣本可能同時位于幾個不同模態(tài)中[14],此時故障樣本近鄰集方差波動大,因此LNS方法處理后得到的新樣本同正常樣本一樣接近原點,此時故障樣本混入正常樣本導致LNS無法識別該故障。采用MLNS方法來解決樣本近鄰間跨模態(tài)問題。MLNS標準化方式如下: (18) MLNS方法尋找樣本第一近鄰的近鄰集,對于正常樣本和非位于模態(tài)之間的故障樣本,其作用同LNS方法。對于位于模態(tài)之間的故障樣本而言,無論其第一近鄰屬于哪個模態(tài),其近鄰集都全部屬于該模態(tài),均值和標準差也都屬于該模態(tài),此時近鄰集方差波動較小,因此經(jīng)MLNS方法處理后,該故障樣本遠離數(shù)據(jù)中心,偏離正常樣本。下面用一數(shù)值例子說明:隨機生成一多模態(tài)數(shù)值例子,兩個模態(tài)滿足: 每個模態(tài)選取300個訓練樣本,50個測試樣本,共600個訓練樣本,100個測試樣本。并設(shè)置5個故障,分別為f1(-40,45,70)、f2(-30,-50,-16)、f3(0,5,6)、f4(-25,-15,-25)、f5(75,0,20)。 如圖1所示,原始數(shù)據(jù)包含數(shù)據(jù)中心不重合的兩個模態(tài):模態(tài)1密集,模態(tài)2稀疏。f1、f5為稀疏模態(tài)故障,f2、f4為密集模態(tài)故障,f4為密集模態(tài)的微弱故障,f3位于兩個模態(tài)中間。原始數(shù)據(jù)經(jīng)z-score標準化處理后消除了量綱,但數(shù)據(jù)分布仍為稀疏多模態(tài)。如圖2所示,使用LNS方法處理后稀疏多模態(tài)數(shù)據(jù)變?yōu)槭杳艹潭却笾孪嗤膯我荒B(tài)數(shù)據(jù),數(shù)據(jù)中心平移到原點附近。此時f1、f2、f4、f5偏離正常樣本,但位于模態(tài)間的f3混入正常樣本,被正常樣本覆蓋。使用MLNS方法處理后稀疏多模態(tài)數(shù)據(jù)變?yōu)槭杳艹潭却笾孪嗤膯我荒B(tài)數(shù)據(jù),多模態(tài)數(shù)據(jù)中心重合并且平移到原點附近,多模態(tài)特性消除,f1、f2、f4、f5偏離正常樣本的同時f3遠離正常樣本點。 表1為f3的前13近鄰,f31表示故障樣本f3的前13近鄰,可以看出第9、10、11、12個近鄰屬于第一模態(tài),其余為第二模態(tài),因此f3存在近鄰樣本跨模態(tài)問題。f32表示f3第一近鄰的前13個近鄰,可以看出,第一近鄰屬于第二模態(tài),第一近鄰的前13個近鄰全部屬于第二模態(tài),因此采用MLNS方法避免了模態(tài)中心故障近鄰集跨模態(tài)問題,f3被成功檢測,提高了NPE算法對疏密不同數(shù)據(jù)的檢測能力。 表1 故障樣本f3的前13近鄰 傳統(tǒng)NPE算法使用z-score標準化方法,但對于多模態(tài)數(shù)據(jù)而言,經(jīng)z-score標準化后,數(shù)據(jù)仍具有多個中心,即仍然是多模態(tài)結(jié)構(gòu)。因此NPE算法在處理具有多個中心且疏密程度不同的多模態(tài)數(shù)據(jù)時,其處理效果并不好。針對疏密程度不同的多模態(tài)數(shù)據(jù)的故障檢測,本文提出一種基于MLNS-NPE的故障檢測方法,使用MLNS方法代替原始NPE算法的z-score標準化方法,去除數(shù)據(jù)的多中心和方差差異特性,然后進行NPE建模。基于MLNS-NPE的多模態(tài)故障檢測分為模型建立和在線檢測兩個階段: 1) 正常狀態(tài)下的模型建立: (2) 在高維空間構(gòu)造鄰接圖,根據(jù)式(6)構(gòu)造權(quán)重矩陣。 (3) 根據(jù)式(7)構(gòu)建投影矩陣。 (4) 計算SPE、T2統(tǒng)計量。 2) 在線檢測: (1) 應(yīng)用MLNS算法標準化新樣本V。 MLNS-NPE算法流程如圖3所示。 圖3 MLNS-NPE流程圖 本節(jié)數(shù)值例子使用上節(jié)的數(shù)值實例,分別用NPE、KNPE、KNN、MLNS-NPE四種算法對該多模態(tài)過程進行檢測。其中NPE、KNPE、MLNS-NPE算法的重構(gòu)近鄰數(shù)為6,KNN算法的近鄰數(shù)為13,MLNS-NPE算法中第一近鄰的k近鄰數(shù)為13。檢測結(jié)果如圖4所示。 (a) NPE算法 使用上述四種方法檢測:其中NPE和KNPE兩種方法都使用z-score方法進行標準化,檢測效果如圖4(a)和圖4(b)所示。NPE方法的SPE、T2統(tǒng)計量各檢測到一個故障,此時控制限完全由較稀疏模態(tài)確定。使用KNPE方法,將數(shù)據(jù)映射到高維,有效降低了非線性的影響,T2統(tǒng)計量檢測到故障f1、f5,SPE統(tǒng)計量沒有檢測到故障,此時模態(tài)間差異仍然存在,控制限仍然由稀疏模態(tài)確定,因而故障檢測率較低。 圖4(c)使用了KNN方法,可以有效處理疏密程度相似的多模態(tài)數(shù)據(jù),但在處理疏密程度差異較大的多模態(tài)數(shù)據(jù)時,控制限依然由稀疏模態(tài)確定。由圖4(c)可以看出,雖然D2成功檢測出4個故障,但位于密集模態(tài)的微弱故障f4沒有被檢測出來。圖4(d)使用MLNS-NPE方法,兩個模態(tài)變?yōu)橐粋€模態(tài),消除模態(tài)間結(jié)構(gòu)信息,T2、SPE均成功檢測出所有故障。四種方法故障檢測結(jié)果如表2所示。 表2 99%控制限下四種算法對數(shù)值例子的檢測結(jié)果 青霉素發(fā)酵生產(chǎn)過程是典型的多階段過程,整個生產(chǎn)過程分為三個階段:1) 菌體生長階段:發(fā)酵培養(yǎng)基接種后青霉菌在合適的環(huán)境中經(jīng)過短時間的適應(yīng)開始發(fā)育、生長和繁殖,伴隨葡萄糖底料的快速消耗;2) 青霉素合成階段:這個階段主要合成青霉素,青霉素的生產(chǎn)率達到最大;3)菌體自溶階段:這個階段菌體衰老,細胞開始自溶,青霉素合成能力衰退。圖5為青霉素發(fā)酵過程工藝流程。 圖5 青霉素發(fā)酵工藝流程 本文通過Pensim仿真平臺[16-17]實現(xiàn)青霉素發(fā)酵過程的仿真。Pensim仿真平臺可以模仿青霉素發(fā)酵生產(chǎn)過程,它有5個輸入變量用來控制發(fā)酵過程中各種參數(shù)的變化,還有9個過程變量,產(chǎn)生于菌體合成以及生長過程中,另外還有影響青霉素產(chǎn)量的5個質(zhì)量變量。整個生產(chǎn)過程分為兩個大的階段,前43 h為青霉素菌生長階段,為稀疏模態(tài)數(shù)據(jù)階段;43~400 h為合成青霉素階段,為密集模態(tài)數(shù)據(jù)階段??稍谇叭齻€變量(空氣流量、攪拌功率、底物流速率)上引入階躍和斜坡故障,并且還可以設(shè)置兩種故障的幅度、引入和結(jié)束時間[18-19]。 選取青霉素發(fā)酵過程的12個主要變量作為故障檢測變量,如表3所示。對前三個變量施加的故障類型和幅度如表4所示,其中f1為稀疏模態(tài)故障,f2-f6為密集模態(tài)故障。實驗時,采取仿真時間為400 h,采樣時間為1 h,各輸入?yún)?shù)全部采取Pensim平臺的默認值運行一次,產(chǎn)生一個批次(400×18)的正常數(shù)據(jù)作為訓練數(shù)據(jù)進行建模。 表3 青霉素變量類型 續(xù)表3 表4 故障類型 應(yīng)用NPE、KNPE、KNN、MNPE四種算法依次進行仿真,NPE、KNPE、MNPE的重構(gòu)近鄰數(shù)為6,KNN的近鄰數(shù)k=13,MNPE方法第一近鄰的k近鄰數(shù)為13。四種算法的故障檢測率如表5所示。由于過程分為兩個模態(tài),且密度顯著不同,不服從多元高斯分布,所以NPE、KNPE方法檢測效率都較低。f3為大尺度故障,因此四種算法的故障檢測效率都很高。KNN方法能夠?qū)σ话愣嗄B(tài)數(shù)據(jù)進行檢測,但當數(shù)據(jù)模態(tài)差異明顯時,控制限由稀疏模態(tài)確定,因此故障檢測能力較低,f2、f4、f5、f6為這類故障。f1的類型為稀疏模態(tài)的微弱故障,其到正常樣本的距離小于正常樣本之間距離,因此故障檢測效率比較低。使用MNPE算法,兩個模態(tài)融合成單一模態(tài),消除了多模態(tài)特征,與其他三種算法相比,6組實驗MLNS-NPE故障檢測效率最高。 表5 故障檢測率 % 圖6中f4的故障類型為斜坡故障,故障剛引入時,故障樣本與正常樣本間差異很小,存在故障延遲現(xiàn)象,因此四種算法在故障引入初始時刻的故障檢測能力很弱,但所提出的MNPE方法的故障延遲最小,檢測效率也最高。 (a) NPE算法 本文提出一種基于改進LNS和鄰域保持嵌入的算法來提高NPE算法對方差差異明顯的多模態(tài)數(shù)據(jù)的故障檢測能力。MLNS方法可以使疏密程度不同的多模態(tài)數(shù)據(jù)變?yōu)閱我荒B(tài),并近似服從多元高斯分布,從根本上消除多模態(tài)數(shù)據(jù)影響,為后續(xù)NPE算法的使用提供先決條件。利用NPE算法降維和特征提取,同時將高維局部信息保留。將二者結(jié)合應(yīng)用在數(shù)值例子和青霉素生產(chǎn)過程中。與其他幾種算法相比,所提出的MLNS-NPE算法故障檢測率最高,驗證了該方法的可行性。2 算法設(shè)計
2.1 局部近鄰標準化
2.2 故障檢測
2.3 算法流程
3 仿真分析
3.1 數(shù)值例子
3.2 青霉素發(fā)酵過程
4 結(jié) 語