易思琦,魏 凱
(長江大學石油工程學院,湖北武漢 430100)
鉆井工程面臨地質構造復雜、影響因素眾多等特點。在鉆進過程中極容易發生各類安全事故[1]。據雷斯特能源報告顯示,在過去三年的石油勘探開發鉆井中,勘探成功率只有42%;基于現有卡鉆風險評估方法存在的成本高及分類性能差等問題,提出了基于SMOTE欠采樣的隨機森林卡鉆風險評估方法。該方法通過數據處理,降低了樣本集的不平衡性[2]。隨著石油技術不斷發展以及業務數據指數級上升,機器學習和鉆井工程結合已經成為必然的趨勢,其發展為海量數據的存儲和計算都提供了新的解決思路。
卡鉆指的是鉆進過程中鉆具無法活動的一種現象[3]。其產生與地質情況、鉆井液性能、操作標準等都有關聯。其類型包括壓差卡鉆、吸附卡鉆、坍塌卡鉆、砂橋卡鉆等,不同卡鉆類型其原因和危害程度都不同[4]。基于此,建立合理的卡鉆風險評估模型十分必要[5]。在鉆井過程中,專業人員通過將參數分為可變和不可變兩大類(可變參數一般指工程參數,不可變參數一般指地層參數),動靜結合地對鉆井情況進行分析[6-10]。在特定條件下,鉆井狀態的某些參數和狀態呈線性或強相關聯系;當卡鉆事故發生時,部分參數數值也會隨之發生改變。
合成少數類過采樣(SMOTE)通過生成少數類樣本而改變不平衡數據集數據分布的采樣方法[11],其本質是選定某個少數類樣本a,然后隨機在最近鄰樣本b和a的連線上選點生成新數據[12]。相較于傳統的采樣方法而言,他的模型擬合度更低,在解決不平衡數據集上效果更好。詳細步驟為:①選定少數類樣本A以及其對應的K近鄰樣本值B,其中,B與A之差為AB之間的特征差向量;②在[0,1]區間內隨機抽取實數,將抽取的實數i值作為權值,將權值i與差向量相乘[13];③將樣本A的特征向量與上一步所得乘積相加得到合成樣本。
實際鉆井中,存在卡鉆樣本數量少,整體樣本分布不平衡等問題[14]。因此,為了提高預測精確度,增加少數類樣本對模型構建的敏感程度,有必要采用SMOTE過采樣方法進行采樣,來提高數據對模型的適應能力。
2.2.1 特征處理
科學的數據預處理在提高模型計算力的同時,能夠帶來高質量的決策[15]。構建隨機森林模型過程中,需要選取卡鉆事故發生過程中波動明顯的參數作為特征向量,補全缺失值后進行特征處理工作。
經過處理后的樣本,將保留與其他參數相關性低和對預測結果影響高的部分。其中,樣本集特征向量X=[X1,X2,X3,X4,X5,X6,X7]=[轉速、泵壓、黏度、泥漿體積、含砂量、排量、泥漿密度],輸出的風險類型Y=[0,1](其中0代表正常,1代表卡鉆)。另外,為了方便將隨機森林算法和其他算法進行對比,本文對數據進行歸一化處理,即遍歷樣本集中數據,將最值記錄后,以差值為基數進行除法計算(圖1)。

圖1 特征處理流程
2.2.2 隨機森林
隨機森林算法是一種集成學習的分類回歸算法,較傳統的機器學習方法而言,具有性能好、穩定性高的優點。實際情況中存在鉆井樣本數據量大且樣本分布不均這些問題,故本文選擇隨機森林模型來對卡鉆事故進行預測。各類機器學習方法優缺點如表1所示。

