段友祥, 王言飛, 孫歧峰
(中國石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266580)
當(dāng)今,隨著油氣勘探不斷地向深層和儲(chǔ)集條件復(fù)雜的區(qū)域開發(fā),油氣勘探活動(dòng)越來越復(fù)雜,儲(chǔ)層勘探的難度也越來越大[1],運(yùn)用新技術(shù)來研究儲(chǔ)層的識(shí)別和預(yù)測變得越來越重要。孔隙度作為一種重要的儲(chǔ)層參數(shù),是解釋地層和降低油氣勘探項(xiàng)目風(fēng)險(xiǎn)的基礎(chǔ)和關(guān)鍵[2],因此,準(zhǔn)確地預(yù)測孔隙度至關(guān)重要。孔隙度的測定可以分為直接測定法(巖心分析、井壁取心、巖屑分析)和間接解釋法(地震、測井)[3],其中,測井?dāng)?shù)據(jù)是目前所能獲得的分辨率最高、連續(xù)性最好的地質(zhì)數(shù)據(jù),在取心較少以及地震資料分辨率達(dá)不到要求的情況下,利用測井?dāng)?shù)據(jù)進(jìn)行孔隙度等儲(chǔ)層屬性參數(shù)的預(yù)測非常必要和重要,一直是學(xué)者研究的重要課題。
在使用測井?dāng)?shù)據(jù)進(jìn)行孔隙度預(yù)測方面,常規(guī)方法主要有反演法、經(jīng)驗(yàn)公式法或多元回歸等線性方法,這些方法雖然原理簡單、易于操作,但誤差較大,解釋結(jié)果并不理想。而人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine,SVM)、決策樹等機(jī)器學(xué)習(xí)方法不但能夠解決復(fù)雜的非線性映射問題,而且比常規(guī)方法的學(xué)習(xí)能力、自適應(yīng)能力及信息處理能力更強(qiáng),解釋的結(jié)果精度更高,因此被廣泛運(yùn)用在預(yù)測方面。項(xiàng)云飛等[4]提出將線性回歸與徑向基(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)相結(jié)合的復(fù)合方法進(jìn)行儲(chǔ)層的孔隙度預(yù)測,該方法預(yù)測的精度明顯高于單獨(dú)使用線性回歸或RBF神經(jīng)網(wǎng)絡(luò)方法預(yù)測的精度;鄧社根等[5]提出考慮巖性信息的改進(jìn)支持向量機(jī)方法進(jìn)行孔隙度預(yù)測,該方法明顯提高了孔隙度的預(yù)測精度;陳曉琳等[6]提出使用基于局部加權(quán)的決策樹算法對孔隙度進(jìn)行預(yù)測,并取得了良好的效果;魏佳明等[7]將隨機(jī)森林方法引入到孔隙度預(yù)測中,與多元回歸相比,有效提高了孔隙度預(yù)測的精度;An等[8]提出使用深度學(xué)習(xí)技術(shù)進(jìn)行孔隙度預(yù)測,并達(dá)到了預(yù)期的效果;Baneshi等[9]采用優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)通過井?dāng)?shù)據(jù)來預(yù)測儲(chǔ)層的孔隙度模型,并取得了較高的預(yù)測精度;Saljooghi等[10]提出將小波理論與多層感知機(jī)相結(jié)合的孔隙度預(yù)測方法,提高了人工神經(jīng)網(wǎng)絡(luò)的收斂速度和泛化能力。然而單一機(jī)器學(xué)習(xí)方法在地質(zhì)儲(chǔ)層參數(shù)預(yù)測問題上存在普適性不強(qiáng)、穩(wěn)定性不高等缺點(diǎn)[11]。而集成學(xué)習(xí),特別是選擇性集成學(xué)習(xí)的出現(xiàn),為解決單一的學(xué)習(xí)器所不能解決的問題提供了新思路。選擇性集成學(xué)習(xí)是由Zhou等[12-13]提出的,即在執(zhí)行分類或回歸時(shí),當(dāng)訓(xùn)練出多個(gè)個(gè)體學(xué)習(xí)器之后,從中選擇一部分彼此差異大且泛化能力強(qiáng)的個(gè)體學(xué)習(xí)器進(jìn)行集成,可以得到比使用所有個(gè)體學(xué)習(xí)器進(jìn)行集成更好的結(jié)果[14]。
基于此,考慮巖性對孔隙度的影響,研究并提出了融合巖性分類進(jìn)行選擇性集成學(xué)習(xí)建立預(yù)測模型的方法,該方法首先使用支持向量機(jī)進(jìn)行巖性分類,并將巖性分類結(jié)果作為孔隙度選擇性集成預(yù)測模型的輸入。然后在研究分析典型機(jī)器學(xué)習(xí)方法的基礎(chǔ)上,通過主成分方法分析法從支持向量回歸、RBF神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林、嶺回歸和K近鄰回歸等經(jīng)典模型中選擇出一組表現(xiàn)優(yōu)異的個(gè)體學(xué)習(xí)模型組成集成學(xué)習(xí)模型,個(gè)體在集成模型中的權(quán)重由主成分權(quán)重平均法獲得,最終采用加權(quán)平均法得到集成學(xué)習(xí)模型的輸出。通過該方法對儲(chǔ)層孔隙度進(jìn)行預(yù)測,以期得到更準(zhǔn)確的預(yù)測結(jié)果。
提出的模型框架如圖1所示。其基本思想是先進(jìn)行巖性分類,再根據(jù)巖性建立預(yù)測模型。即首先將輸入數(shù)據(jù)預(yù)處理,利用SVM、邏輯回歸、隨機(jī)森林和決策樹四種機(jī)器學(xué)習(xí)方法進(jìn)行巖性分類,選擇一種分類準(zhǔn)確率最高的方法建立巖性分類模型。對不同巖性的測井?dāng)?shù)據(jù),按一定的策略選擇訓(xùn)練表現(xiàn)優(yōu)異的多個(gè)個(gè)體學(xué)習(xí)模型組成集成學(xué)習(xí)模型,再采用組合方法得到集成模型的輸出。其中,選擇性集成學(xué)習(xí)模型采用的個(gè)體學(xué)習(xí)模型方法有SVM、RBF神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林、嶺回歸和K近鄰回歸。模型中涉及的經(jīng)典機(jī)器學(xué)習(xí)方法主要有7種,其基本原理及優(yōu)缺點(diǎn)比較如表1所示。

