孫四通 李師慶



作者簡介:孫四通(1964-),副教授,從事過程優(yōu)化與故障檢測方向的研究,slsyjs2023@126.com。
引用本文:孫四通,李師慶.基于DGLPP-SVDD算法的化工過程故障檢測[J].化工自動化及儀表,2024,51(2):310-318.
DOI:10.20030/j.cnki.1000-3932.202402021
摘 要 為解決傳統(tǒng)全局局部保留投影算法(GLPP)不能充分利用已有故障數(shù)據(jù)進(jìn)行特征提取的缺點,提出了判別全局局部保留投影算法(DGLPP)。在數(shù)據(jù)降維處理后,為應(yīng)對高斯和非高斯混合分布的過程數(shù)據(jù)特性,通過支持向量數(shù)據(jù)描述算法(SVDD)構(gòu)建故障檢測統(tǒng)計量。將兩種算法相結(jié)合提出基于DGLPP-SVDD的故障檢測方法。將DGLPP-SVDD算法應(yīng)用于TE過程仿真,并與GLPP算法對比,結(jié)果表明:DGLPP-SVDD算法具有更短的故障檢測滯后時間和更高的故障檢測率。
關(guān)鍵詞 特征提取 DGLPP-SVDD算法 圖嵌入 故障檢測 全局局部保留投影 支持向量數(shù)據(jù)描述
中圖分類號 TP277? ?文獻(xiàn)標(biāo)志碼 A? ?文章編號 1000-3932(2024)02-0310-09
為了預(yù)防化工事故的發(fā)生以及在發(fā)生故障時能夠及時報警,構(gòu)建一個針對化工過程的故障檢測模型至關(guān)重要。在化工生產(chǎn)過程中,采集到的數(shù)據(jù)一般都具有高維度的特點,為此普遍在構(gòu)造故障檢測模型前先進(jìn)行數(shù)據(jù)特征提取或特征選擇來壓縮數(shù)據(jù)維度[1]。數(shù)據(jù)特征提取方法旨在保留高維數(shù)據(jù)的特性,目前主要有兩種類型的算法分別從全局角度和局部角度進(jìn)行特征提取。以主成分分析(PCA)[2,3]及其變體為代表的全局方法通過保持?jǐn)?shù)據(jù)的最大方差來學(xué)習(xí)數(shù)據(jù)的全局信息,但此類方法忽略了數(shù)據(jù)的局部信息。以局部保留投影(LPP)[4~6]及其變體為代表的流形學(xué)習(xí)方法旨在提取數(shù)據(jù)的局部近鄰信息,但此類方法忽略了由方差信息和高階統(tǒng)計量表示的全局信息。針對這些方法存在的問題,LUO L J提出了全局局部保留投影算法(GLPP)來提取全局和局部特征[7]。在此基礎(chǔ)上,文獻(xiàn)[8]提出非線性動態(tài)全局局部保留投影(NDGLPP)算法;同時還有一些基于核函數(shù)和稀疏性的GLPP變體[9~11]。然而基于GLPP及其變體的故障檢測方法并沒有充分利用已有的故障數(shù)據(jù),而是僅依靠對正常工況數(shù)據(jù)進(jìn)行特征提取來實現(xiàn)故障檢測。對于一個真實的工業(yè)過程,即使不可能收集到所有類型的故障數(shù)據(jù),但歷史數(shù)據(jù)庫中總是有一些已知的故障數(shù)據(jù),而這些先驗故障數(shù)據(jù)可以為在線故障檢測提供一些非常有價值和強(qiáng)大的故障判別信息[12,13]。因此在GLPP基礎(chǔ)上,有必要通過考慮利用已有故障數(shù)據(jù)進(jìn)行擴(kuò)展來提取有利于故障檢測的判別特征。
數(shù)據(jù)降維后需要構(gòu)建統(tǒng)計量以檢測是否發(fā)生故障。常用的統(tǒng)計量有T2和SPE,但其受限于數(shù)據(jù)服從高斯分布的假設(shè)(實際工業(yè)生產(chǎn)中數(shù)據(jù)通常是高斯和非高斯混合分布)[14]。支持向量數(shù)據(jù)描述(SVDD)算法不受數(shù)據(jù)服從高斯分布的限制,并且能夠處理非線性數(shù)據(jù),目前已廣泛應(yīng)用于故障檢測領(lǐng)域[15,16]。
綜上所述,為充分利用先驗故障數(shù)據(jù)來提取判別特征,筆者在圖嵌入框架下對GLPP算法進(jìn)行判別擴(kuò)展,提出了DGLPP算法。數(shù)據(jù)降維后,使用SVDD在數(shù)據(jù)高斯和非高斯混合分布的情況下構(gòu)建合適的統(tǒng)計量,從而提出基于判別全局局部保留投影和支持向量數(shù)據(jù)描述(DGLPP-SVDD)的故障檢測算法,并通過TE過程仿真驗證該方法的有效性。
1 算法描述
1.1 DGLPP算法
基于GLPP算法的描述[7],筆者在圖嵌入框架下將其擴(kuò)展為DGLPP算法。與GLPP訓(xùn)練樣本只包含正常數(shù)據(jù)不同,DGLPP的訓(xùn)練樣本包括正常數(shù)據(jù)和各類故障數(shù)據(jù)。對于m維n個樣本點組成的數(shù)據(jù)矩陣X=[x,x,…,x]∈R,尋找一個合適的降維轉(zhuǎn)換矩陣A∈R,通過Y=AX變換,得到維度為l(l J=min(y-y)W?搖J=-min(y-y)?搖J=-min(y-y)?搖 (1) 其中,J是指降維時保留類內(nèi)樣本的局部信息;J是指保留類內(nèi)樣本的全局信息;J是指保留正常樣本和故障樣本之間的判別信息;y、y表示低維空間中的樣本點;W、W、分別表示高維空間中構(gòu)造的3個權(quán)重矩陣,以表征3個有不同邊連接關(guān)系的圖結(jié)構(gòu)。若高維空間的樣本點xi和xj在圖中存在邊連接,則權(quán)重矩陣中對應(yīng)的元素值以熱核法表示,即exp(-‖x-x‖/t)(其中,t為經(jīng)驗參數(shù),‖·‖表示歐氏距離);若x和x之間不存在邊連接,則3個權(quán)重矩陣W、W、中對應(yīng)的元素為零。 3個圖結(jié)構(gòu)中樣本點之間存在連接邊的條件不同:在類內(nèi)局部圖中條件為樣本點x和x為類內(nèi)k近鄰關(guān)系;在類內(nèi)全局圖中條件為樣本點x和x不是類內(nèi)k近鄰關(guān)系;在類間判別圖中條件為正常樣本點x和每類故障樣本點x為類間k近鄰關(guān)系。為了平衡3個子優(yōu)化目標(biāo)的關(guān)系,引入權(quán)重系數(shù)η來構(gòu)成一個整體優(yōu)化函數(shù)。DGLPP的優(yōu)化函數(shù)表達(dá)式如下: J=min{η(J+J)+(1-η)J} =min(y-y)2R? (2) =min(aXHXa-aXRXa)=min(aXMXa) s.t. aa=1 R=η(W-)-(1-η)W 其中,H為對角矩陣(H=R),拉普拉斯矩陣M=H-R;a為降維轉(zhuǎn)換向量。最終的優(yōu)化問題可以轉(zhuǎn)換為求Ma=λa(λ為矩陣特征值)的廣義特征值,從而得到降維轉(zhuǎn)換矩陣A。η是一個介于0和1之間的值,用于平衡子目標(biāo)函數(shù)間的重要性,其值對總體目標(biāo)函數(shù)具有較大影響。η值的選取準(zhǔn)則為:ηρ(W-)=(1-η)ρW,其中ρ(·)代表矩陣的譜半徑。 圖1、2分別為GLPP、DGLPP降維過程示意圖。假設(shè)在高維空間中有3類數(shù)據(jù),圓點代表正常運行數(shù)據(jù)。GLPP通過在正常數(shù)據(jù)中構(gòu)造局部圖和全局圖進(jìn)行降維。DGLPP通過構(gòu)造類內(nèi)局部圖、類內(nèi)全局圖和類間判別圖進(jìn)行降維。以樣本間的最近鄰距離和類別為依據(jù),設(shè)置樣本點在圖中的邊連接關(guān)系,同類別樣本設(shè)置k=2近鄰,正常樣本與各類故障樣本間設(shè)置k=3近鄰。圖1、2中以標(biāo)黑樣本點為例顯示與其他樣本之間的邊連接關(guān)系,邊上的箭頭方向表示降維時力作用的方向。圖1中,在局部圖中有邊連接關(guān)系的正常樣本點會相互吸引,而在全局圖中會相互排斥,從而使得正常數(shù)據(jù)在低維空間中出現(xiàn)類內(nèi)聚集且整體形狀保持的效果,但GLPP對異常類數(shù)據(jù)并無約束,可能導(dǎo)致在低維空間中出現(xiàn)正常數(shù)據(jù)和異常數(shù)據(jù)相互交疊的情況,從而影響后續(xù)故障檢測效果。圖2中,在類內(nèi)局部圖中有邊連接關(guān)系的樣本點會類內(nèi)相互吸引,在類內(nèi)全局圖中有邊連接關(guān)系的樣本點會類內(nèi)相互排斥,在類間判別圖中有邊連接關(guān)系的正常樣本和故障樣本相互排斥,從而實現(xiàn)降維后類內(nèi)樣本聚集且整體形狀保持并且正常數(shù)據(jù)與故障數(shù)據(jù)相互遠(yuǎn)離的效果。 1.2 SVDD算法 SVDD的基本思想是構(gòu)造一個球心為b、半徑為r的超球體,使其盡可能多地包含訓(xùn)練樣本中的正樣本且體積盡可能小,從而實現(xiàn)正樣本與負(fù)樣本最大程度的分離。SVDD應(yīng)用的關(guān)鍵是尋找最優(yōu)的超球體,其優(yōu)化函數(shù)如下: min r+Cξ s.t.‖?準(zhǔn)(x)-a‖≤r+ξ,ξ>0,i=1,2,…,n? ?(3) 其中,C為超球體體積和誤差的平衡參數(shù);ξ為每個訓(xùn)練樣本x對應(yīng)的誤差松弛變量;?準(zhǔn)(x)表示從低維空間映射到高維空間的數(shù)據(jù)。 將式(3)轉(zhuǎn)換為對偶問題: maxαK(x·x)-ααK(x·x)? ?(4) s.t.α=1,0≤α≤C 其中,拉格朗日乘數(shù)α=[α,α,…,α];K(·)為引入的核函數(shù)。求解式(4)即可確定半徑r: r=1-2αK(x·x)+ααK(x·x)? ?(5) 其中,x為支持向量。測試樣本z到超球體球心的距離D的計算式為: D=‖z-a‖=1-2αK(z,x)+ααK(x,x) (6) 若D>r,則認(rèn)為測試樣本是異常的,反之則為正常。 2 基于DGLPP-SVDD的故障檢測 DGLPP-SVDD故障檢測流程分為離線建模和在線檢測兩部分?;贒GLPP-SVDD算法的故障檢測流程如圖3所示。 離線建模流程如下: a. 載入正常工況和故障工況數(shù)據(jù)組成訓(xùn)練集,求取正常數(shù)據(jù)的平均值和標(biāo)準(zhǔn)差,然后對整個數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理。 b. 設(shè)置相關(guān)參數(shù),構(gòu)造3個圖結(jié)構(gòu),采用DGLPP算法求取降維轉(zhuǎn)換矩陣A。求取整個數(shù)據(jù)集的低維投影數(shù)據(jù)Y=AX和正常數(shù)據(jù)的低維投影數(shù)據(jù)Y=AX。 c. 用Y作為SVDD算法的訓(xùn)練集,訓(xùn)練SVDD算法模型,得到超球面中心和半徑。 在線檢測流程如下: a. 載入測試數(shù)據(jù)x,并用離線建模時的平均值和標(biāo)準(zhǔn)差進(jìn)行標(biāo)準(zhǔn)化; b. 獲得測試數(shù)據(jù)x在低維空間中的表示Y=AX; c. 將Y作為已訓(xùn)練好的SVDD算法測試集,計算樣本點到超球面中心的統(tǒng)計量D,并判斷是否超過控制限。 3 仿真與結(jié)果分析 3.1 實驗數(shù)據(jù)集 TE過程是美國伊斯曼公司根據(jù)真實化工過程開發(fā)的一個仿真平臺,其產(chǎn)生的數(shù)據(jù)具有時變、強(qiáng)耦合和非線性特征,廣泛用于測試復(fù)雜工業(yè)過程的控制和故障診斷模型[17~19]。TE過程主要由反應(yīng)器、冷凝器、氣液分離塔、壓縮機(jī)和汽提塔5部分組成,其工藝流程如圖4所示。TE生產(chǎn)過程主要由4種氣態(tài)物料參與反應(yīng),分別為A、C、D和E,生產(chǎn)出兩種產(chǎn)品G、H,并伴有一種副產(chǎn)品F,此外在產(chǎn)品的進(jìn)料中會含有少量的惰性氣體B。生產(chǎn)過程為:首先將物料A、C、D、E送入反應(yīng)器,然后將產(chǎn)物送入冷凝器,冷凝后的產(chǎn)物進(jìn)入汽液分離器,氣相組分經(jīng)壓縮機(jī)循環(huán)后進(jìn)入反應(yīng)器,液相組分進(jìn)入汽提塔與剩余的反應(yīng)物分離,然后分離得到產(chǎn)物G和H。 TE過程包括22個過程測量變量、19個成分測量變量和12個操作變量,具體變量描述可見文獻(xiàn)[18]。TE仿真控制系統(tǒng)中共預(yù)設(shè)有21種不同的故障,全部故障描述可見文獻(xiàn)[19]。筆者選取與文獻(xiàn)[19]相同的34個變量用于構(gòu)建監(jiān)控模型,即22個過程測量變量和12個操作變量。使用廣泛采用的數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,此數(shù)據(jù)集中包括正常工況的仿真數(shù)據(jù)和21類故障數(shù)據(jù)。每類數(shù)據(jù)包括480個樣本點的訓(xùn)練集和960個樣本點的測試集,故障測試集中從第161個樣本處引入故障,樣本點的采樣間隔為3 min。 3.2 仿真設(shè)置及結(jié)果分析 在GLPP降維算法的基礎(chǔ)上加以改進(jìn)得到DGLPP降維算法,并與文獻(xiàn)[19]中的GLPP-T2和GLPP-SPE算法作對比,即通過在GLPP降維后的主元空間建立T2統(tǒng)計量和在殘差空間中建立SPE統(tǒng)計量,研究筆者算法在TE過程上的故障檢測性能。根據(jù)文獻(xiàn)[19]對GLPP故障檢測算法做相同的設(shè)置,k1近鄰數(shù)目設(shè)為10,降維后保留16個維度;熱核參數(shù)t設(shè)為距離平均值;設(shè)定T2和SPE控制限的置信度為99%。為定量對比,對DGLPP做相似的參數(shù)設(shè)置,類內(nèi)k近鄰數(shù)目設(shè)為10,類間k近鄰數(shù)目設(shè)為20,降維后保留16個維度;t設(shè)為距離平均值;設(shè)定SVDD算法中高斯核參數(shù)為8,參數(shù)C=0.05。為了對比DGLPP與GLPP的故障檢測性能,筆者采用故障檢測滯后時間、故障檢測率(FDR)和故障誤報率(FAR)來表征對TE過程中21個故障的檢測性能。其中,故障檢測滯后時間是指故障發(fā)生后到第1次檢測出故障的時間,F(xiàn)DR是指檢測出來的故障樣本數(shù)占總故障樣本數(shù)的比值,F(xiàn)AR是指正常數(shù)據(jù)中誤報的樣本個數(shù)占正常數(shù)據(jù)的比值。TE過程21個故障的故障檢測滯后時間、FAR和FDR見表1。已有研究證明,故障3、9、15難以通過數(shù)據(jù)驅(qū)動方法進(jìn)行檢測,故在表1中記錄了去除這3個故障后的平均值(平均值*)。 從表1可以看出,對于易于檢測的故障(如故障1、2、6、7、8、13、14),3種方法的故障檢測率都比較高。對于GLPP-T2和GLPP-SPE難以檢測的故障(如故障4、11、19),采用DGLPP-SVDD可以有更高的故障檢測率。對于所有方法來說,檢測故障3、9、15都是極其困難的,這是因為它們對測量變量的平均值、方差或峰值時間影響很小??傮w來看,DGLPP-SVDD算法的平均故障誤報率相比于GLPP-T2和GLPP-SPE算法有一定上升,但從提高故障檢測率效果來看,代價是可以接受的。DGLPP-SVDD算法有更高的故障檢測率和更短的故障檢測滯后時間,這是因為在提取正常數(shù)據(jù)和故障數(shù)據(jù)間的判別信息后對故障更加敏感。 筆者選擇故障5(階躍故障)、故障10(隨機(jī)故障)和故障19(未知故障)進(jìn)行具體分析對比,檢測結(jié)果如圖5~7所示。故障5的原因是由于冷凝器冷卻水進(jìn)口溫度發(fā)生階躍變化。該變化導(dǎo)致系統(tǒng)增加冷凝器冷卻水流速以補(bǔ)償溫度變化。此外,當(dāng)故障發(fā)生時從冷凝器到分離器的物料流速也發(fā)生變化,這進(jìn)一步增加了分離器中的溫度。然而控制回路可以補(bǔ)償這種變化,使得分離器溫度可以在大約第360個采樣之后返回到初始設(shè)定點。從圖5可以看出,GLPP-T2算法可以在第161個樣本點檢測到故障,并且可以一直持續(xù)報警。GLPP-SPE算法可以在第161個樣本點檢測到故障,但受到TE工藝的閉環(huán)反饋特性影響,在第360個采樣點之后無法對故障實現(xiàn)有效檢測。DGLPP-SVDD算法可以在第161個采樣點檢測到故障,并且可以持續(xù)檢測故障。 圖5 故障5檢測結(jié)果 圖6 故障10檢測結(jié)果 圖7 故障19檢測結(jié)果 故障10的原因是物料C的溫度發(fā)生隨機(jī)變化,由于物料C被送入汽提塔,故該故障導(dǎo)致汽提塔溫度持續(xù)波動。汽提塔蒸汽閥通過改變整個過程中的開度來緩解汽提塔溫度變化,這意味著該故障影響系統(tǒng)操作條件動態(tài)變化,故檢測結(jié)果也是上下波動變化。從圖6可以看出,GLPP-T2算法可以在第175個采樣點處檢測到故障,DGLPP-SVDD算法可以在第166個樣本點檢測到故障,從故障檢測延遲角度看,DGLPP-SVDD算法效果更優(yōu)。從故障檢測率角度看,DGLPP-SVDD算法和GLPP-T2算法都可以檢測出該故障,而GLPP-SPE算法的故障檢測率卻很低。 故障19為未知故障,無法從工藝機(jī)理上進(jìn)行分析。從圖7可以看出,GLPP-T2和GLPP-SPE算法在故障19發(fā)生后基本檢測不到;DGLPP-SVDD算法可以在第161個采樣點處檢測到故障19,并可以對其持續(xù)檢測報警到結(jié)束,故障檢測率較高。 4 結(jié)束語 筆者提出了基于判別全局局部保留投影-支持向量數(shù)據(jù)描述的故障檢測算法。DGLPP降維算法是在GLPP的基礎(chǔ)上擴(kuò)展而來,解決了傳統(tǒng)GLPP不能利用先驗故障數(shù)據(jù)的問題。DGLPP通過構(gòu)建3個圖結(jié)構(gòu)同時保留數(shù)據(jù)的局部信息、全局信息和基于故障樣本的判別信息,提取到有利于后續(xù)故障檢測的低維特征,在數(shù)據(jù)降維后利用SVDD算法處理非高斯數(shù)據(jù)的優(yōu)勢構(gòu)建監(jiān)控統(tǒng)計量,提高了算法的故障檢測性能。在TE過程仿真平臺上與GLPP算法進(jìn)行對比,結(jié)果證明了DGLPP-SVDD有更高的故障檢測率和更短的檢測滯后時間。提出的圖嵌入框架下的改進(jìn)策略,可為其他故障檢測方法提供改進(jìn)思路。 參 考 文 獻(xiàn) [1] 姚羽曼,羅文嘉,戴一陽.數(shù)據(jù)驅(qū)動方法在化工過程故障診斷中的研究進(jìn)展[J].化工進(jìn)展,2021,40(4):1755-1764. [2] RUSSELL E L,CHIANG L,BRAATZ R D.Fault detection in industrial processes using canonical variate analysis and dynamic principal component analysis[J].Chemometrics and Intelligent Laboratory Systems,2000,51(1):81-93. [3] DENG X G,TIAN X M,CHEN S,et al.Fault discriminant enhanced kernel principal component analysis incorporating prior fault information for monitoring nonlinear processes[J].Chemometrics and Intelligent Laboratory Systems,2017,162:21-34. [4] HE X F,NIYOGI P.Locality preserving projections[J].Advances in Neural Information Processing Systems,2003,16(1):186-197. [5] 張學(xué)磊,徐進(jìn)學(xué),祝朋艷.基于改進(jìn)核局部保持投影的故障檢測方法研究[J].計算機(jī)應(yīng)用與軟件,2022,39(5):115-124;131. [6] ZHONG F J,ZHANG J S,LI D F.Discriminant Locality Preserving Projections Based on L1-Norm Maximization[J].IEEE Transactions on Neural Networks and Learning Systems,2014,25(11):2065-2074. [7] LUO L J.Process monitoring with global-local preserving projections[J].Industrial & Engineering Chemistry Research,2014,53(18):7696-7705. [8] 徐靜,王振雷,王昕.基于非線性動態(tài)全局局部保留投影算法的化工過程故障檢測[J].化工學(xué)報,2020,71(12):5655-5663. [9] 徐靜,王振雷,王昕.基于DGLPP-SVDD算法的化工過程故障檢測[J].控制工程,2021,28(12):2462-2468. [10] LUO L J,BAO S Y,MAO J F,et al.Nonlinear process monitoring based on kernel global-local preserving projections[J].Journal of Process Control,2016,38:11-21. [11] BAO S Y,LUO L J,MAO J F,et al.Improved fault detection and diagnosis using sparse global-local preserving projections[J].Journal of Process Control,2016,47:121-135. [12] 郭小萍,尹瑞琛,李元.基于MDP-SVM的過程多類型故障診斷[J].電子測量技術(shù),2022,45(1):159-164. [13] 常書源,趙榮珍,陳博,等.基于邊界判別多流形分析的故障數(shù)據(jù)集降維方法[J].振動與沖擊,2021,40(23):120-126. [14] LUO L J,XU M,BAO S Y,et al.Improvements to the T2 statistic for multivariate fault detection[J].Industrial & Engineering Chemistry Research,2019,58(45):20692-20709. [15] TAX D M J,DUIN R P W.Support vector data description[J].Machine Learning,2004,54:45-66. [16] HUANG J,ERSOY O K,YAN X F.Fault detection in dynamic plant-wide process by multi-block slow feature analysis and support vector data description[J].ISA Transactions,2019,85:119-128. [17] 顧炳斌,熊偉麗.基于多塊信息提取的PCA故障診斷方法[J].化工學(xué)報,2019,70(2):736-749. [18] GE Z Q,SONG Z H.Distributed PCA model for plant-wide process monitoring[J].Industrial & Engineering Chemistry Research,2013,52(5):1947-1957. [19] HUANG C H,CHAI Y,LIU B W,et al.Industrial process fault detection based on KGLPP model with Cam weighted distance[J].Journal of Process Control,2021,106:110-121. (收稿日期:2023-03-28,修回日期:2024-01-23) Failure Detection in Chemical Process Based on DGLPP-SVDD Algorithm SUN Si-tong, LI Shi-qing (College of Automation and Electronic Engineering, Qingdao University of Science and Technology ) Abstract? Considering the fact that traditional global locality preserving projection(GLPP) algorithm fails to make full use of the existing failure data for feature extraction, a discriminant global locality preserving projection (DGLPP) algorithm was proposed. For purpose of dealing with the process data characteristics of Gaussian and non-Gaussian mixture distribution, The data dimension reduction was completed and the support vector data description(SVDD) algorithm was used to construct fault detection statistics, including having two algorithms combined to propose a fault detection method based on DGLPP-SVDD. Applying the DGLPP-SVDD algorithm to TE process simulation and compared with GLPP algorithm shows that, the DGLPP-SVDD algorithm has shorter fault detection lag time and higher fault detection rate. Key words? feature extraction, DGLPP-SVDD algorithm, graph embedding, failure detection, GLPP, SVDD