蘇興華 孫俊明 高 翔 王 敏
1(中石油川慶鉆探工程有限公司 陜西 西安 710018)2(西北工業大學計算機學院 陜西 西安 710072)
隨著經濟的快速發展,自然資源的消耗逐年增大,石油、天然氣等自然能源的使用量急劇增長[1]。全球鉆井勘探也從陸地到海洋,從淺層到深層、超深層發展以求滿足日常的社會需求。中國是一個貧油國家,淺層和中淺層石油儲量已經基本探勘清楚,遠遠無法滿足社會需要[2]。因此,提高機械鉆速、增大石油產量是當今國內外研究的熱點課題[3]。石油鉆井是一項投資巨大的工程并且具有很強的風險性,在鉆井過程中,鉆井費消耗巨大[4]。如果能有效地提高鉆井機械鉆速、減少鉆井周期,就能達到增大石油產量、減少成本目的,這對于企業降低鉆井施工成本、減少鉆井風險、增強市場競爭力等,對于國家解決能源緊缺問題、減少社會矛盾等均有重大意義[5]。
隨著大數據技術的快速發展以及數據的急速增長,用機器學習的方法對數據進行挖掘并應用到鉆井工業中的情況已有多例,在鉆頭優選、巖性識別等領域中已經得到了有效的應用[6-7]。但是在用機器學習的方法預測機械鉆速方面卻鮮有研究和報道。長慶公司經過多年的鉆井實踐,收集了大量的關于鉆井液、鉆井地質、泥餅等鉆井數據。研究表明,這些數據是影響機械鉆速的重要因素。如果能合理利用這些數據,充分分析和挖掘數據中影響機械鉆速的重要特征并建立機器學習模型,則能夠在現有人力和設備條件基礎上大大提高機械鉆速,從而達到優化整合設備、提高資源輸出、減少巨額成本的重大效果。本文以同區塊鉆頭尺寸、鉆壓、泵壓等字段為特征,以機械鉆速為標簽進行了一系列的監督學習實驗,建立該區塊的鉆速預測模型。嘗試了包括Linear Regression(線性回歸)[8]、Support Vector Regression(支持向量回歸)[9]、Gradient Boosting Decision Tree(梯度增量決策樹)[10]等建模方法,通過對比這些模型,最終選擇了效果最優的GBDT作為鉆速模型。本文的主要貢獻如下:
1) 率先使用了機器學習的方法和策略對特定區塊的機械鉆速預測方法進行了研究,建立了有效的鉆速預測模型。實際運行效果表明,該模型預測準確,為設計和優化鉆井方案提供了科學有力的支持,有助于實現提升機械鉆速的目的,大大減少了成本,節約了開支,具有良好的經濟效益。
2) 率先提出了基于GBDT算法的鉆速預測,通過與KNN、SVM、LR等一系列算法的對比實驗,結果表明該模型有平均90%的可決定系數,效果最優,令人滿意。
機械鉆速指的是單位純鉆進時間內的進尺量,鉆速越大則鉆井效率越高,能更快到達油層。不同地區條件下由于地質條件的不同、巖石層軟硬不同、泥層的含沙量不同等都能影響到鉆頭鉆進速度。在安全施工條件下巖石層越硬,則鉆速越低[11]。同時,機械鉆速還受到鉆井液的影響。鉆井液在鉆井過程中起到了清潔井底、攜帶巖屑、減少鉆頭磨損、提高鉆井效率的作用[12]。此外,地質條件、鉆井液成分、設備好壞、鉆井工藝先進與否等都是影響機械鉆速的重要原因。
研究顯示,鉆速預測由來已久。從20世紀50年代開始,一些學者利用如鉆壓井眼直徑、排量等主要因素,利用回歸分析的方法得出一些鉆速方程,然后再通過考慮底層巖性、鉆井液參數等設置系數優化方程[13]。隨著計算機功能提高,仿真技術的興起。有學者通過設計實驗,建立動力學模型、鉆頭仿真模型等,進行了鉆井沖擊力和機械鉆速仿真設計,不僅提高了擬合效果,還起到了鉆井參數優化、省人力物力的作用[14]。近年,Liu等[15]研究深水底孔噴射鉆井的機械鉆速與地層強度、鉆頭結構、水力參數等密切相關,通過對模擬試驗數據的分析和處理,建立了適用于白云地區的鉆壓與機械鉆速之間的相互關系模型。隨著人工智能的發展,神經網絡[16]、多元回歸[17]等機器學習方法也應用到鉆速預測之中,但是目前國內的這類研究報道較少。
真實的數據不可避免會收到一些“污染”,變成“臟“數據,而有些機器學習的方法對數據比較敏感,如果原始數據處理不合理,則最終得到的結論往往也是不能使用的。此外,沒有一種機器學習的方法是萬能通用的,都有各自的缺點,比如神經網絡,就有容易陷入局部最小化問題。
本文提出采用以GBDT算法為核心的機器學習的方法研究影響機械鉆速的關鍵因素。GBDT算法因預測準確率高、對原始數據不敏感等優勢逐步在機器學習的眾多算法中大放異彩。采用機器學習算法預測機械鉆速,優勢是能夠在當前設備和資源條件下準確地找尋影響機械鉆速的若干個核心因素,不僅實驗成本低、周期短,而且效果極好。同時,如今的鉆速模型往往受限于十幾個甚至幾十個條件的約束,在高維度特征的條件下,傳統的方法已經不能很好地去解決實際問題。而采用機器學習的方法恰能處理好上述問題。除此以外,機器學習的方法可復制性強,可以在多個地區進行推廣使用。
GBDT是一種集成學習算法,它是由Decision Tree(決策樹)和Gradient Boosting(梯度提升)兩部分組成。
決策樹算法是機器學習和數據挖掘中的一個重要的算法,它主要用來處理給定規則條件下的一些問題。和大多數算法模型一樣,該算法可以用來對數據進行分類和回歸處理,從而建立有效的數據模型來處理相關問題。在該算法模型中,常見的有ID3、C4.5和CART[18]等,其中C4.5決策樹算法是在ID3決策樹算法的基礎上改進發展而來的。
提升(Boosting)算法[19]是一種集成學習的算法,它的目標就是讓一類弱學習器提升為強學習器的集成學習過程。總體思路是,通過不斷改變訓練樣本每個點的權值,學習得到多個弱分類器,然后線性組合這些分類器組成一個強分類器。梯度提升(Gradient Boosting)算法是提升算法的一種,它的特點是,在每次進行訓練過程中,都是為了減少上一次過程中的殘差。在減少殘差的過程中使用梯度下降法來優化模型,使得每一個損失函數最小。
GBDT算法是通過采用加法模型(即基函數的線性組合),以及不斷減小訓練過程產生的殘差來達到將數據分類或者回歸的算法。圖1為GBDT算法的訓練過程。

