劉廣孚, 杜玉龍, 郭 亮, 石二勇, 王 震, 鄢志丹
(1.中國石油大學(華東)控制科學與工程學院,山東青島 266580; 2.中國石油大學(華東)海洋與空間信息學院, 山東青島 266580; 3.中國石化勝利油田分公司河口采油廠,山東東營 257200)
超過90%的生產油井需要某種形式的人工舉升來進行油氣開采[1]。潛油電機和電動潛油離心泵組成的潛油電泵機組因為其顯著優點廣泛應用于高產井、含水井及斜井中,是各油田重要的采油設備[2]。但是由于潛油電泵機組結構復雜,關聯性強,再加上復雜多變的地質結構和井況條件,導致潛油電泵機組的故障率較高[3],且故障類型復雜多樣。一直以來,國內外對于潛油電泵機組的故障或工況診斷研究從未間斷過[4]。潛油電機是一種三相異步電動機,在電網電壓一定時,其電磁轉矩與電機電流具有特定的非線性關系,即電機電流的變化可以反映負載轉矩的變化。所以,傳統的工況診斷方法主要為電流卡片[5-8],但電流卡片記錄的信息量有限,且時效性較低,逐漸被油田淘汰。在“數字化”油田時代,國內外學者針對潛油電泵機組不同類型的故障或工況,分析其對應的相關參數數據,實現對故障及工況的識別。Li等[9]通過分析9種不同工況下氣體產量、液體產量、油氣比、電壓、電流和油壓參數的變化情況,區別不同類型的工況或故障。Gupta[10]提出了一種數據驅動的分析解決方案,使用多變量統計方法來主動監控與潛油電泵性能相關的壽命統計數據,通過降維和模式識別實現對故障的預警和診斷。上述兩種方法是建立在統計數據的基礎上的,但實際生產中故障數據缺乏,在實際應用中受到一定的限制。國內各大油田也在積極開展潛油電泵機組異常工況分析,力求降低故障率[11-12],但更多的是基于現場處置經驗,數據的科學性不足。潛油電泵機組運行狀態監測及故障預警對油田生產具有重要的意義。但由于油田數字化建設時間較短,而且正常運行數據量遠高于故障數據量,并且潛油電泵工況及故障類型復雜多樣,所收集的不同故障類型的樣本數據難以達到深度學習訓練及驗證的要求。筆者僅依托潛油電泵井正常運行數據建立單分類支持向量機模型,通過對電流數據進行清洗、篩選、分析及特征提取,訓練單分類支持向量機模型獲得區分潛油電泵井正常運行狀態和異常運行狀態的能力,實現對潛油電泵井異常工況的判別及預警。
支持向量機(support vector machine, SVM)[13-14]是針對二分類問題提出的,需要用兩種數量相對均衡的樣本建立訓練數據集。但是在工業生產中,面臨一個較為普遍的問題,即正常狀態數據多,異常狀態數據少,甚至沒有數據樣本,對工業故障診斷造成一定困擾。當遇到只有一種類型的數據即單分類問題時,SVM演變出了基于單分類的支持向量機[15-17]。單分類支持向量機(one-class support vector machine, OCSVM)是基于支持向量機的一種單類分類算法[18],與傳統支持向量機思想類似,將數據映射到與內核相對應的特征空間,在特征空間中求解最優超平面(圖1),最大化樣本與原點之間的間隔[19]。

圖1 單分類支持向量機的最優超平面Fig.1 Optimal hyperplane of one-class support vector machine

(1)