圖1 巖性-孔隙度預(yù)測模型框架
1.2.1 巖性分類模型的建立
分別采用支持向量機(jī)、邏輯回歸、隨機(jī)森林和決策樹方法進(jìn)行訓(xùn)練,選擇分類準(zhǔn)確率最高的方法建立巖性分類模型。其結(jié)構(gòu)如圖2所示。

圖2 巖性分類模型結(jié)構(gòu)
1.2.2 孔隙度預(yù)測模型的建立
通過研究和分析,采用SVM、RBF神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林、嶺回歸和K近鄰回歸等經(jīng)典模型作為個(gè)體學(xué)習(xí)模型。分別應(yīng)用5種機(jī)器學(xué)習(xí)方法對訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),得到5個(gè)個(gè)體學(xué)習(xí)器,對個(gè)體學(xué)習(xí)器采用主成分方法分析法進(jìn)行選擇性集成學(xué)習(xí),選擇出一部分訓(xùn)練效果好的個(gè)體學(xué)習(xí)器組成集成學(xué)習(xí)器,并對集成學(xué)習(xí)器采用 主成分權(quán)重平均法產(chǎn)生最終的輸出結(jié)果。該模型簡稱PCA-SEN模型。其結(jié)構(gòu)如圖3所示,其中選擇和組合是模型的核心。

表1 經(jīng)典機(jī)器學(xué)習(xí)方法原理及優(yōu)缺點(diǎn)

