單立群,祁妍嫣,姜淑賢,劉彥昌,劉修遠
(1.東北石油大學秦皇島校區(qū),河北秦皇島066004;2.西南石油大學石油與天然氣工程學院,四川成都610500;3.大港油田公司同欣集團綜合管理部,天津300280)
準確、高效地進行油藏描述是油氣藏工程中最常見、最具挑戰(zhàn)性的工作。地震數(shù)據(jù)提供了有關地質井間非均質性的寶貴信息,減少了盆地和油藏地質建模的不確定性。地球物理測井中的地震反演是油氣藏定性過程中的一個重要步驟。它可以將地震反射數(shù)據(jù)轉換成儲層的定量巖石性質描述[1],這些性質與孔隙度、滲透率、巖相、流體飽和度等巖石物理特征有關[2]。測井曲線通常用于油藏描述,作為條件約束或反演結果的驗證,可以直接測量井位的巖石和流體性質,給出巖石的彈性和物理性質[3]。Doyen[4]首次提出了利用地震屬性預測儲層屬性的想法,利用地質統(tǒng)計學方法從水平的單地震屬性中獲得儲層屬性。該方法在20世紀90年代初被推廣到使用多個屬性,提出了在井位建立地震屬性與儲層屬性統(tǒng)計關系的多屬性方法。Schultz等[5]利用這種關系預測儲層參數(shù)。Kalkomey[6]發(fā)現(xiàn)在反演過程中涉及太多的屬性會導致孔隙度預測的測井曲線高度不準確。
目前,儲層參數(shù)預測主要使用人工神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN)、支持向量機(Support Vector Machire,SVM)、模糊邏輯方法、模擬退火法、粒子群優(yōu)化和遺傳算法等[7-11]。這些技術使用多屬性地震數(shù)據(jù),所獲得的儲層特征與井眼內存在的固有不確定性無關,提高了油氣行業(yè)儲層物性預測的準確性。但是,上述技術訓練單個模型以尋求對訓練數(shù)據(jù)模式的理解。單一模型往往會過度擬合,導致預測效果不佳。同時,這些方法沒有考慮地震屬性的重要性對測井曲線識別精度的影響。針對這些問題,提出基于集成學習的自然伽馬測井曲線預測方法,與傳統(tǒng)方法比較,該方法具有較高的預測精度。
集成學習在處理小樣本、高維度、復雜的數(shù)據(jù)結構方面具有獨特的優(yōu)勢,是機器學習和模式識別領域的研究熱點。集成學習方法通常是將多個機器學習模型(如決策樹、人工神經(jīng)網(wǎng)絡、樸素貝葉斯等)的預測結果結合起來,形成集成學習模型,以提高預測的準確性和泛化能力。與在單個模型上進行參數(shù)調整的傳統(tǒng)做法相比,聚合來自多個模型的結果是提高模型精度的一種更復雜的方法。由于決策樹對訓練集上的微小變化非常敏感,適合于訓練數(shù)據(jù)的攝動過程,所以集成學習方法一般都使用決策樹作為基類學習器。以協(xié)商一致的方式組合基類學習器,通常使用投票或平均的組合策略。
隨機森林(Random Forest,RF)是一種基于樹的集合方法,利用bagging方式生成整個訓練集的各種子集來構建單獨的樹。RF基類學習器通常選擇分類和回歸樹算法,在每個節(jié)點的分割過程中,隨機選擇1個特征子集,而不是考慮所有可用的特征。在結構樹中,獨立向量和隨機向量是同分布的,禁止在RF中修剪樹木。這樣,在給定相同的訓練樣本的情況下,生成的樹是隨機構建的,并且主要由生成的隨機向量控制。RF可能會產(chǎn)生不同的樹,從而在樹之間提供額外的多樣性。由于采用了樹的組合算法,使得預測精度有了明顯的提高。
AdaBoost算法的主要思想是針對同1個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成1個更強的最終分類器(強分類器)。Adaboost算法本身是通過改變數(shù)據(jù)分布實現(xiàn)的,它根據(jù)每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,在隨后的訓練中,盡量少考慮那些容易識別的樣本,而前幾輪中被錯誤分類的例子將引起更多的注意,來確定每個樣本的權值。將修改過權值的新數(shù)據(jù)集送給下層分類器進行訓練,將每次得到的分類器融合起來,作為最后的決策分類器。
XGBoost算法是1種梯度提升集成樹的構建方法,通過不斷地添加樹,不斷地進行特征分裂來生長1棵樹,每次添加1個樹,其實是學習1個新函數(shù)f(x),擬合上次預測的殘差。當訓練完成得到k棵樹,得到預測1個樣本的分數(shù),然后根據(jù)這個樣本的特征,在每棵樹中落到對應的1個葉子節(jié)點,每個葉子節(jié)點就對應1個分數(shù)。最后只需要將每棵樹對應的分數(shù)加起來就是該樣本的預測值。
XGBoost算法使用了一階和二階偏導,二階導數(shù)有利于梯度下降地更快更準。使用泰勒展開取得函數(shù)做自變量的二階導數(shù)形式具有足夠的靈活性,僅僅依靠輸入數(shù)據(jù)的值就可以進行葉子分裂優(yōu)化計算,這將損失函數(shù)的選取和模型算法優(yōu)化(參數(shù)選擇)分開,這種去耦合增加了XGBoost算法的適用性,使得它按需選取損失函數(shù),可以用于分類,也可以用于回歸。
①收集特征測井曲線和地震資料;②從研究區(qū)地震體中提取地震屬性;③將測井和地震屬性整合到同一個域中;④對測井和地震屬性進行預處理和歸一化;⑤通過XGBoost算法分析,優(yōu)選地震屬性中重要的特征來預測各類測井曲線;⑥利用網(wǎng)格搜索和交叉驗證優(yōu)化集成學習(XGBoost、AdaBoost和隨機森林)方法的參數(shù);⑦利用所選特征和最優(yōu)參數(shù)訓練集成學習模型,構建測井曲線預測模型;⑧利用建立的集成學習模型對地震資料進行測井預測和評價。
在大港油田X區(qū)塊A區(qū)明化鎮(zhèn)組高產(chǎn)砂巖儲層收集了125口井的常規(guī)測井資料,包括補償中子測井、自然伽馬測井、自然電位測井、聲波測井、中子伽馬測井、微梯度電阻率測井、0.5 m電位電阻率和2.5 m梯度電阻率測井資料。研究區(qū)測井自下而上進行,深度間隔為0.125 m,測井數(shù)據(jù)是十進制格式。搜集的三維疊后地震數(shù)據(jù)總面積約為6.5 km2,測量時間間隔是2 ms,在整個時間范圍內數(shù)據(jù)質量良好。在該研究中,從地震數(shù)據(jù)中提取的屬性是測井預測的輸入數(shù)據(jù);輸出數(shù)據(jù)是由地震屬性估計得到的測井數(shù)據(jù)。選擇巖石物理研究中最常用的34個地震屬性作為測井數(shù)據(jù)預測學習模型的候選輸入(見表1)。
表1 地震屬性列表
通過對測井資料分析,首先選取研究區(qū)中的5口井進行測井曲線深度校正。然后,對測井數(shù)據(jù)進一步處理,包括數(shù)據(jù)清洗、數(shù)據(jù)歸一化和數(shù)據(jù)標準化。
關于數(shù)據(jù)清洗,本研究采用均值替代方法和散點圖可視化方法剔除異常值和噪聲信息。
數(shù)據(jù)歸一化能夠減少不同測量設備在不同時間觀測到的測井數(shù)據(jù)系統(tǒng)誤差,可以使所有測井數(shù)據(jù)符合相同的標準。同時,數(shù)據(jù)標準化具有加快訓練過程的作用。在本文的實驗中,根據(jù)式(1)將輸入序列被縮放到0到1的范圍實現(xiàn)歸一化。
(1)
測井曲線標準化步驟:①確定全區(qū)穩(wěn)定分布的標準層(選擇厚段泥質層);②采用直方圖進行特征峰值的分析和確定標準井;③將待標準化的井峰值以標準井為基準,進行標準化處理。
由于測井資料(深度域)和地震資料(時間域)在不同的尺度域有不同的分辨率,測井資料和地震資料需要整合到同1個尺度域。首先,測井數(shù)據(jù)從深度轉換到時間域,以匹配地震剖面;然后將地震響應與測井數(shù)據(jù)在準確的井位進行匹配。本文利用Jason Geoscience Workbench(JGW)軟件確定井震時間深度關系,每隔2 ms從井筒軌跡中提取1個測井數(shù)據(jù)點,實現(xiàn)測井數(shù)據(jù)與地震數(shù)據(jù)具有相同的尺度。
使用XGBoost算法進行地震屬性重要性分析,優(yōu)選重要的屬性進行測井曲線分析,地震屬性重要性由XGBoost算法獲得的權重值來評價。以自然伽馬預測為例,圖1顯示了34個地震屬性在預測自然伽馬曲線時的重要性權重。在直方圖中,屬性1排名最高,而屬性9、17、22、23、26、27和29與自然伽馬沒有相關性。重要性屬性選擇基于得分為0.01或更高的權重。
圖1 預測自然伽馬時地震屬性重要性權重
測井曲線預處理和地震屬性優(yōu)選后,構建樣本數(shù)據(jù)集。根據(jù)測井樣本個數(shù)確定地震數(shù)據(jù)點,以保證模型輸入與輸出的一致性。確定該研究區(qū)用于自然伽馬預測的數(shù)據(jù)集樣本個數(shù)為1 111,聲波測井預測的樣本個數(shù)為2 121,自然電位測井預測的樣本個數(shù)為2 121以及微梯度電阻率測井預測的樣本個數(shù)為1 919。數(shù)據(jù)集被隨機分為訓練集(80%)和測試集(20%)。利用訓練集學習輸入地震屬性與測井曲線之間的關系,保留測試集以評估最終學習模型的效率。用于模型測試的數(shù)據(jù)沒有用于訓練和最終優(yōu)化的訓練過程,僅用于最終的模型性能分析。
該研究所有成果均由Python軟件平臺實現(xiàn),采用網(wǎng)格搜索與十折交叉驗證相結合的方法對模型參數(shù)進行優(yōu)化,采用均方根誤差(MSE)和決定系數(shù)(R2)評價集成學習模型預測準確性。
圖2~圖4為測試階段預測的測井曲線與實際測井曲線的對比。測試階段對應的預測數(shù)據(jù)點幾乎落在真實測量值附近,集成學習模型的預測結果與實際測井數(shù)據(jù)吻合較好,表明提出的集成學習模型在地震資料與測井資料的匹配方面具有良好的性能。因此,本文提出的集成學習方法能夠較好地預測非均質砂巖油藏生產(chǎn)過程中缺失的自然伽馬測井曲線。
圖2 XGBoost算法預測與實際自然伽馬測井對比
圖3 AdaBoost算法預測與實際自然伽馬測井對比
圖4 RF算法預測與實際自然伽馬測井對比
表2為在地震屬性重要性選擇閾值下,利用不同的集成學習模型預測自然伽馬測井曲線時,在測試階段得到的均方根誤差和決定系數(shù)。由表2可見,通過優(yōu)化地震屬性選擇,XGBoost、AdaBoost和RF集成學習算法對非均質砂巖儲層測井曲線具有較好的預測效果。3種方法預測測井曲線得到的均方根誤差值均小于0.009,決定系數(shù)R2值均大于0.950 0。從表2中可以看出,當閾值為0.05時,預測精度較高。
表2 集成學習算法評價參數(shù)
圖5描述了XGBoost、AdaBoost、RF、ANN和SVR這5種算法預測自然伽馬時預測數(shù)據(jù)點和實際數(shù)據(jù)點的分布,其中特征重要性閾值設置為0.05。XGBoost、AdaBoost和RF算法預測的自然伽馬數(shù)據(jù)點與實際自然伽馬數(shù)據(jù)點接近,具有顯著的一致性。基于ANN和SVR算法預測的自然伽馬測井數(shù)據(jù)點與實際的自然伽馬測井數(shù)據(jù)點離散,數(shù)據(jù)一致性較差,這表明集成模型比用ANN和SVR算法預測自然伽馬更準確。
圖5 集成學習算法與ANN、SVR算法對比
(1)將測井曲線和地震體的異構數(shù)據(jù)進行集成,實現(xiàn)基于集成學習方法的測井曲線預測。
(2)新開發(fā)的自然伽馬預測算法生成的決定系數(shù)值大于0.950 0,均方根誤差值小于0.009。這些數(shù)值表明該研究采用的方法對項目研究的非均質砂巖儲層測井曲線具有良好的預測效果。
(3)將已有的研究結果與集成學習算法進行了比較,結果表明集成學習算法在預測測井曲線方面具有更好的性能。