利用對偶算法的思想,求得上述問題的最優解。對于式(1),構造上述模型的拉格朗日方程,得到原優化問題的對偶問題:
(2)
其中
Qij=K(xi,xj)=φ(xi)φ(xj).
式中,K(xi,xj)為核函數。普遍使用的核函數是高斯徑向基核函數(radial basis function,RBF),其函數表達式[21-22]為
(3)
式中,σ為核寬度系數。由式(2)求解出α,得到決策函數為
(4)
針對電泵井實際生產中所面臨的正常狀態數據多、異常狀態數據少而無法完成模型訓練及驗證的問題,本文中將單分類支持向量機模型引入到潛油電泵工況及故障診斷中,利用單分類支持向量機的特殊優勢,僅依靠潛油電泵在正常狀態下的電流數據就可以識別異常狀態,實現對潛油電泵故障及異常工況的精準識別。

圖2 潛油電泵工況及故障診斷流程Fig.2 Operating condition and fault diagnosis flow chart of electric submersible pump

本文中所有數據均采集于中國石化勝利油田下屬某采油廠,該采油廠信息化程度較高,生產指揮系統平臺可實時獲取潛油電泵機組的三相電壓、三相電流、油壓、井口溫度、瞬時流量等工作參數及環境參數,采集間隔為1 min。選取50口電泵井(1~50號電泵井)在正常狀態下的三相歷史電流數據構建訓練集,每口井選擇106min的三相電流數據,并且將每500 min的三相時序電流數據劃分為3個數據樣本,即A相、B相、C相分別構成一個樣本。A相電流選取2 000個訓練樣本,B相電流選取2 000個訓練樣本,C相電流選取2 000個訓練樣本,每口井共選取6 000個訓練樣本,故訓練集中共包含3×105個樣本。另外選擇2口含故障數據的潛油電泵井(51號和52號電泵井),將其故障期間的A相電流數據作為測試集,每口井選取2 500 min的A相電流數據,以500 min為時間窗口、1 min為滑動步長劃分測試樣本,每口井選取2 000個測試樣本。圖3為訓練樣本中4口不同電泵井在正常狀態下的運行電流數據樣本。從圖中可以看出,此時運行電流平穩,波動幅度小。
利用OCSVM模型構建潛油電泵工況及故障診斷模型,通過學習正常狀態數據樣本,獲得區分異常樣本的能力。構建工況及故障診斷模型主要包括3部分。
2.3.1 特征提取
首先對潛油電泵井正常狀態下的電流數據進行特征提取,假設其中某一正常狀態下的時序電流數據為L={l1,l2,l3,…,lt},其中本文中t取500。提取以下6個特征值,構建特征集。
(1)t分鐘內的波動幅度(A)為
A=maxL-minL.
(5)
(2)t分鐘內的變化斜率(G)為
(6)
(3)標準差(S)為
(7)

(4)最大值和最小值的差值占均值的百分比(D)為
(8)
(5)兩點間正、負斜率樣本數各占總樣本的比例。假設電流數據L中每兩點間的斜率集合為M={m1,m2,m3,…,mt-1},統計M中正斜率樣本數(mi>0.1)和負斜率樣本數(mi<-0.1)各占斜率樣本總數的比例,以此表現電流數據的波動性。以下面兩段電流數據樣本為例,正常工況下相鄰兩點電流間正、負斜率樣本數各占斜率樣本4%(圖4);而氣干擾工況下兩者的比例分別為47.29%、49.5%(圖5)。因此該特征可以很好地表現電流數據的波動性。
為了提高模型精度和收斂速度,在將數據樣本送入網絡之前,需要對數據進行歸一化處理,將數據映射到[0,1]之間。

圖3 不同電泵井正常狀態下三相電流數據樣本Fig.3 Three-phase current data samples of different electric pump wells under normal conditions

圖4 正常工況下相鄰兩點電流間斜率分布Fig.4 Distribution of slope of two adjacent current values under normal conditions
2.3.2 建立OVSVM模型
選取高斯徑向基核函數建立OCSVM分類模型,其誤差懲罰系數設置為0.1。利用提取的特征值進行模型的訓練及優化,保存最優模型。最后,將潛油電泵機組測試數據樣本提取相應特征值后,輸入OCSVM模型中進行正常狀態和異常狀態的判斷。通過利用OCSVM模型,可以準確識別異常狀態數據,也包括未知的異常狀態類型。

