易思琦,魏 凱
(長江大學石油工程學院,湖北武漢 430100)
鉆井工程面臨地質構造復雜、影響因素眾多等特點。在鉆進過程中極容易發(fā)生各類安全事故[1]。據(jù)雷斯特能源報告顯示,在過去三年的石油勘探開發(fā)鉆井中,勘探成功率只有42%;基于現(xiàn)有卡鉆風險評估方法存在的成本高及分類性能差等問題,提出了基于SMOTE欠采樣的隨機森林卡鉆風險評估方法。該方法通過數(shù)據(jù)處理,降低了樣本集的不平衡性[2]。隨著石油技術不斷發(fā)展以及業(yè)務數(shù)據(jù)指數(shù)級上升,機器學習和鉆井工程結合已經(jīng)成為必然的趨勢,其發(fā)展為海量數(shù)據(jù)的存儲和計算都提供了新的解決思路。
卡鉆指的是鉆進過程中鉆具無法活動的一種現(xiàn)象[3]。其產(chǎn)生與地質情況、鉆井液性能、操作標準等都有關聯(lián)。其類型包括壓差卡鉆、吸附卡鉆、坍塌卡鉆、砂橋卡鉆等,不同卡鉆類型其原因和危害程度都不同[4]?;诖?建立合理的卡鉆風險評估模型十分必要[5]。在鉆井過程中,專業(yè)人員通過將參數(shù)分為可變和不可變兩大類(可變參數(shù)一般指工程參數(shù),不可變參數(shù)一般指地層參數(shù)),動靜結合地對鉆井情況進行分析[6-10]。在特定條件下,鉆井狀態(tài)的某些參數(shù)和狀態(tài)呈線性或強相關聯(lián)系;當卡鉆事故發(fā)生時,部分參數(shù)數(shù)值也會隨之發(fā)生改變。
合成少數(shù)類過采樣(SMOTE)通過生成少數(shù)類樣本而改變不平衡數(shù)據(jù)集數(shù)據(jù)分布的采樣方法[11],其本質是選定某個少數(shù)類樣本a,然后隨機在最近鄰樣本b和a的連線上選點生成新數(shù)據(jù)[12]。相較于傳統(tǒng)的采樣方法而言,他的模型擬合度更低,在解決不平衡數(shù)據(jù)集上效果更好。詳細步驟為:①選定少數(shù)類樣本A以及其對應的K近鄰樣本值B,其中,B與A之差為AB之間的特征差向量;②在[0,1]區(qū)間內隨機抽取實數(shù),將抽取的實數(shù)i值作為權值,將權值i與差向量相乘[13];③將樣本A的特征向量與上一步所得乘積相加得到合成樣本。
實際鉆井中,存在卡鉆樣本數(shù)量少,整體樣本分布不平衡等問題[14]。因此,為了提高預測精確度,增加少數(shù)類樣本對模型構建的敏感程度,有必要采用SMOTE過采樣方法進行采樣,來提高數(shù)據(jù)對模型的適應能力。
2.2.1 特征處理
科學的數(shù)據(jù)預處理在提高模型計算力的同時,能夠帶來高質量的決策[15]。構建隨機森林模型過程中,需要選取卡鉆事故發(fā)生過程中波動明顯的參數(shù)作為特征向量,補全缺失值后進行特征處理工作。
經(jīng)過處理后的樣本,將保留與其他參數(shù)相關性低和對預測結果影響高的部分。其中,樣本集特征向量X=[X1,X2,X3,X4,X5,X6,X7]=[轉速、泵壓、黏度、泥漿體積、含砂量、排量、泥漿密度],輸出的風險類型Y=[0,1](其中0代表正常,1代表卡鉆)。另外,為了方便將隨機森林算法和其他算法進行對比,本文對數(shù)據(jù)進行歸一化處理,即遍歷樣本集中數(shù)據(jù),將最值記錄后,以差值為基數(shù)進行除法計算(圖1)。
圖1 特征處理流程
2.2.2 隨機森林
隨機森林算法是一種集成學習的分類回歸算法,較傳統(tǒng)的機器學習方法而言,具有性能好、穩(wěn)定性高的優(yōu)點。實際情況中存在鉆井樣本數(shù)據(jù)量大且樣本分布不均這些問題,故本文選擇隨機森林模型來對卡鉆事故進行預測。各類機器學習方法優(yōu)缺點如表1所示。
表1 機器學習算法優(yōu)缺點
隨機森林模型會在自動采樣后根據(jù)基尼系數(shù)建立多棵由根節(jié)點、葉子節(jié)點和子節(jié)點組成的決策樹,再基于多數(shù)投票法原理對這些樹的決策結構進行判斷,從而給出決策結果。通過建立決策樹,可以明確不同指標所對應的級別。
本文選擇最小二乘法來構建決策回歸樹。首先,該算法會將轉速、泵壓、黏度、泥漿體積、含砂量、排量、泥漿密度等特征向量所擁有的區(qū)域劃分為兩個子范圍區(qū),并計算其對應的輸出值;在這個過程中,算法會不斷重復這一步驟,直到劃分的子范圍區(qū)滿足要求。然后,再根據(jù)該區(qū)域劃分的M個子區(qū)域來構建決策樹。
其生成決策樹公式為:
(1)
式中:Rm為劃分后的m區(qū)間,Cm為該區(qū)間響應的輸出值;I為指示函數(shù),滿足括號內條件時取值為1,否則為0。
基于隨機森林的機制,在采樣建模后約有三分之一的鉆井隨鉆數(shù)據(jù)將不會被使用,通過這部分數(shù)據(jù),產(chǎn)生的基學習器可以進行包外估計,以此來泛化誤差eoob。其計算公式為:
(2)
式中:|D|為原始數(shù)據(jù)集D的大小;II為誤差函數(shù),其值為預測正確率;x和y分別表示未被訓練的原始樣本輸入輸出值,Hoob為樣本x的包外預測值。
綜上所述,基于隨機森林算法的卡鉆風險預測模型構建步驟主要為:①從經(jīng)過SMOTE采樣后的鉆井事故數(shù)據(jù)中隨機抽取樣本,構造決策樹;②選取特征以最小方差準則篩選最優(yōu)分割點,達到分裂條件后停止;③每棵回歸樹都會產(chǎn)生結果,根據(jù)多數(shù)投票法,決策出最終結果。
2.2.3 參數(shù)調優(yōu)
利用網(wǎng)格搜索方法可以對決策樹進行最大深度尋優(yōu),在窮舉法原理基礎上進行模型參數(shù)優(yōu)化。通過設置參數(shù)的取值范圍,可以計算相關聯(lián)的節(jié)點值,通過對比均方誤差,得到較優(yōu)參數(shù)組合,對包括特征最大值、子樹數(shù)量、樹最大深度等在內的關鍵參數(shù)進行優(yōu)化,從而提升模型預測的精確度。為了實現(xiàn)這一功能,本文選定sklearn庫中的GridSearcherCV方法進行參數(shù)選擇,該方法可以對分類器輸入指定參數(shù)名稱,然后分類器會將數(shù)據(jù)轉換成字典格式傳入該分類器的函數(shù),從而計算出最佳參數(shù)組合。
基于隨機森林的卡鉆風險模型建立后,在混淆矩陣的基礎上,需要對模型的分類準確度(Accuracy)、召回率(Recall)、虛警率(FPrate)和精確度(Precision)等指標進行計算和分析,以此來確定模型是否符合標準。該矩陣中,其列代表的是預測的正常和卡鉆類的實例,而行代表的則是實際的類結果?;诳ㄣ@的混淆矩陣如表2所示。
表2 卡鉆分類
基于此,各評價指標的計算公式如下:
(3)
(4)
(5)
(6)
通過上述評價指標,來檢驗基于SMOTE采樣的卡鉆預測模型是否能夠應用于實際,其具體來說就是,在確保正確率的基礎上,使召回率、精確度等指標盡可能地高。
按照上述方法,選取某地區(qū)25口井的鉆井數(shù)據(jù)作為訓練樣本,借助Spyder實現(xiàn)平臺,基于sklearn庫建立卡鉆安全事故預測模型。對樣本集SMOTE過采樣后,再對模型參數(shù)調優(yōu)(圖2)。
圖2 隨機森林處理流程
所建模型參數(shù)為:子樹數(shù)量25,分裂內部節(jié)點最少樣例數(shù)60,葉子節(jié)點最少樣例數(shù)10,樹最大深度5。樣本輸入模型后,該算法會隨機抽取特征并構建多棵熵值下降最快的決策樹。
通過觀察建立的不同決策樹,發(fā)現(xiàn)當轉速均值小于0.409,泵壓均值大于0.701時(歸一化值后),卡鉆概率大大增加。對比原始鉆井樣本預測結果后發(fā)現(xiàn),經(jīng)過SMOTE處理過的數(shù)據(jù)集表現(xiàn)性能更好,其訓練模型對存在的風險數(shù)據(jù)更敏感。故基于SMOTE欠采樣的隨機森林卡鉆風險評估模型在處理實際問題時具有更大的優(yōu)勢。
為了直觀地對風險模型進行評價,一般采用式(3)~(6)來計算各個事故類型的分類準確度、召回率、虛警率和精確度,其結果見表3。
表3 不同算法評價
為進一步驗證基于SMOTE欠采樣隨機森林卡鉆風險評估方法的優(yōu)越性,選取不同地區(qū)多組不平衡鉆井數(shù)據(jù)做檢驗,利用不同算法來完成對測試集的預測。測試樣本預測準確度圖3所示,基于SMOTE欠采樣隨機森林算法在處理非平衡數(shù)據(jù)回歸問題上具有良好的性能。
圖3 不同算法預測準確度
1)SMOTE欠采樣方法對樣本進行處理,可以最大程度上保留多數(shù)類中的有效信息,提高模型對于少數(shù)類樣本的敏感程度,從而提高井下復雜事故預測準確度。
2)在建模時運用了基于代價敏感性學習思想的隨機森林方法,隨機森林在處理海量數(shù)據(jù)和不平衡數(shù)據(jù)方面都有優(yōu)異的性能,符合鉆井工程發(fā)展的趨勢。
3)受原始數(shù)據(jù)影響,基于SMOTE欠采樣的隨機森林卡鉆風險評估方法僅采用單一地區(qū)部分數(shù)據(jù)集進行建模及預測,且樣本中特征量較少,未涉及到模型在高維度不平衡數(shù)據(jù)集上的應用。因此,在后續(xù)的建模中,應當訓練模型在不同地區(qū)不同數(shù)據(jù)集上的適應能力。