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