圖3 PCA-SEN模型結(jié)構(gòu)
選擇采用主成分方法分析法,即將訓(xùn)練數(shù)據(jù)采用5種機(jī)器學(xué)習(xí)方法進(jìn)行訓(xùn)練學(xué)習(xí),并對訓(xùn)練數(shù)據(jù)進(jìn)行一次預(yù)測分析。對每條訓(xùn)練數(shù)據(jù)采用不同機(jī)器學(xué)習(xí)方法得到的預(yù)測值與真實(shí)值進(jìn)行比較,選擇預(yù)測值最優(yōu)所對應(yīng)的機(jī)器學(xué)習(xí)方法作為該條數(shù)據(jù)所采用的方法,統(tǒng)計(jì)每種機(jī)器學(xué)習(xí)方法所通過的樣本數(shù),以及在總的訓(xùn)練樣本中所占的比例。最后,根據(jù)比例選擇出幾種最優(yōu)的機(jī)器學(xué)習(xí)方法。假設(shè)對于給定的訓(xùn)練樣本集{(xi,yi),i=1,2,…n},其中xi∈Rm,yi∈R,其服從y=f(x),分別使用SVM、RBF、隨機(jī)森林、嶺回歸和K近鄰回歸方法進(jìn)行建模,得到回歸方程式分別為g=f1(x)、g=f2(x)、g=f3(x)、g=f4(x)和g=f5(x),對于任意一條訓(xùn)練數(shù)據(jù)(xk,yk),采用這五個(gè)模型進(jìn)行預(yù)測,得到五個(gè)不同的輸出值f1(xk)、f2(xk)、f3(xk)、f4(xk)和f5(xk),采用式(1)方法,分別將每種方法的輸出值和真實(shí)值對比,選擇輸出值與真實(shí)值誤差最小所對應(yīng)的機(jī)器學(xué)習(xí)方法作為該條數(shù)據(jù)所采用的方法。
min{|yk-fi(xk)|},i=1,2,…,5
(1)
對所有的訓(xùn)練數(shù)據(jù),重復(fù)上述步驟,得到每種機(jī)器學(xué)習(xí)方法所通過的樣本數(shù),分別記為p1、p2、p3、p4、p5,且滿足p1+p2+p3+p4+p5=n,根據(jù)式(2)、式(3),選擇符合條件的機(jī)器學(xué)習(xí)方法,組成集成學(xué)習(xí)的個(gè)體學(xué)習(xí)器。

(2)

(3)

組合和決策方式的不同,對模型預(yù)測精度的影響至關(guān)重要。常用的組合和決策方法有簡單平均法和權(quán)重平均法。簡單平均法是把單一機(jī)器學(xué)習(xí)方法的輸出的平均值作為最終輸出。權(quán)重平均法是從單一機(jī)器學(xué)習(xí)方法估計(jì)的結(jié)果乘以其在總體預(yù)測中的貢獻(xiàn)的權(quán)重因子,權(quán)重因子通常通過遺傳算法或單層感知器獲得。采用主成分權(quán)重平均法確定個(gè)體學(xué)習(xí)器的權(quán)重因子。即對于給定的訓(xùn)練樣本集{(xi,yi),i=1,2,…,n},其中xi∈Rm,yi∈R,假設(shè)經(jīng)過“主成分方法分析”法后,選擇了方法1、方法2、方法5三種機(jī)器學(xué)習(xí)方法,得到的回歸方程分別是f1(x)、f2(x)和f5(x),對于任意一條訓(xùn)練數(shù)據(jù)(xk,yk),得到三個(gè)不同的輸出值f1(xk)、f2(xk)和f5(xk),采用式(4)方法,分別將每種方法的輸出值和真實(shí)值對比,選擇輸出值與真實(shí)值誤差最小所對應(yīng)的機(jī)器學(xué)習(xí)方法作為該條數(shù)據(jù)所采用的方法。
min{|yk-f1(xk)|,|yk-f2(xk)|,|yk-f5(xk)|}
(4)
對所有的訓(xùn)練數(shù)據(jù),重復(fù)上述步驟,得到每種機(jī)器學(xué)習(xí)方法所通過的樣本數(shù),分別記為t1、t2、t3,且滿足t1+t2+t3=n,根據(jù)式(5),計(jì)算每種模型的權(quán)重因子。

(5)
實(shí)驗(yàn)使用了某區(qū)塊的3口油井(井1、井2、井3)的測井?dāng)?shù)據(jù),3口油井的詳細(xì)數(shù)據(jù)如表2所示。其中,井1數(shù)據(jù)集樣例如表3所示。實(shí)驗(yàn)選擇Python3.6.5平臺(tái),以Python3.6.5中的Scikit-learn工具包為基礎(chǔ),Scikit-learn是建立在NumPy、SciPy和Matplotlib模塊之上的一個(gè)開源機(jī)器學(xué)習(xí)模塊,提供了各種機(jī)器學(xué)習(xí)算法的接口,在調(diào)用具體機(jī)器學(xué)習(xí)方法時(shí),只需要設(shè)置相應(yīng)的參數(shù)即可建立需要的各種模型。
巖性數(shù)據(jù)一般包含泥巖、泥質(zhì)砂巖、砂巖等,實(shí)驗(yàn)中使用的巖性數(shù)據(jù)分為兩種,分別是泥巖數(shù)據(jù)和砂巖數(shù)據(jù)。設(shè)置泥巖類型的標(biāo)簽為數(shù)值0,砂巖類型的標(biāo)簽為數(shù)值1,實(shí)驗(yàn)的輸入測井屬性有隨鉆衰減電阻(A40H)、井徑(CAL)、中子(CNCF)、自然伽馬(GR)、隨鉆相移電阻(P40H)、聲波時(shí)差(DT)、密度(ZDEN),通過特征選擇,優(yōu)選了四種巖性響應(yīng)特征明顯的測井屬性,即GR、CNCF、ZDEN、DT。將這四種測井屬性作為輸入,將泥砂數(shù)據(jù)的標(biāo)簽值作為輸出,分別采用支持向量機(jī)、邏輯回歸、隨機(jī)森林和決策樹建立模型,其在測試集上的識(shí)別率如表4所示。

