譚天一 張輝 馬丹妮 路宗羽 吳怡 焦金剛
1. 中國(guó)石油大學(xué)(北京)石油工程學(xué)院;2. 中國(guó)石油新疆油田分公司;3. 中海石油(中國(guó))有限公司北京研究中心
隨著油氣資源的不斷開發(fā),鉆井工程的重要性日益突出,而鉆井復(fù)雜問題嚴(yán)重制約著鉆井作業(yè)的順利開展。據(jù)統(tǒng)計(jì),近年來用于處理鉆井過程中復(fù)雜情況及事故的非生產(chǎn)時(shí)間(NPT),占總施工時(shí)間的6%~8%[1],造成了巨大的經(jīng)濟(jì)損失。
為了有效解決鉆井復(fù)雜問題,需要鉆井工作者及時(shí)診斷異常情況。目前,鉆井現(xiàn)場(chǎng)工作人員對(duì)鉆井復(fù)雜的診斷,主要依賴鉆井領(lǐng)域?qū)<业慕?jīng)驗(yàn),歸納各種鉆井復(fù)雜的地面表征(如大鉤載荷、立管壓力、出口排量等參數(shù)的變化),總結(jié)形成相應(yīng)的判斷流程[1-2]。但由于人力的局限性,無法全面分析海量的鉆井?dāng)?shù)據(jù),不能深入挖掘鉆井參數(shù)與鉆井工況之間的內(nèi)在聯(lián)系,因此其診斷鉆井復(fù)雜的能力有限。近年來,隨著人工智能和數(shù)據(jù)分析領(lǐng)域的興起,運(yùn)用機(jī)器學(xué)習(xí)算法來分析鉆井?dāng)?shù)據(jù)、建立鉆井復(fù)雜智能診斷方法逐漸成為可能。季雯宇[3]、汪洋[4]等運(yùn)用神經(jīng)網(wǎng)絡(luò)等算法建立了卡鉆事故的識(shí)別方法;徐寶昌等[5]運(yùn)用自適應(yīng)觀測(cè)器和獨(dú)立主元分析來監(jiān)測(cè)鉆井氣侵的發(fā)生;連志龍等[6]運(yùn)用BP神經(jīng)網(wǎng)絡(luò)算法診斷井漏情況;Liang等[7]基于粒子群算法優(yōu)化支持向量機(jī)(PSO-SVM)建立了井漏風(fēng)險(xiǎn)的動(dòng)態(tài)評(píng)估方法;王茜等[8]將物理模型與人工智能、數(shù)據(jù)挖掘相結(jié)合,實(shí)現(xiàn)對(duì)機(jī)械卡鉆的實(shí)時(shí)預(yù)測(cè)和對(duì)井涌情況的實(shí)時(shí)監(jiān)測(cè);史肖燕等[9]基于隨機(jī)森林算法建立了溢流、漏失情況的實(shí)時(shí)判斷方法;王江萍等[10]運(yùn)用神經(jīng)網(wǎng)絡(luò)對(duì)井漏、井塌、井涌和井噴等多種復(fù)雜情況進(jìn)行識(shí)別;馬鵬鵬等[11]研發(fā)的鉆井風(fēng)險(xiǎn)控制系統(tǒng),已實(shí)現(xiàn)基于模糊綜合評(píng)價(jià)和BP神經(jīng)網(wǎng)絡(luò)對(duì)鉆井復(fù)雜進(jìn)行實(shí)時(shí)診斷與預(yù)測(cè);沈建文等[12]基于神經(jīng)網(wǎng)絡(luò)算法,建立了針對(duì)川西深井的鉆井風(fēng)險(xiǎn)識(shí)別系統(tǒng)。
前人的研究多致力于選用合適的機(jī)器學(xué)習(xí)算法來診斷、監(jiān)測(cè)或預(yù)測(cè)各類鉆井復(fù)雜或事故。而運(yùn)用效果的優(yōu)劣,除了受算法本身的影響,還很大程度上依賴于數(shù)據(jù)的質(zhì)量。對(duì)于鉆井復(fù)雜這一問題,其數(shù)據(jù)具有天然的缺點(diǎn):數(shù)據(jù)不平衡。即絕大多數(shù)數(shù)據(jù)是對(duì)正常鉆井作業(yè)的記錄,只有少量數(shù)據(jù)記載了鉆井復(fù)雜情況。數(shù)據(jù)不平衡會(huì)使機(jī)器學(xué)習(xí)算法傾向于將結(jié)果劃分到多數(shù)樣本的類別,導(dǎo)致鉆井復(fù)雜情況被誤判為正常鉆井情況。
決策樹作為分類算法中重要的一支,被廣泛運(yùn)用于各個(gè)工程領(lǐng)域。其具有構(gòu)造時(shí)間短、可解釋及易可視化等優(yōu)點(diǎn)[13],可作為基分類器構(gòu)造隨機(jī)森林等集成學(xué)習(xí)算法。筆者引入錯(cuò)誤分類成本以修正數(shù)據(jù)不平衡的影響,基于決策樹模型建立了以最小錯(cuò)誤分類成本期望值為分類目標(biāo)的鉆井復(fù)雜智能診斷方法,并通過現(xiàn)場(chǎng)實(shí)例說明其較之傳統(tǒng)模型的優(yōu)勢(shì)。
在鉆井作業(yè)時(shí),地面測(cè)得的各項(xiàng)鉆井參數(shù)可以反映井下狀況,鉆井復(fù)雜的診斷也依賴于對(duì)地面數(shù)據(jù)的分析。所需參數(shù)主要包括大鉤載荷、轉(zhuǎn)盤/頂驅(qū)扭矩、排量、鉆壓、轉(zhuǎn)速、立管壓力、套管壓力、泥漿池總體積等。上述參數(shù)通常記錄在井史、完井總結(jié)報(bào)告、綜合錄井記錄、工程異常記錄等鉆井資料中。將鉆井參數(shù)從資料中提取后,生成按時(shí)序排列[9]或按井深排列[14]的原始參數(shù)表。
原始鉆井參數(shù)并不適用于診斷模型的訓(xùn)練,需要將其處理為能反映鉆井狀態(tài)的樣本。當(dāng)鉆井復(fù)雜發(fā)生時(shí),通常會(huì)導(dǎo)致地面參數(shù)出現(xiàn)異常波動(dòng),不同的鉆井復(fù)雜所表現(xiàn)的波動(dòng)形式不同。故使用參數(shù)波動(dòng)幅度作為特征值。
式中,Vi為 鉆井參數(shù)反映的特征值;Pi+1、Pi為相鄰的鉆井參數(shù)值。
其次,鉆井資料中的鉆井參數(shù)通常以散點(diǎn)值的形式記錄,通過式(1)計(jì)算得到的波幅也為散點(diǎn)值。如果將所有的散點(diǎn)值直接作為輸入用于模型訓(xùn)練,會(huì)導(dǎo)致特征過多。將反映相同鉆井情況的散點(diǎn)值分級(jí),作為新的特征值用于訓(xùn)練,既可以降低運(yùn)算成本,又可以提高模型的泛化能力。各個(gè)鉆井參數(shù)的分級(jí)標(biāo)準(zhǔn)需依據(jù)該參數(shù)的分布特點(diǎn)而定。
決策樹分類算法可以視作一系列if-then條件語句的集合[15],每次對(duì)某特征的判定會(huì)決定其下一次判斷的支路方向。傳統(tǒng)的鉆井復(fù)雜專家診斷方法也可以歸納為決策樹的形式,如圖1中的決策樹基于5個(gè)特征(鉆井工況、大鉤載荷、立管壓力、轉(zhuǎn)盤扭矩及轉(zhuǎn)盤轉(zhuǎn)速)診斷是否會(huì)有砂橋卡鉆發(fā)生[4]。
圖1 劃眼工況砂橋卡鉆診斷決策樹Fig. 1 Decision tree of diagnosing sand bridge sticking accident under the working condition of reaming
圖1 的決策樹是基于專家經(jīng)驗(yàn)總結(jié)的診斷邏輯表繪制而成,而鉆井復(fù)雜智能診斷需要基于鉆井?dāng)?shù)據(jù)訓(xùn)練得到?jīng)Q策樹。決策樹的訓(xùn)練以遞歸方式進(jìn)行,流程為[15-16]:(1)選擇目前最優(yōu)的分類特征;(2)以該特征中每一個(gè)值生成一個(gè)分支,將符合該特征值的樣本劃分到該分支下;(3)對(duì)每一個(gè)分支,將該分支路徑下已選過的特征排除后,執(zhí)行步驟1和步驟2;(4)當(dāng)步驟1已無可選特征時(shí),該分支節(jié)點(diǎn)為葉節(jié)點(diǎn),類別為其中多數(shù)樣本的類別。
由上文可知,訓(xùn)練決策樹的重要步驟之一為選出當(dāng)前最優(yōu)的分類特征。分類特征的優(yōu)劣可以用信息增益來衡量[16]。信息增益反映了樣本集依據(jù)該特征分類后純度的提高,其表達(dá)式為
式中,G為 信息增益;Ep為父節(jié)點(diǎn)樣本集的信息熵;n為按該特征分類得到的子節(jié)點(diǎn)個(gè)數(shù)(即分支節(jié)點(diǎn)數(shù));Np為 父節(jié)點(diǎn)樣本集中的樣本總數(shù);Nci為第i個(gè)子節(jié)點(diǎn)樣本集的樣本數(shù)量;Eci為 第i個(gè)子節(jié)點(diǎn)樣本集的信息熵。
其中,信息熵為一個(gè)樣本集純度的衡量指標(biāo)。信息熵越低,表明該樣本集的混亂程度越低,純度越高。信息熵的計(jì)算公式為
式中,E為信息熵;m為 樣本集中樣本的類別數(shù);Nj為第j類樣本的數(shù)量;N為樣本集中的樣本總數(shù)。
數(shù)據(jù)不平衡是指訓(xùn)練集中各個(gè)類別的樣本數(shù)量明顯不均。傳統(tǒng)的分類方法通常以追求更高的分類準(zhǔn)確率為訓(xùn)練目標(biāo),致使其分類標(biāo)準(zhǔn)往多數(shù)類傾斜?,F(xiàn)通過一個(gè)簡(jiǎn)單的例子來說明。假設(shè)某鉆井?dāng)?shù)據(jù)樣本集如表1所示,該樣本集共有6個(gè)樣本。為簡(jiǎn)化問題,假設(shè)樣本僅有特征X,該特征有A和a兩種值。每個(gè)樣本標(biāo)簽指示有無發(fā)生鉆井復(fù)雜。
表1 數(shù)據(jù)不平衡樣本Table 1 Sample of data imbalance
由表1可看出,若以該樣本集作為訓(xùn)練集來生成決策樹,特征X=A的樣本1、2和3都沒有鉆井復(fù)雜,故生成的決策樹必然會(huì)將X=A的樣本分類為 “無鉆井復(fù)雜”。而同為X=a的后三個(gè)樣本中,出現(xiàn)了“無”和“有”兩種標(biāo)簽,且比例為2∶1。若決策樹將特征為X=a的樣本分類為“無”,僅會(huì)對(duì)樣本6分類出錯(cuò),訓(xùn)練準(zhǔn)確率為83.3%;若將特征為X=a的樣本分類為“有”,會(huì)對(duì)樣本4和5都分類出錯(cuò),訓(xùn)練準(zhǔn)確率為66.7%。因此,在以高準(zhǔn)確率為訓(xùn)練目的時(shí),生成的決策樹會(huì)以前者為分類策略,導(dǎo)致類似樣本6的鉆井復(fù)雜被忽略。
為解決數(shù)據(jù)不平衡的問題,目前機(jī)器學(xué)習(xí)領(lǐng)域的研究人員主要從數(shù)據(jù)預(yù)處理、特征和算法三方面入手[17]。各種方法都有其優(yōu)點(diǎn)和局限性,鉆井行業(yè)的工作者為解決本領(lǐng)域的問題,應(yīng)從自身工程目的出發(fā),選擇適合的解決方案。鉆井工程的目的是以最低的成本建成一口井,而傳統(tǒng)的分類算法通常以實(shí)現(xiàn)最高的準(zhǔn)確率為訓(xùn)練目標(biāo),低成本和高準(zhǔn)確率并不一定同步。
在上例中,鉆井工程師之所以無法接受將X=a判斷為非鉆井復(fù)雜類,是因?yàn)閺墓こ坛WR(shí)可知,無法識(shí)別出鉆井復(fù)雜往往會(huì)導(dǎo)致更嚴(yán)重的損失,即使該分類策略的準(zhǔn)確率更高。因此,以降低成本為目標(biāo)來訓(xùn)練診斷模型,更符合鉆井工程的需求。此處的成本應(yīng)為模型診斷錯(cuò)誤所產(chǎn)生的額外工程成本,即錯(cuò)誤分類成本。以卡鉆復(fù)雜為例,若模型將非卡鉆點(diǎn)誤判為卡鉆點(diǎn),工程師則會(huì)花費(fèi)不必要的人力物力去執(zhí)行劃眼、循環(huán)洗井等作業(yè),來消除并不存在的卡鉆復(fù)雜;若模型將卡鉆點(diǎn)識(shí)別為非卡鉆點(diǎn),后續(xù)產(chǎn)生的鉆具被埋、井眼廢棄等事故即為錯(cuò)誤分類成本。
因此,應(yīng)將傳統(tǒng)的機(jī)器學(xué)習(xí)方法優(yōu)化為代價(jià)敏感的學(xué)習(xí)方法,將學(xué)習(xí)的目標(biāo)函數(shù)定為最低的錯(cuò)誤分類成本期望值[18-19]
式中,L(x,i)為 將樣本x劃 分為i類的錯(cuò)誤分類成本期望;P(j|x)為 樣本x屬 于j類的概率;C(i,j)為 將i類樣本劃分為j類的分類成本。
在實(shí)際的模型訓(xùn)練過程中,可以通過修改類別權(quán)重來實(shí)現(xiàn)將最低錯(cuò)誤分類成本設(shè)為目標(biāo)函數(shù)。傳統(tǒng)的訓(xùn)練模型默認(rèn)各類權(quán)重相同,故在前文1.3節(jié)流程第(4)步中,選擇數(shù)量最多的類為該葉節(jié)點(diǎn)的類。考慮錯(cuò)誤分類成本后,將各類的權(quán)重設(shè)置為其錯(cuò)誤分類成本,選擇總權(quán)重最低的類為葉節(jié)點(diǎn)的類。
由前文基于額外工程成本的設(shè)定可知,分類正確的成本C(i,i)=C(j,j)=0。以表1情況為例,作出其錯(cuò)誤分類成本矩陣,如表2所示。
表2 錯(cuò)誤分類成本矩陣Table 2 Matrix of mis-classification cost
值得注意的是,模型求得的最小錯(cuò)誤分類成本期望L(x,i)min仍可能較大。因此需要根據(jù)工程實(shí)際,設(shè)定許用成本上限La。當(dāng)滿足此時(shí)模型才是可靠有效的。否則,還需通過其他途徑進(jìn)一步改進(jìn)診斷方法,如尋找更多有效特征,區(qū)分鉆井復(fù)雜樣本和非鉆井復(fù)雜樣本。
以川渝地區(qū)某頁巖氣水平井為例,基于決策樹建立考慮數(shù)據(jù)不平衡影響的智能識(shí)別模型,以卡鉆復(fù)雜為識(shí)別目標(biāo)。原始數(shù)據(jù)從錄井資料、井史資料、完井總結(jié)報(bào)告和工程異常記錄等文件收集整理而得,具有代表性的部分?jǐn)?shù)據(jù)如表3所示。選用大鉤載荷、扭矩、轉(zhuǎn)速、鉆壓、大鉤位置、立管壓力、排量和套管壓力等8種鉆井參數(shù)來生成樣本特征。
表3 部分原始數(shù)據(jù)Table 3 Partial initial data
按前文所述,對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理和分級(jí),生成訓(xùn)練模型所需的樣本。類別標(biāo)簽用0表示“否”,1表示“是”。部分樣本數(shù)據(jù)見表4。
表4 部分樣本集Table 4 Partial sample set
若按傳統(tǒng)的決策樹分類模型進(jìn)行訓(xùn)練,該樣本集訓(xùn)練準(zhǔn)確度為99.95%,但會(huì)將8號(hào)樣本判定為未卡鉆。因此,當(dāng)該模型運(yùn)用于測(cè)試或?qū)嶋H作業(yè)中時(shí),將無法識(shí)別類似8號(hào)樣本的卡鉆情況。究其原因,是因?yàn)?號(hào)樣本與1、3、5號(hào)樣本特征一致,而這3個(gè)樣本的標(biāo)簽為“否”。為了實(shí)現(xiàn)更高準(zhǔn)確率,傳統(tǒng)模型將該特征的樣本都分類為未卡鉆。
新模型將錯(cuò)誤分類成本引入模型中。假設(shè)通過洗井、劃眼等方法處理一次卡鉆風(fēng)險(xiǎn)的成本為5萬元,而發(fā)生卡鉆事故后造成的經(jīng)濟(jì)損失為100萬元,許用成本上限La為10萬元。計(jì)算可得,將該特征的樣本劃分為卡鉆的錯(cuò)誤分類成本期望為
劃分為非卡鉆的成本期望為
將該特征樣本劃分為非卡鉆的分類方式與傳統(tǒng)模型的分類方式相同,故傳統(tǒng)模型的成本期望也為25萬元。比較可知,將該特征的樣本劃分為卡鉆的錯(cuò)誤分類成本期望,既小于將其劃分為非卡鉆的成本期望,又小于許用成本上限。因此,改進(jìn)后的決策樹會(huì)將8號(hào)卡鉆樣本識(shí)別出來,且成本期望比傳統(tǒng)方法降低85%。
(1)現(xiàn)場(chǎng)資料中的鉆井資料常有數(shù)據(jù)不平衡的特點(diǎn),表現(xiàn)為記錄鉆井復(fù)雜的數(shù)據(jù)量遠(yuǎn)少于記錄正常作業(yè)的數(shù)據(jù)量。數(shù)據(jù)不平衡會(huì)導(dǎo)致傳統(tǒng)分類算法向多數(shù)類傾斜,導(dǎo)致少數(shù)類的鉆井復(fù)雜情況無法被有效識(shí)別。
(2)基于決策樹方法,引入錯(cuò)誤分類成本來處理數(shù)據(jù)不平衡問題,將傳統(tǒng)分類模型的訓(xùn)練目標(biāo)從實(shí)現(xiàn)準(zhǔn)確率最高改進(jìn)為實(shí)現(xiàn)成本期望值最低,建立考慮數(shù)據(jù)不平衡影響的鉆井復(fù)雜智能診斷新模型。新模型能有效診斷出樣本較少的鉆井復(fù)雜情況。
(3)通過實(shí)例分析,將新模型運(yùn)用于川渝地區(qū)某頁巖氣水平井的卡鉆復(fù)雜診斷,能有效識(shí)別被傳統(tǒng)方法忽略的卡鉆樣本,且成本期望降低85%。
(4)本文的鉆井復(fù)雜診斷方法雖然以決策樹模型為基礎(chǔ),但以降低錯(cuò)誤分類成本為訓(xùn)練目標(biāo)解決鉆井?dāng)?shù)據(jù)不平衡問題的思路,可推廣到其他分類模型的訓(xùn)練中,為解決類似的問題提供參考。