表1 機器學習算法優缺點
隨機森林模型會在自動采樣后根據基尼系數建立多棵由根節點、葉子節點和子節點組成的決策樹,再基于多數投票法原理對這些樹的決策結構進行判斷,從而給出決策結果。通過建立決策樹,可以明確不同指標所對應的級別。
本文選擇最小二乘法來構建決策回歸樹。首先,該算法會將轉速、泵壓、黏度、泥漿體積、含砂量、排量、泥漿密度等特征向量所擁有的區域劃分為兩個子范圍區,并計算其對應的輸出值;在這個過程中,算法會不斷重復這一步驟,直到劃分的子范圍區滿足要求。然后,再根據該區域劃分的M個子區域來構建決策樹。
其生成決策樹公式為:
(1)
式中:Rm為劃分后的m區間,Cm為該區間響應的輸出值;I為指示函數,滿足括號內條件時取值為1,否則為0。
基于隨機森林的機制,在采樣建模后約有三分之一的鉆井隨鉆數據將不會被使用,通過這部分數據,產生的基學習器可以進行包外估計,以此來泛化誤差eoob。其計算公式為:
(2)
式中:|D|為原始數據集D的大小;II為誤差函數,其值為預測正確率;x和y分別表示未被訓練的原始樣本輸入輸出值,Hoob為樣本x的包外預測值。
綜上所述,基于隨機森林算法的卡鉆風險預測模型構建步驟主要為:①從經過SMOTE采樣后的鉆井事故數據中隨機抽取樣本,構造決策樹;②選取特征以最小方差準則篩選最優分割點,達到分裂條件后停止;③每棵回歸樹都會產生結果,根據多數投票法,決策出最終結果。
2.2.3 參數調優
利用網格搜索方法可以對決策樹進行最大深度尋優,在窮舉法原理基礎上進行模型參數優化。通過設置參數的取值范圍,可以計算相關聯的節點值,通過對比均方誤差,得到較優參數組合,對包括特征最大值、子樹數量、樹最大深度等在內的關鍵參數進行優化,從而提升模型預測的精確度。為了實現這一功能,本文選定sklearn庫中的GridSearcherCV方法進行參數選擇,該方法可以對分類器輸入指定參數名稱,然后分類器會將數據轉換成字典格式傳入該分類器的函數,從而計算出最佳參數組合。
基于隨機森林的卡鉆風險模型建立后,在混淆矩陣的基礎上,需要對模型的分類準確度(Accuracy)、召回率(Recall)、虛警率(FPrate)和精確度(Precision)等指標進行計算和分析,以此來確定模型是否符合標準。該矩陣中,其列代表的是預測的正常和卡鉆類的實例,而行代表的則是實際的類結果。基于卡鉆的混淆矩陣如表2所示。

表2 卡鉆分類
基于此,各評價指標的計算公式如下:
(3)
(4)
(5)
(6)
通過上述評價指標,來檢驗基于SMOTE采樣的卡鉆預測模型是否能夠應用于實際,其具體來說就是,在確保正確率的基礎上,使召回率、精確度等指標盡可能地高。
按照上述方法,選取某地區25口井的鉆井數據作為訓練樣本,借助Spyder實現平臺,基于sklearn庫建立卡鉆安全事故預測模型。對樣本集SMOTE過采樣后,再對模型參數調優(圖2)。

圖2 隨機森林處理流程
所建模型參數為:子樹數量25,分裂內部節點最少樣例數60,葉子節點最少樣例數10,樹最大深度5。樣本輸入模型后,該算法會隨機抽取特征并構建多棵熵值下降最快的決策樹。
通過觀察建立的不同決策樹,發現當轉速均值小于0.409,泵壓均值大于0.701時(歸一化值后),卡鉆概率大大增加。對比原始鉆井樣本預測結果后發現,經過SMOTE處理過的數據集表現性能更好,其訓練模型對存在的風險數據更敏感。故基于SMOTE欠采樣的隨機森林卡鉆風險評估模型在處理實際問題時具有更大的優勢。
為了直觀地對風險模型進行評價,一般采用式(3)~(6)來計算各個事故類型的分類準確度、召回率、虛警率和精確度,其結果見表3。

表3 不同算法評價
為進一步驗證基于SMOTE欠采樣隨機森林卡鉆風險評估方法的優越性,選取不同地區多組不平衡鉆井數據做檢驗,利用不同算法來完成對測試集的預測。測試樣本預測準確度圖3所示,基于SMOTE欠采樣隨機森林算法在處理非平衡數據回歸問題上具有良好的性能。

圖3 不同算法預測準確度
1)SMOTE欠采樣方法對樣本進行處理,可以最大程度上保留多數類中的有效信息,提高模型對于少數類樣本的敏感程度,從而提高井下復雜事故預測準確度。
2)在建模時運用了基于代價敏感性學習思想的隨機森林方法,隨機森林在處理海量數據和不平衡數據方面都有優異的性能,符合鉆井工程發展的趨勢。
3)受原始數據影響,基于SMOTE欠采樣的隨機森林卡鉆風險評估方法僅采用單一地區部分數據集進行建模及預測,且樣本中特征量較少,未涉及到模型在高維度不平衡數據集上的應用。因此,在后續的建模中,應當訓練模型在不同地區不同數據集上的適應能力。