郭金玉, 王 霞, 李 元
(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)
在現(xiàn)代工業(yè)生產(chǎn)高度智能化的時代背景下,我國致力于先進科學(xué)技術(shù)的發(fā)展與工業(yè)生產(chǎn)自動化的提升,現(xiàn)代化的工業(yè)過程普遍向智能化、多維度、大規(guī)模和高自動化水平方向靠攏。這些特點是提高控制系統(tǒng)穩(wěn)定性的關(guān)鍵,為工業(yè)生產(chǎn)過程的安全性提供保障。近幾年,基于數(shù)據(jù)驅(qū)動的多元統(tǒng)計分析方法被國內(nèi)外許多學(xué)者深入研究,并且在工業(yè)過程領(lǐng)域取得快速發(fā)展[1-4]。在我國,大多數(shù)行業(yè)通過將設(shè)備狀態(tài)監(jiān)控與故障診斷手段相結(jié)合運用到實際生產(chǎn)過程中。如今故障檢測(fault detection,FD)已經(jīng)成為工業(yè)生產(chǎn)過程監(jiān)控必不可少的手段,故障診斷方法通??煞譃?類,即基于數(shù)學(xué)模型、基于知識、基于數(shù)據(jù)驅(qū)動和基于集合型故障診斷方法。其中數(shù)據(jù)驅(qū)動方法[5]采用統(tǒng)計分析、機器學(xué)習(xí)和深度學(xué)習(xí)建立故障診斷模型。這些方法大大提升了自動控制系統(tǒng)的穩(wěn)定性,確保工業(yè)生產(chǎn)過程穩(wěn)定運行。
非線性已經(jīng)成為現(xiàn)代實際生產(chǎn)過程的一個普遍且明顯的特征,這使得如何有效地提取工業(yè)過程中的非線性信息成為故障診斷技術(shù)的重要內(nèi)容。其中多元統(tǒng)計過程控制(multivariate statistical process control, MSPC)是計算機輔助在線過程監(jiān)控進行故障檢測的基本工具之一[6]。MSPC通常通過整合技術(shù)來降低數(shù)據(jù)維數(shù),如主元分析(principal component analysis, PCA)和獨立元分析(independent component analysis, ICA)。主元分析將原始數(shù)據(jù)轉(zhuǎn)換為主元,并使用T2和Q等統(tǒng)計數(shù)據(jù)來監(jiān)測該過程。Kresta等[7]證明了主元分析和偏最小二乘法的有效性,并且對核主元分析(kernel principal component analysis, KPCA)無需進行非線性優(yōu)化做出相關(guān)說明。主元分析不可避免地存在局限性,因為主元分析關(guān)于數(shù)據(jù)分布的的假設(shè)不適用于實際的工業(yè)過程。基于這樣的假設(shè),主元分析提取的變量符合高斯分布,而許多實際工業(yè)過程中主元分析提取的變量很少符合高斯分布。為了提高非高斯過程的故障檢測效果,Kano等[8]將獨立元分析應(yīng)用于故障檢測領(lǐng)域。ICA算法主要思想是假設(shè)原始樣本之間相互獨立,不要求數(shù)據(jù)服從高斯分布,使每個分量最大化獨立,便于提取非高斯過程的隱藏信息,以此來提高故障檢測的性能。近年來,有研究者提出幾種使用獨立元分析進行過程監(jiān)控的方法,如動態(tài)獨立元分析和核獨立元分析。動態(tài)獨立元分析考慮過程的動態(tài)性,而核獨立元分析[9]被用來處理非線性過程。關(guān)于獨立元分析的大多數(shù)研究都假設(shè)該過程僅由非高斯?jié)撛谧兞框?qū)動。然而,Ge等[10]提出實際過程總是同時存在高斯和非高斯變量??傊?獨立元分析也有局限性,它假設(shè)提取的變量服從非高斯分布。主元分析和獨立元分析都有一個共同的限制,即假設(shè)特定的數(shù)據(jù)分布很難滿足實際工業(yè)中的數(shù)據(jù)分布特征。
本文為了克服現(xiàn)有方法存在的數(shù)據(jù)分布假設(shè)不當(dāng)而造成的局限性,提出一種新的過程監(jiān)控方案,該方案將ICA和局部離群因子(local outlier factor,LOF)相結(jié)合,以提高工業(yè)過程監(jiān)控的故障診斷性能。所提出的方案具有以下優(yōu)點:它不必假設(shè)監(jiān)控變量的具體分布,因此它可以處理高斯和非高斯混合分布的潛在變量;由于LOF可以在潛在變量空間中確定非線性決策邊界以及無控點,所以與現(xiàn)有方法相比可以更精確地估計控制限,從而可以減少第2類誤差。
提到獨立元分析(ICA)算法就會想到著名的“雞尾酒會”問題,Kim等[11]首先提出ICA的相關(guān)概念,并且簡單地對ICA進行了一系列的描述,認為ICA是從復(fù)雜的線性混合變量中分離出原始的獨立潛變量。如果用X和S分別表示混合變量和原始的獨立潛變量,它們的關(guān)系可以表示為
(1)
(2)
(3)
Q=eTe。
(4)
(5)
1.2局部離群因子算法(LOF)
本文采用LOF值(VLOF)作為基于ICA和LOF的監(jiān)測統(tǒng)計量,以實現(xiàn)更優(yōu)的效果。由于VLOF的計算與數(shù)據(jù)的分布或聚類無關(guān),因此它對于高斯和非高斯混合潛在變量的過程監(jiān)控更為穩(wěn)健。因為VLOF決定控制限以及觀測值中潛變量的非線性邊界,所以可以減小第2類誤差,這樣LOF就比馬氏距離更適合與基于ICA的過程監(jiān)測相結(jié)合。
大部分的離群點檢測算法都是通過密度、夾角、距離或者劃分超平面來決定異常點。這些方法都是從度量數(shù)據(jù)點相似度的角度出發(fā)來判斷哪些數(shù)據(jù)是異常值。LOF 算法是建立在數(shù)據(jù)點密度基礎(chǔ)之上的一種離群點檢測算法,準確度高[14]。
Breuning等[15]最早提出局部離群因子的概念,通過給每個數(shù)據(jù)點分配一個依賴于鄰域密度的離群因子來定量分析其離群程度,進而有效地判斷樣本中數(shù)據(jù)點是否為離群點。LOF方法的優(yōu)點在于通過近鄰距離的計算,能夠消除非線性、多模態(tài)特性等對數(shù)據(jù)的影響,使數(shù)據(jù)集融合為單模態(tài)數(shù)據(jù);相對密度的計算能夠調(diào)整數(shù)據(jù)的疏密程度使各模態(tài)數(shù)據(jù)的方差近似相等[16]。
LOF算法的具體步驟如下。
1) 計算k-距離。計算第k個最近的物體與物體p的歐幾里德距離并定義為k-距離,其中參數(shù)k是近鄰的數(shù)量。
2) 構(gòu)造p的k-近鄰集。集合TkNN(p)由距離p的k-距離內(nèi)的對象構(gòu)造。
3) 計算p的可達距離。TkNN(p)中p到對象o的可達性距離計算為
rdk(p,o)=max{kd(o),d(p,o)},
式中,d(p,o)是p到o的歐幾里德距離。
4) 計算p的局部可達性密度(local reachability density, LRD)。定義為DLRk(p),
(6)
5) 計算p的LOF值。p的LOF值定義為VLOF(p),
(7)
式中,VLOF(p)是TkNN(p)的平均密度與p的密度之比,當(dāng)其值小于1時,p不是孤立的離群點,反之,p是一個孤立的離群點。Lazarevic等[17]比較了包括LOF、最近鄰法、馬哈拉諾比斯法和無監(jiān)督支持向量機算法(support vector machine, SVM)在內(nèi)的離群點檢測算法的能力,表明LOF算法最好。
基于ICA和LOF的故障檢測包括2個部分:離線建模和在線故障診斷,其檢測流程圖如圖1所示。
1) 離線模型建立。
① 采集訓(xùn)練數(shù)據(jù)集X,利用均值和方差進行標準化;
② 建立ICA模型,獲取獨立元;
③ 運用LOF模型剔除離群點;
④ 重新建立數(shù)據(jù)集,并通過ICA選取新的獨立元S;
⑤ 對時刻t的獨立元S(t),加入時滯輸入特性S(t-1)和時差輸入特性S(t)-S(t-1),生成增廣矩陣Snormal,
Snormal=[S(t),S(t-1),S(t)-S(t-1)];
(8)
⑥ 運用式(7)計算LOF值;
⑦ 運用核密度估算LOF的控制限。
2) 在線故障檢測。
① 測試數(shù)據(jù)Xnew運用離線建模數(shù)據(jù)的均值和方差進行標準化;
圖1 基于ICA和LOF的故障檢測流程圖Fig.1 Flow chart of fault detection based on ICA and LOF
② 標準化后的測試數(shù)據(jù)投影到ICA模型上,獲取新的獨立元Snew;
③ 對時刻t的獨立元Snew(t),加入時滯輸入特性S(t-1)和時差輸入特性S(t)-S(t-1),將其生成增廣矩陣Stest;
④ 將增廣矩陣Stest投影到LOF模型上,計算LOF值;
⑤ 通過LOF值與控制限的對比,檢測數(shù)據(jù)是否正常。
田納西-伊斯曼過程(Tennessee-Esatman, TE)是由Downs等[18]于1993年設(shè)計的模擬實際工業(yè)過程的仿真平臺,該數(shù)據(jù)集已廣泛用于優(yōu)化、預(yù)測控制、過程診斷和控制教育等研究,并取得許多先進科研成果[19-20]。
TE過程工藝復(fù)雜,具有數(shù)量龐大的變量。圖2是TE過程的工藝流程圖。
圖2 TE過程的工藝流程圖Fig.2 Flow chart of TE process
在實驗仿真中,使用TE過程生成的數(shù)據(jù),采用了Lee等[21]提出的過程設(shè)計,其中觀測變量由41個過程測量值和11個操作變量組成。首先對實驗數(shù)據(jù)進行標準化,以避免由于變量之間的標度差異而導(dǎo)致的不準確性問題。使用500個正常樣本組成訓(xùn)練集建立監(jiān)控模型,監(jiān)控21種故障。對于實時監(jiān)控階段,每種故障類型包含960個觀測值,故障在樣本161處引入。
采用TE過程的21個故障進行仿真測試來驗證算法的有效性。將500個正常樣本進行獨立主元分析,獲取獨立主元S,然后進行時滯和時差操作并將數(shù)據(jù)進行組合,得到訓(xùn)練數(shù)據(jù)集的增廣矩陣用于建立LOF模型,對測試數(shù)據(jù)進行檢測。以故障16和故障19為例,對比傳統(tǒng)的ICA、LOF和本文方法的檢測性能。故障16和19的檢測結(jié)果分別如圖3和圖4所示。
(a) ICA-I2d(b) ICA-I2e(c) ICA-Q(d) LOF(e) 本文方法
(a) ICA-I2d(b) ICA-I2e(c) ICA-Q(d) LOF(e) 本文方法
從圖3可以看出,LOF算法可以檢測出故障但是存在明顯的誤報,并且在引入故障數(shù)據(jù)后很多時刻的統(tǒng)計量均低于控制限,漏報情況十分明顯,這是因為LOF算法是一種基于密度的檢測算法,要求檢測的數(shù)據(jù)具有明顯的密度差異,而TE數(shù)據(jù)的密度差異較小,所以該算法對數(shù)據(jù)的異常檢測效果比較差。ICA的3個統(tǒng)計量都可以檢測出絕大部分的故障,但是也存在誤報。這是因為TE過程的數(shù)據(jù)是高斯與非高斯混合的分布,ICA能夠有效提取數(shù)據(jù)中的非高斯特征,無法提取數(shù)據(jù)的高斯特征,影響其檢測效果。本文算法的故障檢測效果優(yōu)于傳統(tǒng)的ICA和LOF,這是因為在建立模型之前剔除了數(shù)據(jù)中離群程度較高的數(shù)據(jù),運用獨立元空間的增廣矩陣降低樣本的自相關(guān)性,提高LOF模型的故障檢測效果。故障19的檢測效果(圖4)與故障16的檢測效果(圖3)類似,這3種算法都可以檢測出故障,但是每種算法都存在不同程度的誤報和漏報情況。ICA算法對故障19 的檢測效果略差于故障16,Q統(tǒng)計量的漏報情況十分明顯。Q統(tǒng)計量反映了在某一時刻測量值對模型的偏離程度,這表明在故障引入后,故障測量值明顯偏離了建立的模型,所以產(chǎn)生較為明顯的漏報情況。LOF算法對故障19的誤報少于故障16,但是漏報情況十分明顯。對比3種算法的仿真結(jié)果圖,本文算法的故障檢測效果明顯優(yōu)于傳統(tǒng)的ICA算法和LOF算法,并且誤報情況極不明顯,漏報情況相比于ICA和LOF算法較少,驗證了ICA-LOF算法的有效性。
本文運用故障檢測率來衡量算法的優(yōu)越性,表1是各種方法故障檢測率的對比。從表1中可以清楚看到,運用95%的控制限時,故障5、10、11、15、16、17、19、20和21的檢測率相較于其他方法,都有不同程度的提高。這是因為本文方法在建模之前運用離群因子算法剔除明顯孤立的異常點,然后通過獨立元分析算法提取混合變量中的非高斯獨立元構(gòu)建增廣矩陣,降低樣本間的自相關(guān)性,提高了LOF算法的故障檢測性能,更適合由高斯和非高斯混合分布的工業(yè)過程監(jiān)控。運用95%的控制限時,本文方法的平均故障檢測率為83.54%,而運用99%的控制限時,本文方法的平均故障檢測率為81.83%,高于其他2種方法,驗證了該方法的有效性。
表1 各種算法對TE過程故障檢測率對比Table 1 Comparison of fault detection rate of various algorithms on TE process 單位:%
本文提出一種基于ICA和LOF的故障檢測方法。通過ICA提取獨立主元,引入其時滯輸入特性和時差輸入特性,將3者組合成增廣矩陣作為LOF的輸入,運用LOF進行故障檢測。將此方法應(yīng)用到實際的TE過程中,仿真結(jié)果表明,與ICA、LOF方法比較,本文方法有效提高了故障檢測率,降低了誤報率,驗證了方法的有效性。這說明獨立主元分析預(yù)處理方案能夠有效地提取混合變量中的非高斯信息,同時基于獨立元空間增廣矩陣的LOF方法更適合于由高斯和非高斯混合分布的工業(yè)過程監(jiān)控。
本文主要研究基于ICA和LOF的算法在工業(yè)過程故障檢測中的應(yīng)用,但是該算法對微小故障的檢測效果較差,因此,下一步將繼續(xù)努力改進該算法并將其運用到微小故障檢測領(lǐng)域。