圖1 GBDT算法的訓練過程
GBDT算法中每輪迭代使用的弱分類器為CART TREE(分類回歸樹),由于這種樹的特點是高偏差和低方差,而且樹的深度不深,非常適合作為該算法的每一輪迭代中的弱分類器。通過加法模型得到的總的分類器模型如下:
(1)
式中:T(x;θm)表示弱分類器。弱分類器損失函數表達式如下:
(2)
式中:L(·)表示損失函數。
每個分類器都是在上一輪分類器的殘差基礎上進行訓練的,在迭代過程中使用的梯度下降法,即利用損失函數的負梯度在當前模型的值作為回歸問題提升樹算法中的殘差的近似值去擬合一個回歸樹。常見的損失函數有:平方損失 (squared loss)、絕對值損失 (absolute loss)、Huber損失(huber loss),如表1所示。

表1 常見的損失函數
GBDT從誕生以來一直備受青睞,它有幾個重要特點:(1) 預測精度高;(2) 能處理連續值和離散值兩種類型數據;(3) 使用一些健壯的損失函數,對異常值的魯棒性非常強;(4) 對數據不敏感,在數據預處理階段可以不進行歸一化處理等。本節對GBDT算法進行了實驗。為了突出該算法的優勢和保證科學實驗的嚴謹性,以SVR、LR、KNN等一些算法為參照設計了相關的對比實驗。
步驟一導入數據。本次實驗的數據來自大慶公司某特定區塊下鉆井數據,真實有效。數據包括鉆井時間、鉆井區塊、鉆頭尺寸、鉆壓等60余個字段,通過與領域專家交流后字段維度精簡為23個。本次實驗全部數據有2 927條,表2和表3列舉了部分數據資料。

