張維罡(東北石油大學計算機與信息技術學院,黑龍江 大慶 163318)
石油行業是一個涉及了多個學科的綜合性工業領域,而在石油鉆井領域中,減少成本,提高效率是所有人長期研究的課題。在如今信息化的時代,如何將傳統的石油鉆井項目與機器學習等創新型技術結合,建立數字化油田,是石油工作者目前工作的重點之一。本項目計劃通過對鉆井過程中的數據進行分析,使得機器學習、深度學習等創新型項目在鉆井領域獲得初步應用,對鉆井速度進行優化。
數據選擇模塊是對鉆井過程中獲得的參數進行篩選,該模塊主要內容包括以下兩點:第一是對比不同井的鉆井數據,選擇出數據量最大,參數最多,時間最長的一組鉆井數據。第二是對鉆井的參數進行對比,刪除在整個鉆井期間都維持不變的靜態參數,并且把鉆速為空的時間段刪除。最終,數據選用2021年美國開源鉆井數據,井號為16a_32,數據是2020年10月25日到11月4日每隔10秒收集一次的鉆井數據,有32個參數,大約56萬條數據。
數據清洗模塊的目的為解決數據的質量問題。例如比如數據部分缺失、特征無效等。該模塊主要工作為以下兩點:第一,刪除無關的數據,即剔除掉那些對于模型的實驗結果無關的數據,例如鉆頭直徑這樣的數據;第二,刪除特征值全為空或為0的數據。在鉆井過程中,可能存在記錄時出現錯誤導致沒有記錄的情況,這些參數就會為空,可以認為其是無效參數,可以在數據中刪除。通過數據選擇模塊,可以保證實驗時的鉆井數據的數據質量,為接下來的實驗做鋪墊。
離群點指的是那些間隔較遠、明顯偏離其他數據點的樣本點。其作用為檢測并處理數據中存在的離群點。在數據分布上,普通樣本平時聚集在一小塊區域,而離群點的分布則比較稀疏,并且與其他樣本點相距比較遠。所以需要對離群點進行檢測與刪除的工作。
于是得出結論,即該模塊中主要進行三部分工作:(1)通過運用單元的3&離群點算法與MAD離群點算法進行模型運算,通過rmse的得分進行對比,從單元離群點算法中選擇出實驗效果較好的算法。(2)通過運用多元離群點檢測算法,例如:Isoliation Forest、Local outlier Factory、Elliptyc envelop等 算 法進行比較與選取,選出多元離群點檢測算法中實驗效果較好的一個算法。(3)將多元離群點檢測算法中實驗效果較好的那一個與單元離群點檢測算法中實驗效果較好的那一個進行融合,變成既能照顧到單元離群點檢測算法,又能照顧到多元離群點檢測算法的數據,將其刪除。這樣一來,就可以得到更加適用與石油鉆井領域的離群點去除算法。
對數據進行歸一化與標準化的原因是運用機器學習解決石油領域或其他領域的實際問題時,數據中有可能出現由于特征之間相互有不同的衡量標準,導致即使使用同一類型的度量,各個特征之間的差異性也會非常大。例如特征A與特征B都是關于路程的特征,特征A一般使用千米單位進行測量,而特征B一般運用米來進行度量。這種情況下,如果不引入數據的標準化的方法,則會使得特征A的影響要遠遠比特征B的影響要大。因此,為了對這種情況進行排除,需要將數據進行歸一化或標準化。通過離群點去除算法將離群點去除后,需要進行數據集的歸一化與標準化處理,以及對數據的清洗。首先,運用sklearn中的算法將數據集分割成media和valid兩個數據集,testsize設置為0.2,然后將midia再次通過sklearn中的數據集分割算法,testsize再次設置為0.2,最后得到訓練集,測試集以及驗證集。
針對一般的優化問題,首先要對相關輸入與輸出的關系建立映射,為了達到最優化的目的,應基于這種映射來找到全局最優解。要想將這種方法應用到實際的項目中去,應該做到以下兩點:第一是建立目標特征與其他特征建立對應關系,在本項目中對應的是將鉆速與其他特征例如鉆壓,大勾高度等參數建立映射關系;第二則是在模型訓練后尋找函數本身的最優點。
在本項目中,重點與難點是進行數據的分析,即對于石油鉆井的各項參數的可視化,圖表分析。通過對石油鉆井數據的分析,我們才能進一步得出結論。所以,該模塊分為以下兩個部分:(1)通過對數據的分析,合理的使用數據預處理的各個模型,使得模型擬合效果達到不錯的效果,并在這個過程中,通過查看各個 參數對rop鉆速的影響,來對這些參數的重要性有一個大概的了解。(2)通過使用lightgmb算法,對訓練集中的鉆速進行擬合,通過調整模型參數,以及刪除離群點等操作,使得該模型的rmse評分達到最優,通過其算法的特點,找出最能影響鉆速的10個參數與數據分析時所找的參數進行分析對比。最終找出最能影響鉆速的參數。(3)使用全連接神經網絡對同樣的數據集進行擬合,觀察擬合效果。(4)根據(1)(2)(3)中模型預測效果的對比以及相關分析,選擇合適的模型,確定最終模型的結構。(5)根據訓練好的模型結構,尋找模型局部較優點。
運用上述去除離群點的方法去除離群點之后,對Lightgbm模型進行訓練,得到相應的rmse的值。通過實驗結果可以推出:Lightgbm模型訓練時間段,訓練效果好,比較適合用于鉆速預測的工作。在Lightgbm模型中,數據各個特征對于目標特征的重要程度可以進行從小到大的排序,而且通過生成回歸樹進行分割的次數也能被記錄下來。雖然通過調整模型中的各個參數來對模型本身進行優化,但是各個特征之間的關系,即對目標特征的重要程度不會發生相應的變化。通過對結果數據進行分析可以看出鉆時對最終預測結果的影響最大,遠高于其他特征,這與在數據分析時所畫的圖相同,說明該參數對于鉆速的影響確實非常大。對鉆速影響第二大的是大勾高度,在歷史擬合的實驗中,該特征往往被忽略,而該實驗則可以對傳統歷史擬合作出一定程度的補充。另外,還有很多參數也能對模型的結果產生影響,例如活動池體積、鉆壓等。在歷史擬合的實驗中,這些參數都是鉆井過程中會直接影響鉆進速度的因素,理應對鉆進速度的預測有較大的影響。而那些靜態變量,例如測量井深、垂直井深等,在一開始的數據分析中就發現對實驗結果影響不大,這也是合情合理的。
在該實驗中,我們運用 pytorch對模型進行建模,進行數據訓練時,采用4層網絡架構,包括輸入層,dropout層,隱藏層以及輸出層。通過數據預處理將靜態變量刪除后,剩下的數據中一共包含有25個特征參數,因此輸入層包含25個輸入節點;在選取激活函數時,使用Relu函數,在輸出層不使用激活函數,將最后一層隱層的輸出經過加權后直接作為輸出的預測結果。在神經網絡的訓練過程中,通過選取合適的batch與epoch來控制模型的訓練過程。通過設置dropout為0.2來保證數據的隨機性。通過pytorch中的優化器進行設置使得學習率為0.000 1,優化器選用adam。在實驗中,迭代次數為第930次迭代時目標特征的擬合程度達到最優,共耗時為892秒。通過實驗數據的分析可以看出神經網絡對于相同的數據同樣展現出了良好的擬合能力,并且沒有異常情況出現,如欠擬合或過擬合等。通過與Lightgmb模型進行對比,發現該模型訓練出的效果比lightgmb模型的效果要好。但是訓練的時長是lightgmb模型的很多倍。經過上述模型訓練以及分析過程可以看出,即使運用最簡單的深度學習框架,也和如今流行的機器學習算法的訓練效果差不多。而普通的算法模型的訓練效果就要比深度學習的訓練效果差上不少。
本項目分別在不同的模型中對鉆速進行了預測,運用的模型有Lightgbm模型、全連接神經網絡模型以及普通算法模型。根據模型得出的rmse分數以及測試集上的表現可以推出以下結論:(1)普通的算法模型的rmse得分較差,Lightgbm模型的rmse得分基本與全連接神經網絡模型相同,比其他算法模型效果都要好。(2)全鏈接神經網絡模型得出結果的時間最長,Lightgbm模型得出結果的時間是最短的。這說明在實踐過程中運用lightgbm模型的效果能達到最優。
本項目主要完成了以下三部分工作內容:(1)通過對鉆井過程中存在的問題與機器學習算法結合起來進行研究,使得機器學習算法能與實際問題結合,并提供優化思路。為后續研究提供理論基礎。(2)鉆井數據處理方案的設計。本文通過對鉆井數據特征進行研究,將不必要的特征刪除,并且結合系統論的思想,實現了對于鉆井數據的處理,其中,數據清洗最為重要,是機器學習項目中的基石。通過分析數據,可以得出到底運用哪個鉆井參數的結論。(3)本文通過機器學習的常用優化策略,實現對鉆速的優化,通過常用的回歸模型來對對應鉆速的各個參數實現優化與處理。