李博文, 宋文廣*, 李浩源, 趙安, 張秋娟, Qian Yu
(1.長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院, 荊州 434023; 2.Faculty of Engineering and Applied Science, University of Regina, Regina S4S0A2, Canada)
油田離心泵注水站規(guī)模龐大[1],一旦停運(yùn)不僅會(huì)增加職工勞動(dòng)量,同時(shí)會(huì)嚴(yán)重影響到生產(chǎn)效率,造成不可估量的損失。因此注水站必須保證高可靠性、高時(shí)率性地運(yùn)行。油田離心泵注水站已完成信息化建設(shè),實(shí)現(xiàn)了壓力、溫度、液位等生產(chǎn)參數(shù)的實(shí)時(shí)采集,由于注水站工作環(huán)境差、受磁場(chǎng)影響、儀表設(shè)備老化等因素,會(huì)產(chǎn)生不能反映設(shè)備真實(shí)情況的異常數(shù)據(jù),將引起系統(tǒng)的誤報(bào)警、誤動(dòng)作。
對(duì)于這種情況,國(guó)內(nèi)大多仍采取的是人工巡檢的方式進(jìn)行離心泵等設(shè)備異常的排查,也就是檢查設(shè)備的流程滲漏、閥門泄漏、設(shè)備運(yùn)行溫度、設(shè)備異響、振動(dòng)超標(biāo)等問題,浪費(fèi)資源的同時(shí)也無(wú)法保證檢測(cè)的精度,工作效率不高。而基于傳統(tǒng)統(tǒng)計(jì)學(xué)的異常檢測(cè)方法最常用的有閾值法、協(xié)方差分析和數(shù)據(jù)相關(guān)性分析。陳斌等[2]研究表明,閾值法無(wú)法表征所有的異常類型。楊宏印等[3]研究表明,相關(guān)性分析法對(duì)于一些參數(shù)同時(shí)發(fā)生變化的數(shù)據(jù)檢測(cè)效果不太理想。卓琳等[4]研究表明,協(xié)方差分析法對(duì)于周期時(shí)間長(zhǎng)或者周期性弱、數(shù)據(jù)量龐大情況效果不理想, 同時(shí)無(wú)法用于檢測(cè)注水站局部異常數(shù)據(jù)。近年來人工智能在異常檢測(cè)領(lǐng)域應(yīng)用十分廣泛, 因此嘗試?yán)脵C(jī)器學(xué)習(xí)算法進(jìn)行注水站異常檢測(cè)很有可能取得新的突破。目前主要用于異常檢測(cè)的機(jī)器學(xué)習(xí)算法有孤立森林算法(isolation forest algorithm,IForest)[5]、具有噪聲的基于密度的聚類方法(density-based spatial clustering of applications with noise,DBSCAN)[6]、局部離群因子算法(local outlier factor,LOF)[7]以及支持向量機(jī)算法(support vector machine,SVM)等。其中劉朝陽(yáng)等[8]研究表明,SVM根據(jù)數(shù)據(jù)的空間分布來求解最大邊距超平面,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的二元分類。SVM的優(yōu)點(diǎn)在于泛化性好,可以很好地應(yīng)用于解決小范圍樣本、非線性分類和高維模式識(shí)別等問題。
盡管在異常檢測(cè)研究中可以使用上述如SVM算法,憑借大量的異常數(shù)據(jù)樣本進(jìn)行有效的學(xué)習(xí)分類,獲得工業(yè)設(shè)備異常運(yùn)行時(shí)的特征表達(dá)。但是由于油田離心泵注水站設(shè)備昂貴,在實(shí)際生產(chǎn)活動(dòng)中很難獲取大量設(shè)備異常工作時(shí)的數(shù)據(jù)樣本,如國(guó)內(nèi)勝利油田等僅能夠從日常工作中獲得少量的反映設(shè)備異常的數(shù)據(jù)。同時(shí)注水站環(huán)境復(fù)雜,對(duì)于許多不可預(yù)見的異常很難進(jìn)行完全檢測(cè),也就造成了更大的資源投入與損耗。針對(duì)離心泵注水站數(shù)據(jù)存在異常樣本少且難以獲得,正常樣本多的問題,SVM等檢測(cè)方法存在一定的局限性,而單類支持向量機(jī)(one-class support vector machine, OC-SVM)只需要學(xué)習(xí)正樣本的特征表達(dá)就可以對(duì)測(cè)試樣本進(jìn)行精確的分類。由于OC-SVM對(duì)參數(shù)敏感度較高,難以快速確定確切的參數(shù)來反映特征空間中正常數(shù)據(jù)區(qū)域邊界的大小,可以對(duì)單類支持向量機(jī)參數(shù)進(jìn)行尋優(yōu)來提高檢測(cè)精度。如今應(yīng)用較為廣泛的有網(wǎng)格搜索、隨機(jī)搜索、布谷鳥搜索、粒子群搜索和遺傳算法等。其中馬恒等[9]研究表明,網(wǎng)格搜索這種窮舉的方式計(jì)算代價(jià)過大,會(huì)造成維度災(zāi)難。隨機(jī)搜索盡管能夠提升效率,但是存在不穩(wěn)定性,容易陷入局部最優(yōu)。王利英等[10]研究表明,布谷鳥搜索收斂速度慢,求解精度較低,在迭代后期容易出現(xiàn)在全局最優(yōu)解的附近震蕩的表現(xiàn)。張艷華等[11]研究表明,粒子群搜索容易早熟收斂,同時(shí)全局搜索能力較弱。相對(duì)而言,遺傳算法收斂速度快,提高效率的同時(shí)容易得到全局最優(yōu)解。
現(xiàn)提出基于遺傳算法優(yōu)化單類支持向量機(jī) (genetic algorithm optimized one-class support vector machine, GA-OC-SVM)的注水站異常檢測(cè)方法,應(yīng)用于油田離心泵注水站的異常檢測(cè),通過與LOF、IForest、DBSCAN、SVM等當(dāng)前主流的異常檢測(cè)方法進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證該算法優(yōu)越性。
單類支持向量機(jī)(one-class support vector machine,OC-SVM)[12]應(yīng)用于油田離心泵注水站的異常檢測(cè),基本步驟為使用注水站正常工作時(shí)的數(shù)據(jù)樣本X={x1,x2,…,xn}來訓(xùn)練出OC-SVM模型。然后通過將X={x1,x2,…,xn}映射到與內(nèi)核相對(duì)應(yīng)的特征空間[13],并構(gòu)造出一個(gè)訓(xùn)練樣本與原點(diǎn)距離最大化的最優(yōu)超平面f(x)=ωφ(x)-ρ,具體如圖1所示。
圖1 OC-SVM示意圖Fig.1 Schematic diagram of OC-SVM
為了通過注水站正常樣本集得到上述最優(yōu)超平面,求解優(yōu)化目標(biāo)表達(dá)式為
(1)
stωφ(xi)≥ρ-ξi,ξi≥0
(2)
式中:N為訓(xùn)練正樣本總數(shù);v∈(0,1)為正則化參數(shù),主要是為異常檢測(cè)設(shè)置最大的限定值,同時(shí)也作為支持向量的樣例數(shù)量的下界;ξi為松弛變量;φ為數(shù)據(jù)樣本在高維空間的映射;ω為f(x)的法向量;ρ為偏移項(xiàng)。
為了求解對(duì)偶問題使用核技巧,此處引入Lagrange乘子(αi≥0以及βi≥0)求解Lagrange方程,即
(3)
對(duì)式(3)求偏微分后,便可以得到式(4),即所要求的優(yōu)化問題的對(duì)偶形式為
minααTMα
(4)
式(4)中:α為L(zhǎng)agrange乘子,即為[α1,α2,…,αN]T,其中Mij=K(xi,xj)=φ(xi)φ(xj)為核函數(shù)。進(jìn)而通過求解上述二次規(guī)劃問題,由式(5)、式(6)求得ω和ρ,最終得出特征空間中的最優(yōu)決策超平面。
(5)
(6)
對(duì)于油田離心泵注水站訓(xùn)練集X={x1,x2,…,xn},F(xiàn)(xi)為基于歐式距離所構(gòu)建的決策函數(shù),主要用于最終對(duì)測(cè)試數(shù)據(jù)集xi進(jìn)行異常檢測(cè)二分類,則有
F(xi)=sign[ωφ(xi)-ρ]
(7)
最終測(cè)試階段通過計(jì)算測(cè)試樣本xi的F(xi)值來判斷數(shù)據(jù)是否出現(xiàn)異常。當(dāng)F(xi)=1時(shí),xi被識(shí)別為正常樣本;當(dāng)F(xi)=-1時(shí),xi被識(shí)別為異常樣本。
遺傳算法(genetic algorithm,GA)是一種全局優(yōu)化概率搜索算法[14],用其改進(jìn)單類支持向量機(jī)的GA-OC-SVM算法,能夠很好地改善其對(duì)參數(shù)敏感性高的缺點(diǎn),設(shè)計(jì)思路如下。
在使用OC-SVM訓(xùn)練數(shù)據(jù)樣本集時(shí),設(shè)定好GA的終止迭代次數(shù),通過OC-SVM的參數(shù)連接構(gòu)成GA的染色體。在每次迭代優(yōu)化后得到的新的染色體,代入OC-SVM中進(jìn)行再次訓(xùn)練,并將預(yù)測(cè)精度作為GA的適應(yīng)度函數(shù)。在種群個(gè)體不斷進(jìn)行選擇、交叉和變異操作后,最優(yōu)的個(gè)體適應(yīng)度函數(shù)值會(huì)達(dá)到閾值,此時(shí)停止迭代,同時(shí)將得到的種群最優(yōu)的個(gè)體值作為本次OC-SVM參數(shù)值進(jìn)行油田離心泵注水站的異常檢測(cè)和試驗(yàn)。圖2為遺傳算法優(yōu)化單類支持向量機(jī)流程,具體步驟如下。
圖2 遺傳算法優(yōu)化OC-SVM流程圖Fig.2 Genetic algorithm to improve OC-SVM flow chart
步驟1設(shè)定OC-SVM的參數(shù)范圍、遺傳算法的種群規(guī)模N以及終止迭代次數(shù)T。
步驟2確定遺傳算法的編碼方式,并按照OC-SVM參數(shù)隨機(jī)生成出N個(gè)染色體。
步驟3計(jì)算出每一個(gè)染色體對(duì)應(yīng)的適應(yīng)度函數(shù)值[15]。
步驟4判斷種群最優(yōu)個(gè)體的適應(yīng)度函數(shù)值是否達(dá)到了閾值,成功達(dá)到了則終止迭代,否則繼續(xù)進(jìn)行選擇、交叉、變異操作的迭代并產(chǎn)生新的種群。
步驟5最后得到最優(yōu)的OC-SVM參數(shù),并進(jìn)行油田離心泵注水站異常檢測(cè)實(shí)驗(yàn)。
油田離心泵注水站設(shè)備龐大復(fù)雜[16],每一個(gè)異常類別都包括諸多細(xì)節(jié)。圖3為注水泵機(jī)組,當(dāng)其運(yùn)行時(shí)產(chǎn)生震動(dòng),電纜溝高壓電纜和信號(hào)纜合走,以及受電磁場(chǎng)環(huán)境影響而產(chǎn)生異常數(shù)據(jù),觸發(fā)系統(tǒng)誤報(bào)警、誤操作。圖4為離心泵注水站運(yùn)行圖,整體涉及溫度的工程參數(shù)有注水泵前后軸承溫度、定子溫度、三相風(fēng)溫等10項(xiàng),壓力相關(guān)工程參數(shù)包括注水泵進(jìn)口壓力、注水泵出口壓力等4項(xiàng)。以及液位、電參、流量相關(guān)10余項(xiàng),每個(gè)參數(shù)都有自己的額定閾值,不同注水站的各項(xiàng)特征參數(shù)閾值不相同。基于勝利采油廠油田離心泵注水站運(yùn)行經(jīng)驗(yàn), 依據(jù)工程數(shù)據(jù)表現(xiàn)特征從總體上將異常類型歸納為三大類, 包括溫度異常、壓力異常、液位異常。
圖3 注水泵機(jī)組Fig.3 Water injection pump unit
圖4 注水站運(yùn)行圖Fig.4 Water injection station operation diagram
當(dāng)溫度異常,例如出現(xiàn)異常點(diǎn)跳動(dòng)或者溫度超過額定閾值,增幅出現(xiàn)超過200%等異常情況,油田離心泵將會(huì)采取高溫異常預(yù)警,超高溫停泵的措施。由于溫度的變化一般都是呈緩慢或者快速的漸變趨勢(shì),圖5所示為2021年11月1日采集自勝利油田的勝五注一號(hào)泵定子溫度異常時(shí)的數(shù)值變化數(shù)據(jù),對(duì)比定子溫度的正常情況,其溫度頻繁達(dá)到250 ℃,同時(shí)出現(xiàn)了溫度的突變,即短時(shí)間驟降或者跳躍式增長(zhǎng),此時(shí)便會(huì)導(dǎo)致油田離心泵誤操作。
圖5 定子溫度異常圖Fig.5 Stator temperature anomaly graph
對(duì)于分析算法的精度,查準(zhǔn)率、查全率、接受者操作特征(receiver operating characteristic,ROC)曲線[17]經(jīng)常被用于二分類模型中,因此選擇將其作為本次油田離心泵注水站異常數(shù)據(jù)檢測(cè)效果的評(píng)價(jià)指標(biāo),根據(jù)評(píng)價(jià)結(jié)果來驗(yàn)證所提出的基于機(jī)器學(xué)習(xí)算法的油田離心泵注水站異常檢測(cè)方案的優(yōu)越性。根據(jù)評(píng)價(jià)指標(biāo)所構(gòu)成的混淆矩陣,如表1所示,所有數(shù)據(jù)樣本根據(jù)其真實(shí)的類別和預(yù)測(cè)的類別總共被分成真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)4種情況[18],在注水站異常檢測(cè)判定問題中,將設(shè)備運(yùn)行的正常情形作為正例,異常情形作為反例。
表1 分類結(jié)果混淆矩陣
查準(zhǔn)率P與查全率R定義公式為
(8)
(9)
通過選擇出不同的分類閾值進(jìn)行數(shù)據(jù)類別的劃分,ROC曲線以真正例率(TPR)為縱軸,假正例率(FPR)為橫軸,進(jìn)行繪制圖表來進(jìn)行算法模型的效果評(píng)價(jià),其中TPR和FPR計(jì)算公式為
(10)
(11)
ROC曲線下方面積(area under curve,AUC)作為評(píng)估基于遺傳算法改進(jìn)單類支持向量機(jī)的GA-OC-SVM算法、局部離群因子算法、孤立森林算法的檢測(cè)效果的一項(xiàng)標(biāo)準(zhǔn),算法的檢測(cè)效果與AUC面積成正比,AUC面積越大可以判斷出該算法的檢測(cè)效果更優(yōu)秀。在對(duì)不同的異常檢測(cè)算法進(jìn)行比較時(shí), ROC曲線對(duì)算法的檢驗(yàn)效果評(píng)價(jià)結(jié)果是直觀的, 當(dāng)一個(gè)分類器的ROC曲線面積能完全地包含另一個(gè)分類器的曲線面積, 則可以得出結(jié)論:前者的異常檢測(cè)效果比后者優(yōu)秀。
基于遺傳算法改進(jìn)單類支持向量的GA-OC-SVM算法應(yīng)用于異常檢測(cè),主要分為模型建立階段和異常檢測(cè)階段。
2.3.1 模型建立階段
(1)構(gòu)建異常檢測(cè)模型前先對(duì)訓(xùn)練集X0進(jìn)行標(biāo)準(zhǔn)化處理。
(2)根據(jù)遺傳算法對(duì)標(biāo)準(zhǔn)化、歸一化后的訓(xùn)練集X進(jìn)行參數(shù)優(yōu)化。
(3)基于遺傳算法尋優(yōu)后的OC-SVM模型用于注水站測(cè)試集的異常檢測(cè)。
2.3.2 異常檢測(cè)階段
(1)對(duì)注水站測(cè)試集Xtest0進(jìn)行規(guī)則相同的標(biāo)準(zhǔn)化、歸一化處理。
(2)使用GA-OC-SVM模型對(duì)處理后的測(cè)試集Xtest進(jìn)行異常檢測(cè)。
(3)根據(jù)決策函數(shù)F(xi)判斷油田離心泵注水站運(yùn)行是否異常。
實(shí)驗(yàn)中,通過遺傳算法尋優(yōu)得到最優(yōu)的參數(shù),并使用OC-SVM訓(xùn)練得出基于注水站數(shù)據(jù)的分類模型之后,便可以使用模型對(duì)注水站測(cè)試數(shù)據(jù)集進(jìn)行異常檢測(cè)判斷。在參數(shù)閾值范圍內(nèi)且未出現(xiàn)劇烈波動(dòng)的正常數(shù)據(jù),表明是油田離心泵正常的工作狀態(tài), 用標(biāo)簽“+1”標(biāo)注;相反的當(dāng)出現(xiàn)參數(shù)數(shù)值短時(shí)間驟降或巨增或明顯大范圍超出閾值的數(shù)據(jù),表明此刻離心泵有異常的風(fēng)險(xiǎn),用標(biāo)簽“-1”標(biāo)注。那么本次的異常數(shù)據(jù)檢測(cè)便轉(zhuǎn)化為一個(gè)二分類問題,通過人工智能算法檢測(cè)的結(jié)果可以為油田離心泵注水站運(yùn)行時(shí)的異常及時(shí)發(fā)現(xiàn)與處置干預(yù)提供有力的支持。
為了驗(yàn)證研究中所提出的方法針對(duì)油田離心泵注水站異常檢測(cè)的實(shí)際效果,以及基于遺傳算法改進(jìn)單類支持向量機(jī)的GA-OC-SVM算法的優(yōu)越性,使用如圖6所示的PLC設(shè)備在勝利油田的勝五注一號(hào)泵進(jìn)行數(shù)據(jù)的采集,然后分別對(duì)GA-OC-SVM、IForest、LOF、DBSCAN、SVM、OC-SVM等算法在同一平臺(tái)對(duì)勝利油田的勝五注一號(hào)泵數(shù)據(jù)進(jìn)行訓(xùn)練和驗(yàn)證。
圖6 PLC系統(tǒng)設(shè)備Fig.6 PLC equipment
通過采用遺傳算法對(duì)單類支持向量機(jī)參數(shù)進(jìn)行優(yōu)化,得到遺傳算法的進(jìn)化曲線如圖7所示,經(jīng)過迭代尋優(yōu)后得到一組最優(yōu)的種群個(gè)體值并將其作為模型參數(shù)進(jìn)行異常檢測(cè)。
圖7 遺傳算法進(jìn)化圖Fig.7 Genetic algorithm evolution diagram
經(jīng)過實(shí)驗(yàn),表2中展示了LOF、IForest、OC-SVM、SVM、DBSCAN、GA-OC-SVM 6種算法的檢測(cè)精度,分別為72%、90%、92%、85%、80%、99%,其中GA-OC-SVM的檢測(cè)效果要明顯優(yōu)于其他算法。圖8展示了實(shí)驗(yàn)中對(duì)油田離心泵注水站數(shù)據(jù)的異常判定結(jié)果的ROC曲線評(píng)價(jià)對(duì)比圖,其中GA-OC-SVM的AUC面積完全包含了其他主流異常檢測(cè)算法的AUC面積。因此可以得出結(jié)論,GA-OC-SVM在注水站異常數(shù)據(jù)檢測(cè)中表現(xiàn)得更優(yōu)秀。通過對(duì)比,使用遺傳算法優(yōu)化后的OC-SVM能夠取得更好的檢測(cè)效果,同時(shí)對(duì)模型的檢測(cè)效率有了顯著提升。
表2 模型預(yù)測(cè)精確度
圖8 ROC曲線算法分析圖Fig.8 ROC curve algorithm analysis chart
針對(duì)油田離心泵注水站異常檢測(cè)問題,提出了使用基于遺傳算法優(yōu)化單類支持向量機(jī)的異常檢測(cè)方法。通過對(duì)勝利采油廠勝五注一號(hào)泵數(shù)據(jù)進(jìn)行驗(yàn)證,經(jīng)過數(shù)據(jù)采集與處理以及模型訓(xùn)練與優(yōu)化后進(jìn)行的異常點(diǎn)檢測(cè),最終實(shí)現(xiàn)了油田離心泵注水站異常判定,證明了GA-OC-SVM算法的優(yōu)越性,其判定準(zhǔn)確率達(dá)到99%以上。
(1)實(shí)驗(yàn)表明在油田離心泵注水站的異常檢測(cè)中,使用人工智能算法相較于傳統(tǒng)的人工巡檢等方式,能夠在節(jié)省大量人力物力資源的情況下,取得非常好的異常檢測(cè)效果。
(2)在油田離心泵注水站的實(shí)際數(shù)據(jù)上應(yīng)用,由于注水站的設(shè)備的復(fù)雜性及大量未檢測(cè)到的異常情況,在實(shí)際情況中仍然不可避免地會(huì)出現(xiàn)不能完全檢測(cè)的問題,但與之前僅僅當(dāng)特征參數(shù)超過了閾值就判斷為異常的方法相比,應(yīng)用遺傳算法改進(jìn)單類支持向量機(jī)的GA-OC-SVM算法進(jìn)行異常檢測(cè)仍然具有一定的優(yōu)越性。