圖5 氣干擾工況下相鄰兩點電流間斜率分布Fig.5 Distribution of slope of two adjacent current values under interference conditions
2.3.3 模型評估
為了更好地評估模型的分類效果,采用精確率(P)和召回率(R)兩個分類指標。其定義為
(9)
(10)
式中,NTP為正類數據被識別為正類的樣本數;NFP為正類數據被識別為負類的樣本數;NFN為負類數據被識別為正類的樣本數。
利用OCSVM模型對另外50口潛油電泵井(51~100號電泵井)近兩年的運行狀態進行了判別,并進行了結果驗證。針對不同運行狀態,本文中選取了其中較典型的2口潛油電泵井分別進行詳細分析。結果表明,故障識別準確度較高,誤差較低。
以51號潛油電泵井為例,該井在2019年12月19日4時8分因為異物卡泵造成潛油電泵機組負載增大,11時49分過載停機,選擇該井數據進行運行狀態識別及驗證試驗,運行電流如圖6(a)所示。將圖6(a)測試數據以500 min為時間窗口進行數據劃分及特征提取,輸入模型中進行狀態識別。在4時10分,潛油電泵井電流上升幅度達到4.7 A,斜率為0.008 8,標準差為25.16, 最大值和最小值的差值占均值的百分比為17.9%,超出正常狀態范圍,OCSVM模型判別此時潛油電泵井進入異常狀態;并且故障發生后,電流兩點間正、負斜率樣本數各占總樣本的比例分別從20%、21%變為42%、48%,更加確定潛油電泵井運行狀態異常。但按照之前的閾值報警模式,該狀況并不會觸發預警系統或停機動作,導致潛油電泵井故障運行,從而造成機組損壞嚴重。通過此模型,可以在第一時間監測到潛油電泵井的異常狀態,提前采取停井作業等措施可以降低機組的損壞程度,降低維修成本,實現故障預警功能。

圖6 51號潛油電泵井運行電流及識別結果Fig.6 Operating current and identification results of No.51 electric submersible pump well
以52號潛油電泵井為例,該井在2019年6月29日7時2分因負載增大造成電流增大,6月30日0時48分潛油電泵過載停機且泵軸斷裂,故障停機前期的運行電流如圖7(a)所示,選取其為測試樣本。從電流數據變化中可以看出,在泵軸斷裂前期,有比較明顯的故障特征,長達1 000 min,如果能夠及時監測到異常狀態,可以避免發生泵軸斷等嚴重損壞設備的現象。
在6月29日7時10分,電流上升幅度達到1.3 A,斜率從0增大為0.001 2,標準差從0變為5,并持續增大,D從0變為2.5%,故障發生后電流兩點間正、負斜率樣本數各占總樣本的比例分別從0變為30%、29%,所以認為潛油電泵井進入異常運行狀態。由圖7(b)可以看出,OCSVM模型可以比較精準地識別異常狀態,從而發出預警信息,避免潛油電泵在故障下持續運行,可以提前采取停井檢修等措施,避免泵軸發生斷裂。

圖7 52號潛油電泵井運行電流及識別結果Fig.7 Operating current and identification results of No.52 electric submersible pump well

表1 51號和52號潛油電泵井識別準確度
提出利用OCSVM模型代替原有的閾值報警模式,通過借助大量正常數據樣本區分多樣化的異常數據,其中也包括未知的故障類型,提升了針對異常數據的識別能力,解決了油田生產中故障樣本少難以實現故障精準識別的問題,對油田生產具有一定的實際應用意義。利用OCSVM模型對潛油電泵井近兩年的電流數據進行了測試和驗證,通過試驗證明,判別準確度比較高,誤差在可控范圍內,泛化能力強,可以實現精準報警。通過提前采取預防措施,可以避免更嚴重故障的發生。同時,針對工業故障診斷中異常狀態數據缺乏的問題提供了理論思路。