蔣文超
(1.國家能源陸相砂巖老油田持續(xù)開采研發(fā)中心,黑龍江 大慶 163712;2.中國石油大慶油田有限責任公司勘探開發(fā)研究院,黑龍江 大慶 163712)
大慶油田開發(fā)已經(jīng)超過了60 年,其中壓裂是一項重要的增產(chǎn)與提高采收率的手段[1?6]。由于水力壓裂的成本整體較高,壓裂效果不但影響了油井產(chǎn)量,而且決定了壓裂投資是否能夠產(chǎn)生預期的效益。因此,建立一個精度較高的預測模型對壓裂效果進行精確判斷對于大慶油田開發(fā)具有非常重要的意義。目前,很多學者將機器學習方法應用于油田開發(fā)中[7?15],特別是用來評估完井和增產(chǎn)措施[16]。油井壓裂效果預測實際上就是評估地質(zhì)、生產(chǎn)和壓裂工程等因素對于壓裂后產(chǎn)量的重要性。目前對于壓裂效果的研究很少在模型中考慮地質(zhì)特征[17],或者假設(shè)儲層是均質(zhì)的;有學者利用油井位置坐標來代替地質(zhì)特征,但這需要油層在所研究的區(qū)域范圍內(nèi)有很強的趨勢性變化[18]。部分研究在建立模型時,還存在參與訓練與測試數(shù)據(jù)量少的問題[19]。另外,國內(nèi)外大部分基于數(shù)據(jù)建模的壓裂井研究都是針對致密油、頁巖氣與頁巖油等[10,19?25]非常規(guī)油氣藏的新鉆水平井壓裂進行評價,而大慶油田的壓裂很多都是針對正在開發(fā)的油井開展,需要考慮生產(chǎn)前的動態(tài)指標,將這類生產(chǎn)動態(tài)指標考慮在模型中的報道文獻較少。目前,大慶油田對油井水力壓裂效果的預測大多數(shù)是依靠油藏工程師對壓裂相關(guān)參數(shù)的人工分析和經(jīng)驗,存在著不確定性大、預測精度低的問題。本文通過數(shù)據(jù)統(tǒng)計分析、機器學習和模型融合技術(shù)對大慶油田SN區(qū)塊的油井壓裂情況進行了數(shù)據(jù)挖掘,建立了精度較高的預測模型,并應用該模型對SN區(qū)塊進行了壓裂方案輔助決策。
本文數(shù)據(jù)來自大慶油田SN區(qū)塊。該區(qū)塊發(fā)育薩爾圖、葡萄花和高臺子3個油層,共分8個油層組、35個砂巖組。薩Ⅱ、薩Ⅲ及葡Ⅰ油層砂巖厚度分別為30.7、16.7、24.3 m。這些油層的沉積環(huán)境為河流―三角洲,屬于碎屑巖儲層,根據(jù)密閉取心資料統(tǒng)計結(jié)果,油層的儲集空間以原生孔隙粒間孔為主,孔隙間大部分連通。平均滲透率為913.1×10-3μm2,平均孔隙度為27.3%;巖性以細砂巖、粉砂巖為主,細砂巖質(zhì)量分數(shù)為42.4%,粉砂巖質(zhì)量分數(shù)為33.8%,粒徑中值為0.124 mm,分選系數(shù)為4.15。葡Ⅱ和高臺子油層均為三角洲外前緣亞相沉積,砂體厚度較小,油層物性較差,由北向南油層數(shù)減少、厚度變薄。該區(qū)塊所有開發(fā)井都處于5點法面積井網(wǎng)中。
本文從措施數(shù)據(jù)庫中提取了壓裂相關(guān)數(shù)據(jù),刪除缺失數(shù)據(jù)后共888井次。數(shù)據(jù)集中的特征可以分為3類:地質(zhì)信息、壓裂前生產(chǎn)信息和壓裂工程信息。地質(zhì)信息中包含了壓裂井的井位坐標、壓裂目的層深度、砂巖厚度、孔隙度、滲透率、沉積相類型和破裂壓力。其中,孔隙度和滲透率采用厚度加權(quán)平均法計算得到,沉積相采用目的層位累計厚度最大的沉積相。另外,壓裂前生產(chǎn)信息能代表壓裂前油井的生產(chǎn)能力,對壓裂后的產(chǎn)油量有很大影響。模型中考慮的參數(shù)包括壓裂前的日產(chǎn)油量、日產(chǎn)液量、含水率以及沉沒度。壓裂工程信息也會對壓裂結(jié)果作出一定貢獻。在模型中,該類信息包含加砂量、壓裂液體積、混砂比、壓裂液類型、裂縫條數(shù)和壓裂方式。加砂量和壓裂液體積能夠在一定程度上描述裂縫的大小,這會在一定程度上影響著壓裂增產(chǎn)效果。不同的壓裂方式(如選擇性壓裂、限流法壓裂等)由于壓裂工藝不同,也會造成壓裂效果的差異。本文研究采取的目標變量是油井壓裂后穩(wěn)定的日產(chǎn)油量。
2.1.1 數(shù)據(jù)預處理
為了保證樣本具有代表性,刪除有缺失值樣本。另外,為了消除特征間單位差異的影響,以便每個特征被同等對待,對特征集的數(shù)據(jù)進行了標準化,使得每維特征的平均值為0,標準差為1,計算公式為:
式中:zi——第i個樣本標準化后的數(shù)值;xi——第i個樣本標準化前的數(shù)值;μ——所有樣本的平均值;σ——所有樣本的標準差;n——樣本的數(shù)量。
對于數(shù)據(jù)集,按照75%和25%的比例將整個數(shù)據(jù)集隨機地劃分為訓練集和測試集。訓練集用來訓練和優(yōu)化各個算法的模型,而測試集則用來評價模型的精確度。為了保證評價的公正性,測試集在整個過程中不參與任何模型的訓練,僅用于模型性能的評估。
2.1.2 特征重要性評估及特征選擇
特征重要性評估能夠幫助理解數(shù)據(jù)的特點,成功的特征選擇更能夠提升模型的性能,使模型泛化能力更強,減少過擬合。本文采用基于LightGBM模型[26]的封裝法進行特征重要程度計算與特征選擇,其中,特征重要程度通過特征分裂后的增益大小來衡量。為了特征重要性結(jié)果的穩(wěn)定,本文采用7折交叉訓練的方式計算。按照計算獲得的特征重要性程度由大到小,向模型中逐個加入特征,得到特征數(shù)量與模型精度和穩(wěn)定性的關(guān)系。最終,優(yōu)選能夠使模型的平均得分高且得分標準差低的特征集作為預測模型的輸入變量。
2.2.1 模型的訓練與優(yōu)化
為了評價超參數(shù)能夠使模型達到的精度,進而選擇得到最佳超參數(shù)組合,采取7折交叉驗證方式對給定范圍的超參數(shù)進行優(yōu)化,具體操作:將訓練集隨機分成7個子集,每個子集包含10%的訓練集。每次不重復地取一個子集作為交叉驗證集來評估當前模型得分,而訓練集中剩余數(shù)據(jù)則用來訓練模型。通過這種方式,可以獲得7個模型,用這些模型驗證誤差的平均值來評估超參數(shù)組合性能。對于所有超參數(shù)組合都采用這種7折交叉驗證的方式,通過對比平均測試誤差來獲得最優(yōu)超參數(shù)組合。最后,利用最優(yōu)超參數(shù)組合在整個訓練集上進行訓練,再用測試集評估該算法的最高精度(圖1)。
圖1 7折交叉驗證示意Fig. 1 Schematic diagram of 7-fold cross validation
2.2.2 機器學習算法
目前,支持向量機[27]、神經(jīng)網(wǎng)絡(luò)[28]和集成學習是機器學習算法中較為成熟、適用性較廣、精度較高的幾類算法,它們在大部分數(shù)據(jù)集上都有著較好的表現(xiàn)。這幾類算法的結(jié)構(gòu)有很大差異:支持向量機算法是將輸入向量非線性地映射到一個很高維的特征空間,在該特征空間中求解一個最優(yōu)超平面;神經(jīng)網(wǎng)絡(luò)算法是通過訓練集數(shù)據(jù)來訓練計算各個層、各個節(jié)點之間連接的權(quán)重值,從而形成神經(jīng)網(wǎng)絡(luò)模型;集成學習算法則是通過將大量弱學習器組合在一起,從而形成一個性能較好的強學習器。算法結(jié)構(gòu)的差異性使這些算法適用的數(shù)據(jù)集結(jié)構(gòu)不同,基于“沒有免費午餐”理論[29],本文利用下文中4種算法開展機器學習建模。
2.2.2.1 支持向量機
本文采用的支持向量回歸(Support Vector Regression,SVR)是支持向量機的一種,它使用ε-不敏感損失函數(shù)作為損失函數(shù),其中,不敏感損失函數(shù)表達式為
式中:L(z)——不敏感損失函數(shù);z——樣本值;ε——不敏感損失系數(shù)。
支持向量回歸算法在模型調(diào)參時主要考慮4個超參數(shù):核函數(shù),不敏感損失系數(shù)ε,懲罰參數(shù)C和支持向量影響因素γ。
2.2.2.2 神經(jīng)網(wǎng)絡(luò)
本文選取神經(jīng)網(wǎng)絡(luò)模型中的多層感知機,該網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、輸出層和若干隱藏層組成,隱藏層中每個神經(jīng)元可以用一個偏差、一個權(quán)重值和一個激活函數(shù)來描述,表達式為
式中:yi——當前層節(jié)點i的輸出值;ωij——前一層神經(jīng)元j與當前層神經(jīng)元i之間的權(quán)值;xj——前一層節(jié)點j的輸出值;bi——當前層神經(jīng)元i處的偏差或閾值;f()——傳遞函數(shù)或激活函數(shù);m——前移層神經(jīng)元的數(shù)量。
當神經(jīng)網(wǎng)絡(luò)層次深、結(jié)構(gòu)復雜時,可能出現(xiàn)過擬合現(xiàn)象,降低模型的泛化能力。除了本文已采用的7折交叉驗證之外,采取的L2正則化和早停技術(shù)(early stopping)(圖2)這2種正則化方法也能夠有效地防止過擬合現(xiàn)象發(fā)生。神經(jīng)網(wǎng)絡(luò)需要調(diào)整的參數(shù)有激活函數(shù)類型、優(yōu)化器類型、學習率、隱藏層數(shù)和神經(jīng)元數(shù)。
圖2 早停技術(shù)示意Fig. 2 Schematic diagram of early stopping
2.2.2.3 隨機森林
隨機森林[24]是一種由大量決策樹組合而成的集成學習方法,采用了Bagging集成技術(shù)。森林中每棵決策樹會隨機選取特征,并進行有放回的抽取樣本。本文對影響隨機森林精度的幾個重要超參數(shù)進行優(yōu)化:子模型的數(shù)量、節(jié)點分裂時參與判斷的最大特征數(shù)、決策樹最大深度和內(nèi)部節(jié)點再劃分所需最小樣本數(shù)。
2.2.2.4 LightGBM
LightGBM屬于boosting算法中的一種,是GBDT 算法的一個工程實現(xiàn)[26]。LightGBM在算法結(jié)構(gòu)上作了以下優(yōu)化,使它的速度更快、效率更高:通過直方圖算法降低分裂點的數(shù)量,通過基于梯度的單邊采樣技術(shù)降低樣本的數(shù)量,通過互斥的特征捆綁算法減少了特征的數(shù)量。除此之外,在樹的生長策略上,通過葉子生長策略提高了模型的精度。另外,LightGBM支持類別特征,并且采用多對多的切分方式將類別特征分為2個子集,實現(xiàn)類別特征的最優(yōu)切分。最后,LightGBM還進行了工程上的優(yōu)化,通過特征并行、數(shù)據(jù)并行和投票并行的方式實現(xiàn)高效并行,通過直方圖算法對Cache的命中率進行優(yōu)化。本次研究對lightGBM中樹的最大深度和每棵樹葉子的最大數(shù)量等12個超參數(shù)進行了優(yōu)化。
2.2.3 支持庫、超參數(shù)調(diào)整與模型評估
本文采用Scikit-learn庫[30?31]來實現(xiàn)支持向量回歸、隨機森林和LightGBM算法,利用基于Py?thon的Keras庫[32]來構(gòu)建神經(jīng)網(wǎng)絡(luò)模型。超參數(shù)調(diào)優(yōu)采用網(wǎng)格搜索方法。另外,采用均方誤差EMSE和決定系數(shù)R2來評估模型的精確度,公式為:
式中:n——樣本數(shù)量;Yi——第i個樣本的實際值;?——第i個樣本的預測值;——所有樣本的平均值。
2.2.4 模型融合
模型融合是把多個具有不同算法結(jié)構(gòu)的強學習器進行融合,使得融合后的模型效果更強。本文在對每種機器學習算法進行獨立調(diào)參優(yōu)化的基礎(chǔ)上,將4種機器學習算法進行模型融合,最終得到一個強學習器。研究中采取的模型融合方法有算術(shù)平均融合、加權(quán)平均融合和堆疊法。其中,算術(shù)平均融合與加權(quán)平均融合的公式分別為:
式中:hi(x)——第i個學習器對于樣本x的預測值;H(x)——融合模型對于樣本x的預測值;αi——第i個學習器的權(quán)重,本研究將模型得分作為權(quán)重;T——參與模型融合的學習器數(shù)量。
堆疊法是一種多層模型,將已訓練好的多個模型作為初級學習器。然后將這幾個初級學習器的預測結(jié)果作為新的訓練集,來學習得到一個次級學習器。堆疊法可以看成是一種結(jié)合策略,使用另外一個機器學習算法來將個體機器學習器的結(jié)果結(jié)合在一起。為了防止過擬合,本研究的次級學習器選用最簡單的模型,即線性回歸。
本次研究分析了SN區(qū)塊油井的壓裂歷史數(shù)據(jù)。影響油井壓裂后產(chǎn)油量的因素較多,單因素分析很難描述各個因素與產(chǎn)油量的關(guān)系。然而,仍然可以用箱形圖來描述變量之間的一般趨勢。
圖3為各種影響因素與壓裂后產(chǎn)油量的關(guān)系。在箱形圖中,箱形范圍從分組數(shù)據(jù)集的第1個四分位數(shù)(25%)到第3個四分位數(shù)(75%)。
圖3 各種影響因素與壓裂后產(chǎn)油量的關(guān)系Fig. 3 Relationship between various influencing factors and oil production after hydraulic fracturing
從圖3可以看出,壓裂后產(chǎn)油量隨措施前日產(chǎn)油量的增加而增加,隨含水率增加而減小。
圖3(a)顯示,壓裂前含水率對壓裂措施效果起著重要的作用,這是由于該生產(chǎn)指標能夠在一定程度上描述井周圍儲層的含油情況。某些油井含水率較低,有著一定的產(chǎn)油潛力,但由于存在著近井地帶堵塞等情況,降低了油井的產(chǎn)液能力,使油井的產(chǎn)油量有所下降,需要通過壓裂來增產(chǎn)。
圖3(b)顯示,當埋深在800~1 000 m時,目的層深度對壓裂效果影響不顯著,而超過1 000 m時,壓裂效果明顯變差。這是由于SN區(qū)塊較為發(fā)育的薩Ⅱ、薩Ⅲ的埋深為800~973 m,葡Ⅰ油層埋深為946~1 032 m,這3個油層的物性和儲量豐度相近,只是在葡Ⅰ油層底部略有變差;而埋深普遍超過1 000 m的葡Ⅱ油層為三角洲外前緣亞相沉積,砂體厚度較小,儲層物性和含油性都較差,在葡Ⅰ油層底部和葡Ⅱ油層中,同一埋藏深度也存在不同程度的相變甚至不連通的情況,同時儲量豐度也隨著深度增加而變低。
箱形圖進行的單因素分析只能在一定程度上表示各個因素與目標變量的關(guān)系,無法描述變量之間復雜的非線性關(guān)系。圖4顯示了基于LightGBM封裝法評價特征重要性的計算結(jié)果。由圖4可知,在生產(chǎn)因素中,壓裂前的產(chǎn)油量、含水率和產(chǎn)液量對壓裂后產(chǎn)油量有著很大的影響,這3個因素能在一定程度上代表油井壓裂前的產(chǎn)油能力,然而壓裂前沉沒度對模型性能的貢獻不是很大。在壓裂工程因素中,加砂量對模型的影響較大,而壓裂液用量和混砂比對目標變量的影響非常小;壓裂液類型對壓裂的效果也有一定的影響。在地質(zhì)因素中,對模型的貢獻程度由大到小依次為:壓裂目的層平均深度、x坐標、壓裂目的層破裂壓力、壓裂層厚度、y坐標、壓裂目的層滲透率和孔隙度、沉積相類型。對于油井的坐標,油層南北向的延展主要是通過橫坐標的變化來描述,大慶油田的物源方向為由北向南,油層發(fā)育在這個方向上變化更為明顯,因此,x坐標在模型中的貢獻大于y坐標??偟膩碚f,壓裂前的生產(chǎn)因素對目標變量影響最大,其次是地質(zhì)因素,最后是工程因素。這說明了對于SN區(qū)塊來說,及時監(jiān)測油井情況并根據(jù)生產(chǎn)動態(tài)正確地選井選層對于壓裂效果更為重要。
圖4 各個特征的重要程度Fig. 4 Features importance
在特征重要性評價的基礎(chǔ)上,將特征按照重要程度由高到低逐個加入模型,在整個數(shù)據(jù)集上進行7折交叉驗證。要使預測模型達到精度高而且性能穩(wěn)定的效果,需要模型R2在交叉驗證中取得較大的平均值和較低的標準差。如圖5所示,R2的平均值在特征數(shù)量達到6之后基本趨于穩(wěn)定,而達到15時獲得了較低的標準差,即穩(wěn)定的性能。因此,在后續(xù)研究中,選取這15個特征作為輸入變量。
圖5 交叉驗證中模型R2平均值和標準差與特征數(shù)量的關(guān)系Fig. 5 Relationship of mean value and standard deviation of R2 vs. features amount in cross validation
圖6顯示了支持向量回歸、神經(jīng)網(wǎng)絡(luò)、隨機森林和LightGBM這4種算法建立模型的預測性能。結(jié)果顯示,經(jīng)過超參數(shù)調(diào)整后,4種算法最優(yōu)模型在測試集上展示的性能由好到差依次為神經(jīng)網(wǎng)絡(luò)、支持向量回歸、LightGBM、隨機森林。效果最好的神經(jīng)網(wǎng)絡(luò)在測試集上的決定系數(shù)R2為0.603。
圖6 各種算法及融合模型在數(shù)據(jù)集上的預測性能Fig. 6 Prediction performance of algorithms and ensem‐ble models on data set
在4種算法分別調(diào)優(yōu)的基礎(chǔ)上,采用堆疊法、加權(quán)平均和算術(shù)平均這3種方法對4種強學習器進行了融合。結(jié)果顯示,融合模型在測試集上的性能均遠超單個模型,其中堆疊法融合效果最好,其融合模型的R2高達0.899,均方誤差僅為2.16,模型預測值與真實值對比見圖7。其他2種融合方法的R2也均超過0.700。分析可知,這種高精度的融合效果是由2個方面同時作用而產(chǎn)生的:第一,參與融合的每個基礎(chǔ)模型性能都較高(在本研究中,4種算法的最優(yōu)模型在測試集上的R2均接近或超過0.600);第二,參與融合的各個算法結(jié)構(gòu)和原理不同,融合模型能夠充分發(fā)揮每種算法的特點(本研究中4種算法之間的計算過程都存在著較大差異)。隨機森林與LightGBM雖然都是基于決策樹的集成學習,但隨機森林采用了Bagging集成技術(shù),該技術(shù)在集成學習中產(chǎn)生的基學習器之間屬于并列生成,不存在強依賴關(guān)系。與之不同,LightGBM使用了Boosting集成技術(shù),集成學習中的基學習器是通過串行訓練而獲得的,即每個新學習器都是根據(jù)已訓練出的學習器的性能來進行訓練。支持向量回歸、神經(jīng)網(wǎng)絡(luò)和兩種集成學習的算法結(jié)構(gòu)則相差更大。因此,本研究中模型融合獲得了非常突出的效果。
圖7 堆疊法融合模型的壓裂后產(chǎn)油量預測值與真實值對比Fig. 7 Comparison between predicted values and real values of stacking ensemble model
建立效果預測模型的一個重要目的就是優(yōu)化壓裂方案。本研究在SN區(qū)塊6口油井上成功地應用了高精度融合預測模型來進行壓裂方案的設(shè)計與優(yōu)化。根據(jù)SN區(qū)塊的油井動態(tài)指標變化情況,選取注采關(guān)系完善、與周圍注入井連通關(guān)系好、剩余油飽和度高、地層能量充足但產(chǎn)液量有明顯下降趨勢的采油井進行壓裂方案設(shè)計。預測模型中需要輸入的參數(shù)包含壓裂前生產(chǎn)參數(shù)、壓裂目的層地質(zhì)參數(shù)和壓裂工程參數(shù),當油井選定時,油井的壓裂前生產(chǎn)參數(shù)就已經(jīng)確定了,壓裂方案的設(shè)計主要涉及地質(zhì)參數(shù)和工程參數(shù)。首先,壓裂目的層位的選取直接決定了模型中的全部地質(zhì)參數(shù)。根據(jù)油井產(chǎn)液剖面情況,每口井初步選取3種選層方案。壓裂工程參數(shù)主要優(yōu)化對模型影響較大的加砂量與壓裂液類型。加砂量選取12、15、18、21、24 m3,壓裂液類型則選取全部的3種類型。將每口井的3種選層、5種加砂量及3種壓裂液類型進行逐一組合,共產(chǎn)生45個壓裂設(shè)計方案(表1)。將6口油井共270個方案作為樣本輸入融合模型進行運算,根據(jù)模型結(jié)果優(yōu)選6口油井的最佳壓裂方案如表2所示。2019年5—7月,按照設(shè)計方案對這6口油井進行了壓裂施工,壓裂后實際產(chǎn)油量如表2所示。結(jié)果表明,油井的實際壓裂效果與預測結(jié)果非常接近,融合模型的預測能力非常強。利用該數(shù)據(jù)驅(qū)動模型,可以對大慶油田SN區(qū)塊的水力壓裂設(shè)計進行優(yōu)化,對砂巖油藏垂直井水力壓裂工藝設(shè)計也具有指導意義。該模型具有較強的可移植性和易用性,只要提取相應的措施信息庫,經(jīng)過簡單的參數(shù)修改,即可應用于其他開發(fā)區(qū)塊的壓裂增產(chǎn)措施效果預測。
表1 待選壓裂參數(shù)Table 1 Hydraulic fracturing parameters to be selected
表2 壓裂參數(shù)優(yōu)化結(jié)果Table 2 Optimization of hydraulic fracturing parameters
(1)統(tǒng)計分析結(jié)果顯示,影響油井壓裂的各因素與壓裂后產(chǎn)油量有著一定程度的定性關(guān)系;特征重要性分析結(jié)果顯示,對壓裂后產(chǎn)油量影響程度最大的3個因素分別是壓裂前產(chǎn)油量、壓裂前含水率和加砂量。
(2)數(shù)據(jù)集在4種有監(jiān)督學習方法上的建模及調(diào)優(yōu)結(jié)果表明,神經(jīng)網(wǎng)絡(luò)的表現(xiàn)優(yōu)于其他算法,在測試集上的R2為0.603;模型融合結(jié)果表明,融合模型的性能要好于單個算法構(gòu)建的模型,其中,基于堆疊法的融合模型精度在測試集的R2高達0.899,高于算術(shù)平均和加權(quán)平均融合方法。
(3)應用預測模型對SN區(qū)塊油井壓裂措施方案進行設(shè)計優(yōu)化。結(jié)果表明,模型推薦的最佳方案實際效果較好,與模型預測結(jié)果接近。該數(shù)據(jù)驅(qū)動建模技術(shù)對SN區(qū)塊壓裂方案設(shè)計有實際指導意義,且有較強的易用性和可移植性。