表2 部分鉆井資料1

表3 部分鉆井資料2
步驟二劃分訓練集和測試集。由于GBDT得天獨厚的優勢,原始數據不用進行歸一化預處理,可以直接劃分測試集和訓練集。這里采用了10折交叉驗證。即將原數據平均分成了10份,依次取1份作為測試集,剩下的9份作為訓練集。然后保持不重不漏地進行10次實驗,計算出每次實驗的可決系數R2[20]。
步驟三建立GBRT模型。本次實驗使用的是Python中sklearn包。該包功能強大,支持分類、回歸、降維和聚類四大機器學習算法。同時完美支持GBDT算法操作。核心參數代碼如下:
params={′n_estimators′:500,′max_depth′:4,′min_samples_split′:1,21′learning_rate′:0.01,′loss′:′ls′}
其中:n_estimators表示迭代次數,也就是弱學習器個數;max_depth表示每一個學習器的最大深度,限制回歸樹的節點數目;min_samples_split表示可以劃分為內部節點的最小樣本數;learning_rate表示學習率;loss表示選擇損失函數,默認值為ls(least squres)。
步驟四模型的評估。我們以可決系數R2作為模型的評價標準,10次實驗的R2如表4所示,實驗的平均R2為0.90。該實驗平均可決系數接近1,表明該實驗對觀測值的擬合度很好。

表4 GBDT模型下10次實驗的R2值
為了直觀地顯示結果,以橫坐標為預測值,縱坐標為測試值做出了預測值和真實值的關系圖,如圖2所示。

圖2 GBDT模型下預測值和真實值關系
圖中橫坐標為機械鉆速的預測值,即在訓練集上通過輸入特征向量而得到的預測值,縱坐標表示記錄的機械鉆速的真實值,也成為觀察值。它們的單位均為m/h,表示每小時的進尺量。45°線表示預測值和真實值的接近程度,如果點均落在了該直線上,說明預測值完美等于真實值,則模型的預測準確率為100%;當點落在了直線附近,而且越緊致,表示預測的準確率較高,模型的擬合效果不錯;當點偏離該直線較遠距離時,表明該模型擬合效果很差。圖2中大部分點落在了直線附近,且緊致收縮于45°線,少部分偏離該直線,印證了基于GBDT算法的預測模型效果優良。
將原數據以相同的處理方式進行同類型操作,設計并進行對比實驗。
LR(線性回歸)模型下的可決系數R2如表5所示。

表5 LR模型下10次實驗的R2值
平均可決系數R2為0.61。
LR模型下預測值和真實值的關系圖如圖3所示。