表2 3口油井的數(shù)據(jù)描述

表3 井1數(shù)據(jù)集樣例

表4 識(shí)別率分析結(jié)果
由表4可知,選擇支持向量機(jī)方法的分類識(shí)別率最高,此時(shí),核函數(shù)選擇RBF核函數(shù),懲罰系數(shù)設(shè)置為1 000,核函數(shù)參數(shù)設(shè)置為0.01。
根據(jù)2.1節(jié)得到的巖性分類模型,將井3的測井?dāng)?shù)據(jù)分為泥巖數(shù)據(jù)和砂巖數(shù)據(jù),分別對泥巖的測井?dāng)?shù)據(jù)進(jìn)行訓(xùn)練,建立泥巖的孔隙度預(yù)測模型;對砂巖的測井?dāng)?shù)據(jù)進(jìn)行訓(xùn)練,建立砂巖的孔隙度預(yù)測模型。
2.2.1 泥巖的孔隙度預(yù)測模型的確定
將井1、井2的真實(shí)泥巖數(shù)據(jù)中的GR、CNCF、ZDEN、DT作為輸入,孔隙度作為輸出。根據(jù)“主成分方法分析”法,分別采用SVM、RBF神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林、嶺回歸和K近鄰回歸方法建模,并對訓(xùn)練數(shù)據(jù)集進(jìn)行一次預(yù)測分析,由式(1)可得每種機(jī)器學(xué)習(xí)模型在訓(xùn)練集上通過的樣本數(shù),再由式(2)、式(3)計(jì)算每種機(jī)器學(xué)習(xí)模型在訓(xùn)練集上的貢獻(xiàn)比例,如表5所示。由表5可知,SVM、RBF和K近鄰回歸三種方法貢獻(xiàn)的權(quán)重最大,且總和超過0.8。因此,選擇SVM、RBF和K近鄰回歸組成集成學(xué)習(xí)的個(gè)體學(xué)習(xí)器。

表5 主成分方法分析法計(jì)算的每種模型所占的比重
根據(jù)主成分權(quán)重平均法,對優(yōu)選出來的SVM、RBF、K近鄰回歸方法得到的個(gè)體學(xué)習(xí)器在訓(xùn)練數(shù)據(jù)集上進(jìn)行一次預(yù)測分析,由式(4)可得每個(gè)個(gè)體學(xué)習(xí)器在訓(xùn)練集上通過的樣本數(shù),再由式(5)計(jì)算每個(gè)個(gè)體學(xué)習(xí)器在訓(xùn)練集上的貢獻(xiàn)比例,即為每個(gè)個(gè)體學(xué)習(xí)器的權(quán)重因子。結(jié)果如表6所示。
確定泥巖的孔隙度預(yù)測模型后,利用該模型可以對預(yù)測井泥巖層的孔隙度進(jìn)行預(yù)測。

表6 主成分權(quán)重平均法計(jì)算的每種模型的權(quán)重
2.2.2 砂巖的孔隙度預(yù)測模型的確定
同樣可以確定砂巖孔隙度預(yù)測模型。根據(jù)主成分方法分析法,由式(1)可得每種機(jī)器學(xué)習(xí)模型在訓(xùn)練集上通過的樣本數(shù),再由式(2)、式(3)計(jì)算每種機(jī)器學(xué)習(xí)模型在訓(xùn)練集上的貢獻(xiàn)比例。如表7所示。由表7可知,SVM和RBF兩種方法貢獻(xiàn)的權(quán)重最大,且總和超過0.8。因此,選擇SVM和RBF組成集成學(xué)習(xí)的個(gè)體學(xué)習(xí)器。

表7 主成分方法分析法計(jì)算的每種模型所占的比重
根據(jù)主成分權(quán)重平均法,對優(yōu)選出來的SVM、RBF方法得到的個(gè)體學(xué)習(xí)器在訓(xùn)練數(shù)據(jù)集上進(jìn)行一次預(yù)測分析,由式(4)可得每個(gè)個(gè)體學(xué)習(xí)器在訓(xùn)練集上通過的樣本數(shù),再由式(5)計(jì)算每個(gè)個(gè)體學(xué)習(xí)器在訓(xùn)練集上的貢獻(xiàn)比例,即為每個(gè)個(gè)體學(xué)習(xí)器的權(quán)重因子。結(jié)果如表8所示。

