冀豐偲, 余云松, 張?jiān)缧?
(1. 西安交通大學(xué) 化學(xué)工程與技術(shù)學(xué)院, 陜西 西安 710049 2. 西安交通大學(xué) 動(dòng)力工程多相流國家重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 710049)
復(fù)雜化學(xué)工業(yè)的流程主要包括化工原料管理、生產(chǎn)加工工藝、設(shè)備運(yùn)行監(jiān)測和維修維護(hù)、廢棄物排放及應(yīng)急措施管理等環(huán)節(jié),表現(xiàn)為工藝、設(shè)備、儀表耦合多樣,高溫、高壓、深冷等極端環(huán)境頻發(fā),運(yùn)行工況和操作環(huán)境多變,從原料、中間體到成品,大多具有易燃易爆、毒性等化學(xué)危險(xiǎn)性,間接造成了化工行業(yè)事故的多發(fā)性和嚴(yán)重性。而回看化學(xué)工業(yè)的安全生產(chǎn)歷史,嚴(yán)重災(zāi)難的發(fā)生往往并不是一個(gè)孤立事件,盡管事故可能具有突發(fā)性和偶然性,卻常常是微小故障量積累和誘發(fā)的結(jié)果?;ば袠I(yè)作為按模式計(jì)劃生產(chǎn)且規(guī)則一貫式的作業(yè),工藝、設(shè)備等重復(fù)性的故障和風(fēng)險(xiǎn)是不可避免的。
在實(shí)際化工過程的數(shù)據(jù)采集系統(tǒng)中,各類傳感器可獲取豐富的數(shù)據(jù)信息,通過對比、分析正常運(yùn)行工況和不同故障模式下的數(shù)據(jù)即可實(shí)現(xiàn)基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷[1-2]。然而,高維度、海量的傳感器原始數(shù)據(jù)對基于數(shù)據(jù)驅(qū)動(dòng)的故障診斷方法造成了一定影響,稱為“維數(shù)災(zāi)難”。對高維數(shù)據(jù)直接進(jìn)行處理,不僅消耗計(jì)算資源,而且造成擬合模型精確度不足,背離了實(shí)際生產(chǎn)的需求。為解決這一問題,常用的數(shù)據(jù)特征提取和維度降低方法有獨(dú)立成分分析(independent component correlation algorithm, ICA)、主元分析(principal component analysis, PCA)、線性判別分析(linear discriminant analysis, LDA)等。ICA是一種從多維統(tǒng)計(jì)數(shù)據(jù)中尋找隱含變量的方法,其假設(shè)原始數(shù)據(jù)中隱變量彼此獨(dú)立,能有效提取過程數(shù)據(jù)中的多模態(tài)和非高斯特性,廣泛應(yīng)用于多工況過程[3]及化工過程[4]的數(shù)據(jù)降維和故障診斷中。但由于實(shí)際過程中數(shù)據(jù)分布規(guī)律往往較為復(fù)雜,呈現(xiàn)出高斯和非高斯關(guān)聯(lián)的情況,單一采用ICA貢獻(xiàn)度的診斷方法易導(dǎo)致準(zhǔn)確率不高。PCA是指在特征提取時(shí),使原始數(shù)據(jù)在投影子空間的各個(gè)維度的方差最大化。PCA及其改進(jìn)算法核主元分析(kernel principal component analysis, KPCA)在工業(yè)過程軟測量[5]和故障監(jiān)測診斷領(lǐng)域[6-8]取得了良好效果,但PCA是基于全局信息實(shí)現(xiàn),屬于非監(jiān)督學(xué)習(xí),在對數(shù)據(jù)本身完全無知的情況下,無法最大化地保留有價(jià)值信息并揭示不同類別數(shù)據(jù)的本質(zhì)特征。而LDA方法已廣泛應(yīng)用于滾動(dòng)軸承[9]和復(fù)雜工業(yè)[10]等領(lǐng)域的故障診斷和回歸預(yù)測。郭金玉等[11]將基于局部Fisher判別分析(local fisher discriminant analysis, LFDA)算法應(yīng)用于TE (Tennessee Eastman)過程,使用K近鄰(K-nearest-neighbor, KNN)算法將映射至特征子空間的原始數(shù)據(jù)進(jìn)行故障分類,提高了傳統(tǒng)方法的靈敏性和準(zhǔn)確性。馬立玲等[12]提出一種基于改進(jìn)核Fisher的故障分類的方法,有效改善了核 Fisher 的投影效果,并減少了故障樣本的診斷錯(cuò)誤率,同樣在TE化工仿真過程得以驗(yàn)證。以上方法主要是針對LDA算法本身進(jìn)行特定優(yōu)化,用于直接對多模態(tài)故障數(shù)據(jù)進(jìn)行特征子空間投影,以達(dá)到明顯的多模態(tài)故障分類效果,而后通過分類算法輔助提升故障檢測的準(zhǔn)確率,是將LDA方法直接用于診斷,而非探究其對數(shù)據(jù)預(yù)處理的作用,未研究不同投影維度數(shù)對故障診斷準(zhǔn)確率及靈敏度的影響。為此,本文提出一種基于線性判別分析與支持向量機(jī)(support vector machine, SVM)融合的化工過程故障診斷方法,利用化工領(lǐng)域工程師對歷史故障的評判、分析、歸類等先驗(yàn)知識(shí),將LDA用于原始數(shù)據(jù)的預(yù)處理階段,剔除冗余信息,使用低維故障樣本作為SVM的輸入值,同時(shí)結(jié)合網(wǎng)格搜索法與K折交叉驗(yàn)證理論,建立高精度故障診斷模型,從而及時(shí)、準(zhǔn)確地排除重復(fù)性隱患。同時(shí)應(yīng)用TE化工仿真過程的測試結(jié)果驗(yàn)證該法的有效性。
LDA,又稱Fisher判別分析,是一類有監(jiān)督學(xué)習(xí)的分類和降維方法,能夠有效利用原始數(shù)據(jù)的類別信息,進(jìn)行準(zhǔn)確的特征提取,通過尋求投影變換,達(dá)到類間相異度高,類內(nèi)相似度高的效果,使得它在特征提取方面更加高效[13]。
如圖1所示,給定訓(xùn)練集樣本數(shù)據(jù),設(shè)法將原始數(shù)據(jù)投影到一條直線上。選擇不同直線w得到的映射效果不同。LDA方法需要找到這樣一條直線,使得同類樣例的投影點(diǎn)盡可能接近,異類樣例的投影點(diǎn)盡可能遠(yuǎn)離,從而有效地解決多分類的問題。
圖1 LDA映射原理 Fig.1 LDA mapping method
假定存在N類樣本,xi表示第i類樣本的集合,且第i類樣本的示例數(shù)為mi,yi則表示第i類樣本經(jīng)投影后的集合,原始數(shù)據(jù)樣本表示為x = {x1, x2, …, xN},LDA投影后的樣本表示為y = {y1, y2, …, yN}。 樣本的均值向量μ為
定義樣本的全局散度矩陣St為
其中Sw是類內(nèi)散度矩陣,Sb是類間散度矩陣。
樣本的類內(nèi)離散度矩陣Sw為
則樣本的類間散度矩陣Sb為
采用Fisher準(zhǔn)則函數(shù)優(yōu)化:
通過廣義特征值問題求解Fisher準(zhǔn)則函數(shù)的最大值為
由于投影矩陣W的閉式解是 Sw#-1Sb前d個(gè)最大非零廣義特征值所對應(yīng)的特征向量組成的矩陣,且d #≤# N -1,從而實(shí)現(xiàn)了原始數(shù)據(jù)的維度降低。
支持向量機(jī)作為一種基于統(tǒng)計(jì)學(xué)習(xí)理論的機(jī)器學(xué)習(xí)算法,在諸如模式識(shí)別[14]等領(lǐng)域有廣泛應(yīng)用。SVM通過尋求結(jié)構(gòu)風(fēng)險(xiǎn)最小化,以提高模型的學(xué)習(xí)泛化能力,實(shí)現(xiàn)經(jīng)驗(yàn)風(fēng)險(xiǎn)和置信范圍權(quán)衡下的最優(yōu)化,從而獲取全局最優(yōu)解。故障診斷的本質(zhì)是一個(gè)分類問題,原始故障數(shù)據(jù)的產(chǎn)生即為監(jiān)督學(xué)習(xí)的過程,因此,基于SVM相關(guān)的方法同樣在工業(yè)軟測量[15]、故障診斷[16-17]等領(lǐng)域得到了廣泛的關(guān)注。
支持向量機(jī)的核心思想是在高維特征空間中找到一個(gè)令樣本數(shù)據(jù)線性分開的劃分超平面,使得正反兩類數(shù)據(jù)之間的距離最大化。對于在樣本空間中線性可分的二類問題,假設(shè)給定訓(xùn)練樣本集 D = {(x1, y1), (x2, y2), …, (xm, ym)},yi∈{-1, +1},劃分超平面通過如下線性方程描述:
其中W = (w1; w2; …; wd)為法向量,b為位移項(xiàng)。欲尋找“最大間隔”的超平面,可轉(zhuǎn)化為求解以下約束優(yōu)化式:
引入拉格朗日乘子αi≥ 0可得到其對偶問題,即
其中α = (α1; α2; …; αm)。根據(jù)Karush-Kuhn-Tucker (KTT)條件求解此二次規(guī)劃問題,最終的分類模型函數(shù)為
在樣本數(shù)據(jù)非線性的情況下,可通過引入預(yù)先定義好的內(nèi)積函數(shù)將數(shù)據(jù)從原始空間映射到高維特征空間,從而將線性學(xué)習(xí)器拓展為非線性學(xué)習(xí)器。預(yù)先定義好的內(nèi)積函數(shù)稱為核函數(shù),應(yīng)用不同的核函數(shù)構(gòu)造的支持向量機(jī)性能不同[18],常用的核函數(shù)有以下幾類:
(1) Linear線性核函數(shù)
(2) Polynomial多項(xiàng)式核函數(shù)
(3) Radial basis function(RBF)高斯徑向核函數(shù)
(4) Sigmoid核函數(shù)
網(wǎng)格搜索法[19](grid search, GS)是一種調(diào)整模型超參數(shù)的方法,屬于窮舉類算法。其原理是在所有候選參數(shù)中,通過在一定范圍內(nèi)劃分網(wǎng)格,遍歷循環(huán)網(wǎng)格內(nèi)所有點(diǎn),嘗試每一種可能性,并計(jì)算其約束函數(shù)和目標(biāo)函數(shù)的值。對滿足約束條件的點(diǎn),逐個(gè)比較其目標(biāo)函數(shù)的值,拋棄壞的點(diǎn),保留好的點(diǎn),最后得到最優(yōu)解的近似解。
K折交叉驗(yàn)證[19](K-fold cross validation, K-CV)原理是隨機(jī)地將已給數(shù)據(jù)切分為K組互不相交、規(guī)模相同的子集,然后利用K-1個(gè)子集的數(shù)據(jù)作為訓(xùn)練集,余下的一個(gè)子集作為測試集,即可獲得K組訓(xùn)練集/測試集,最后返回使得K組測試結(jié)果中平均誤差最小的一組超參數(shù)。
SVM模型擁有眾多可調(diào)參數(shù),且這些參數(shù)對模型最終結(jié)果起著關(guān)鍵作用。因此,對SVM進(jìn)行參數(shù)尋優(yōu)十分必要。為了評價(jià)每次選出參數(shù)的好壞,需要選擇評價(jià)指標(biāo),這里選取查準(zhǔn)率(accuracy)為評價(jià)指標(biāo)。同時(shí),為了避免初始數(shù)據(jù)劃分對結(jié)果的影響,引入交叉驗(yàn)證方式減少偶然性,這里采用網(wǎng)格搜索和K折交叉驗(yàn)證相結(jié)合的方法。
TE過程是美國Tennessee Eastman化學(xué)公司提出的一個(gè)實(shí)際化工過程的仿真數(shù)據(jù)集[20],廣泛用于化工過程故障診斷的模擬研究驗(yàn)證。TE過程主要分為反應(yīng)器、冷凝器、壓縮機(jī)、分離器和汽提塔5個(gè)單元,包括A、B、C、D、E、F、G和H等8種主要成分,有41個(gè)測量變量和12個(gè)控制變量,共53個(gè)測量變量,預(yù)設(shè)21類故障,其中16類已知型故障和5類未知型故障。
故障1~7為階躍干擾,例如冷卻水入口溫度或者進(jìn)料成分的變化;故障8~12為隨機(jī)變化型干擾;故障13是反應(yīng)動(dòng)力學(xué)中的緩慢漂移干擾;故障14和15為堵塞型干擾;故障16~21為未知型干擾。
選取正常工況、故障1、5、7、12和17作為研究對象,涵蓋了常見的階躍、隨機(jī)以及未知干擾型的故障類型,如表1所示。
表1 運(yùn)行模式描述[20] Table 1 Different operating modes [20]
在訓(xùn)練集中,穩(wěn)態(tài)無故障運(yùn)行的仿真周期為48 h,采樣時(shí)間間隔為3 min,產(chǎn)生觀測值960組;故障運(yùn)行的仿真周期為48 h,故障在8 h的時(shí)候引入,共采集960個(gè)觀測值,其中后800個(gè)觀測值為故障數(shù)據(jù)。本文選取訓(xùn)練數(shù)據(jù)集為正常工況800 × 52,故障工況5 × 800 × 52,其中5指5類故障模式、800指樣本數(shù),52指變量數(shù)。在測試集中,穩(wěn)態(tài)無故障運(yùn)行的仿真周期為25 h,產(chǎn)生樣本500組;故障運(yùn)行的仿真周期為24 h,共有480個(gè)觀測值。故本文選取測試數(shù)據(jù)集為正常工況500 × 52,故障工況5 × 480 × 52。
(1) 數(shù)據(jù)收集和預(yù)處理。從TE過程獲取原始數(shù)據(jù)并劃分為訓(xùn)練集和測試集,將包括相應(yīng)故障數(shù)據(jù)標(biāo)簽的訓(xùn)練集與測試集分別組合,產(chǎn)生訓(xùn)練數(shù)據(jù)集矩陣4 800 × 52,測試數(shù)據(jù)集矩陣2 900 × 52,是正常運(yùn)行工況和五類故障數(shù)據(jù)的并集。診斷流程見圖2。 (2) 特性提取和數(shù)據(jù)降維。將訓(xùn)練集數(shù)據(jù)通過LDA算法投射到低維特征空間,進(jìn)行故障特征提取,并將正常工況和5組故障類型由52維度降低至不超過5維,可視化特征提取效果并初步分析。為了說明在建立SVM模型前引入LDA的優(yōu)勢,對6組運(yùn)行工況的數(shù)據(jù)進(jìn)行維度可視化處理。圖3(a)表示六類運(yùn)行工況52維度原始數(shù)據(jù)混合疊加在一起,基本無法辨識(shí),而數(shù)據(jù)經(jīng)過LDA處理后的數(shù)據(jù)聚散情況較為分明,如圖3(b)~(d)所示,分別是將原始數(shù)據(jù)壓縮降低至5維度、4維度、3維度下的部分?jǐn)?shù)據(jù)2D分布散點(diǎn)圖。顯然,低維的數(shù)據(jù)集群清晰可分,存在一定規(guī)律性,意味著LDA算法在故障特征提取中有著較好的性能。
圖2 故障診斷流程 Fig.2 Fault diagnosis flowchart
圖3 數(shù)據(jù)維度可視化 Fig.3 Data dimension visualization
(3) 設(shè)計(jì)SVM,通過訓(xùn)練集數(shù)據(jù)準(zhǔn)確擬合出故障診斷模型。在模型建立后初步對訓(xùn)練數(shù)據(jù)維度數(shù)和準(zhǔn)確率的關(guān)系進(jìn)行趨勢研究。如圖4所示,可以看出特征提取后數(shù)據(jù)為5維度時(shí),診斷準(zhǔn)確率最為優(yōu)良。因此,確定LDA算法的投射維度為5。
圖4 數(shù)據(jù)維度與準(zhǔn)確率的關(guān)系 Fig.4 Effect of data dimension on accuracy
圖5 SVM參數(shù)優(yōu)化 Fig.5 SVM parameter optimization
(4) 通過網(wǎng)格搜索法及K折交叉驗(yàn)證,搜索最佳的SVM模型。超參數(shù)懲罰系數(shù)C和核函數(shù)系數(shù)γ值的不同將影響SVM故障診斷方法的性能,將訓(xùn)練集通過對K折交叉驗(yàn)證法劃分出一部分作為驗(yàn)證集,進(jìn)行參數(shù)搜索,以期得到最佳性能。由圖3可知,5維度下的故障數(shù)據(jù)耦合交織在一起,呈非線性分布,故SVM模型采用RBF核函數(shù),以解決非線性多分類的故障診斷問題。如圖5所示,在約束條件內(nèi)通過網(wǎng)格搜索法得到RBF核函數(shù)下的最優(yōu)超參數(shù)組合為{C = 4.7,γ = 0.14}。此時(shí)在訓(xùn)練集上的識(shí)別準(zhǔn)確率達(dá)到95.8%,大幅優(yōu)于默認(rèn)參數(shù)。
(5) 輸入LDA處理后的測試集數(shù)據(jù)并可視化故障診斷結(jié)果,在測試集上的故障診斷準(zhǔn)確率達(dá)到93.9%,效果良好,未產(chǎn)生明顯的欠擬合或過擬合效應(yīng)。在機(jī)器學(xué)習(xí)中,混淆矩陣是以一個(gè)特定的矩陣呈現(xiàn)算法性能的可視化效果,能夠刻畫分類器的分類準(zhǔn)確程度。矩陣每列代表預(yù)測值,每行代表的是實(shí)際類別。對于正常工況、故障1、5、7、12和17聯(lián)合診斷結(jié)果如圖6混淆矩陣所示。以圖中第2行為例,其橫坐標(biāo)為1,是指對在以故障1模式下仿真運(yùn)行的480組數(shù)據(jù)進(jìn)行故障診斷,判斷為故障1的正確結(jié)果有471組數(shù)據(jù)、為正常工況0的有3組數(shù)據(jù)、為故障12
的有6組數(shù)據(jù),故僅針對故障1識(shí)別率達(dá)到了98.1%。
結(jié)合LDA特征提取,基于GS參數(shù)優(yōu)化和K折交叉驗(yàn)證的SVM故障診斷方法在TE過程仿真中取得了較好的效果。另外,同樣對比引入網(wǎng)格搜索方法和K折交叉驗(yàn)證后,在最優(yōu)參數(shù)選取下的單一SVM和PCA_SVM算法,有計(jì)算速度快、故障診斷準(zhǔn)確率更高的優(yōu)勢,如表2所示。
圖6 故障診斷混淆矩陣 Fig.6 Confusion matrix of fault diagnosis
表2 故障診斷方法對比 Table 2 Comparison of fault diagnosis methods
通過將LDA與SVM融合方法應(yīng)用于化工過程多分類故障診斷中,最大限度地利用已有故障的先驗(yàn)知識(shí),在保留故障特征的條件下,采用LDA有效降低了化工過程高維數(shù)據(jù)。然后應(yīng)用GS方法和K折交叉驗(yàn)證搜索并建立最佳超參數(shù)的SVM模型,從而迅速、精準(zhǔn)地定位類似重復(fù)故障所在,及時(shí)地保障安全生產(chǎn)。以TE化工仿真過程中混合正常工況和五類故障模式下的原始高維數(shù)據(jù)進(jìn)行驗(yàn)證,新方法對5類運(yùn)行模式下的故障平均診斷率達(dá)到93.9%;同時(shí),與SVM、PCA_SVM方法相比,故障識(shí)別率有一定提升,收斂速度也相對加快,表明該方法能有效解決復(fù)雜化工過程中的故障診斷問題。
符號(hào)說明:
b — 位移項(xiàng)
D — 樣本訓(xùn)練集合
d — 最大非零廣義特征值的數(shù)目,d ≤ N -1
mi— 第i類樣本的示例數(shù)
N — 樣本的分類數(shù)
r — 多項(xiàng)式核函數(shù)常量參數(shù)
Sb— 類間散度矩陣
St— 全局散度矩陣
Sw— 類內(nèi)散度矩陣
W — 投影矩陣,W ∈ Rd*(N-1)
WT— 投影矩陣的轉(zhuǎn)置矩陣
w — 法向量
xi— 第i類樣本的集合
yi— 第i類樣本經(jīng)過投影后的集合
αi— 拉格朗日乘子
γ — 核函數(shù)常量參數(shù)
μ — 均值向量