圖3 LR模型下預測值和真實值的關系圖
可以看出,線性模型的擬合效果非常不好,甚至給出了負的預測值,這與事實嚴重背離。除此以外,線性模型在預處理階段需要對數據進行歸一化等相關處理,以求減少數值量度對模型的影響規律。而在GBDT模型中,這個步驟完全可以省略。這一結果大大體現了GBDT算法在建立機械鉆速模型中的優勢。
SVR(支持向量回歸)也是比較流行的、效果不錯的一種回歸模型。本實驗中同樣采用sklearn包中的SVM類。其核心代碼如下所示:
sklearn.svm.SVR(kernel=′rbf′,degree=3,gamma=′auto_deprecated′,coef0=0.0,tol=0.001,C=1.0,epsilon=0.1,shrinking=True,cache_size=200,verbose=False,max_iter=-1)
其中需要調整的參數如下:
Kernel:表示核函數的種類,通常的核函數有“linear”、“poly”、“rbf”和“sigmod”。
Gamma:表示核函數系數。
C:表示懲罰系數。它的作用是平衡樣本復雜度和誤分類率這兩者的關系。
Epsilon: 表示損失距離度量。
在核函數的選擇過程中,“rbf”方式是最常用的方式,通過后來的比較選擇,也發現這個方式最優。在“rbf”方式下,只需要調整“Gamma”、“C”和“Epsilon”這三個參數值。在擇優選擇過程中,選擇使用了“網格搜索”的方式,選擇模型R2最好的“[Gamma=0.3,C=1,Epsilon=0.1]”作為實驗結果。SVR模型下的可決系數R2如表6所示。

表6 SVM模型下10次實驗的R2值
平均可決系數R2為0.86。
SVM模型下預測值和真實值的關系如圖4所示。可以看出,SVR模型下實驗效果還可以,但通過R2的比較,發現與GBDT模型相對比仍然不是最優的。

圖4 SVM模型下測值和真實值的關系
對于相同的數據,使用不同的機器學習方法進行訓練,所有對比實驗結果如表7所示。實驗結果表明,這些對比實驗的結果相較于GBDT方法還是有不小差距,說明GBDT算法在這一數據條件下模型的匹配度更高。

表7 不同機器學習算法平均R2值
為了使GBDT的模型擬合能力越強,模型的效果更好,必要的調參過程必不可少。在實驗中按照網格搜索的方法,分別從參數步長、弱分類器個數、決策樹最大深度、內部節點入手,選擇出更優的模型參數,然后再在新的數據(3號井和4號井)中驗證結果,比較各個參數下的模型的泛化能力。由于在測試集表現好的模型不一定泛化能力更好,因此模型參數的最優選擇應統籌考慮模型在測試集中的效果和模型的泛化能力,參數結果如表8所示。調整后的模型在測試井中R2值并不是最高的,但泛化效果是最好的,有效地減少了過擬合的風險。表9為調參前和調參后模型R2比較,可以看出,雖然在測試集調參前后模型的R2沒有明顯變化,但是最終的模型泛化能力更好,調參起到了一定的效果。

表8 調整前后模型參數的選擇

表9 調參前和調參后模型比較
本文提出采用機器學習的方法研究影響機械鉆速的關鍵因素,這種策略的優勢是能夠在當前設備和資源條件下找尋影響機械鉆速的若干個核心因素。設計并實現了一系列的關于預測機械鉆速的模型算法,通過對比擇優選擇了GBDT模型作為最終的模型。該模型相對其他模型來說,具有較高的平均可決系數,說明該模型的回歸直線對觀測值的擬合程度更好。同時,該模型能夠選擇影響機械鉆速的若干個核心因素,給施工現場提供高效有力的指導依據。相對于傳統提升鉆井設備、改進鉆井工藝、根據經驗改變參數等方法來提高鉆井效率,使用機器學習方法能從海量的數據中找到影響機械鉆速的若干個有意義的參數,并且能夠建立高效而又準確的模型,這將大大減少設計實驗的周期和成本。另外,這種方法可復制性強,可以在多個地區進行推廣使用。
由于拿到的數據有限,本文只能考慮文中提及的幾個特征作為影響機械鉆速的因素,還有其他特征,比如鉆井液具體成分等,對機械鉆速的影響規律未能夠進行有效的實驗探索,如果后續能拿到這些數據則有望做進一步深入研究。