表8 主成分權(quán)重平均法計(jì)算的每種模型的權(quán)重
確定砂巖的孔隙度預(yù)測模型后,利用該模型可以對預(yù)測井砂巖層的孔隙度進(jìn)行預(yù)測。
分別采用經(jīng)典SVM、K近鄰回歸、RBF等學(xué)習(xí)器模型以及2.2節(jié)得到的PCA-SEN預(yù)測模型對預(yù)測井3的孔隙度進(jìn)行了預(yù)測。結(jié)果如表9、圖4所示。其中,圖4(a)是真實(shí)孔隙度值,圖4 (b) ~圖4(e)分別是SVM、K近鄰回歸、RBF、PCA-SEN的預(yù)測孔隙度值。均方差(MSE)和相關(guān)系數(shù)(R)對比如表10所示。

表9 井3數(shù)據(jù)集樣例與預(yù)測數(shù)據(jù)樣例

圖4 井3孔隙度曲線對比

表10 單一預(yù)測模型與PCA-SEN預(yù)測模型的均方差和相關(guān)系數(shù)分析結(jié)果
由圖4、表10可知,與經(jīng)典SVM、K近鄰回歸、RBF模型相比,PCA-SEN模型預(yù)測的孔隙度與真實(shí)孔隙度的均方差更小,且相關(guān)系數(shù)更大,說明論文提出的PCA-SEN預(yù)測模型的預(yù)測精度更高。
同時(shí),也將融合了巖性分類的PCA-SEN模型與未融合巖性分類的PCA-SEN模型進(jìn)行了井3的孔隙度預(yù)測實(shí)驗(yàn),結(jié)果如表9、圖5所示。其中圖5 (a)為真實(shí)孔隙度值,圖5 (b)為未融合巖性分類的PCA-SEN模型的預(yù)測孔隙度值,圖5 (c)為融合巖性分類的PCA-SEN的預(yù)測孔隙度值。均方差(MSE)和相關(guān)系數(shù)(R)對比如表11所示。

圖5 井3孔隙度曲線對比

表11 融合巖性分類模型與未融合巖性分類的均方差和相關(guān)系數(shù)分析結(jié)果
由圖5、表11可知,與未融合巖性分類的PCA-SEN模型相比,融合巖性分類的PCA-SEN模型預(yù)測的孔隙度與真實(shí)孔隙度的均方差更小,且相關(guān)系數(shù)更大,說明提出的PCA-SEN預(yù)測模型的預(yù)測精度更高。
因此,提出的融合了巖性分類的選擇性集成預(yù)測模型與單一機(jī)器學(xué)習(xí)方法預(yù)測的孔隙度相比、與未融合巖性分類的選擇性集成預(yù)測模型相比,其均方差更小,且相關(guān)系數(shù)更大,即孔隙度預(yù)測的精度更高。同時(shí),針對不同巖性,預(yù)測模型集成的個(gè)體學(xué)習(xí)器的類型與個(gè)數(shù)可能不同,有較好的適應(yīng)性,模型的容錯(cuò)能力強(qiáng)。
在對經(jīng)典機(jī)器學(xué)習(xí)模型深入研究的基礎(chǔ)上,分析了各個(gè)模型在應(yīng)用中的優(yōu)勢與不足,針對儲(chǔ)層屬性預(yù)測問題,提出了一種融合巖性分類的、優(yōu)選集成的儲(chǔ)層孔隙度預(yù)測方法。該方法的優(yōu)點(diǎn)和創(chuàng)新點(diǎn)如下。
(1)模型建立過程考慮巖性對孔隙度預(yù)測的影響,針對不同巖性,集成的個(gè)體模型個(gè)數(shù)和類型可以不同。
(2)提出采用主成分方法分析法優(yōu)選個(gè)體學(xué)習(xí)器及主成分權(quán)重平均法計(jì)算權(quán)重。把優(yōu)選個(gè)體模型和有機(jī)組合結(jié)合在一起,建立了適應(yīng)性更強(qiáng)的選擇性集成預(yù)測模型。
通過實(shí)驗(yàn)可知,選擇性集成預(yù)測模型具有更好的預(yù)測表現(xiàn),這為利用機(jī)器學(xué)習(xí)方法進(jìn)行儲(chǔ)層建模屬性參數(shù)的預(yù)測進(jìn)行了有益的探索。