趙海峰 ,諸立凱 ,劉長松 ,張先凡
(中國石油大學(北京) 石油工程學院,北京 102249)
煤層氣生產數據包含煤層氣井的生產特征動態變化規律,通過對這些規律的研究,可以從煤層氣井歷史生產里得到新的認識,這對將來煤層氣井的指導生產具有重要意義[1-3]。煤層氣數據量繁多復雜,其中包含許多類型,具有多種數據維度,再加上原始數據均來自排采現場,難免會出現數據丟失和不相關的數據,這意味著生產數據的處理及挖掘數據間的關聯性至關重要[4]。目前,大多數學者在研究煤層氣產量主控因素問題上,都傾向于對地質因素進行分析;運用滲流理論和吸附解吸理論等方面的知識來開展數值模擬研究[5-7]。然而,這種方法往往只適合理論研究,難以應用到實際現場。許多學者提出了人工智能神經網絡算法模型來進行處理[8-12],取得不錯效果,為神經網絡在煤層氣產能預測領域的后續發展提供借鑒。由于煤層氣產能變化具有時序性,排采參數間存在一定特征性,歷史序列過長時模型訓練過程中容易丟失關鍵歷史信息。為解決這一問題,以韓城區塊的煤層氣井數據作為依托,通過隨機森林特征重要性方法對排采參數與日產氣間的重要性進行分析;在此基礎上建立一種基于Attention 機制的卷積門控循環單元網絡組合模型CNN-GRUA,利用CNN 模型所具備的局部特性感知能力來提取輸入數據間的高層特征;GRU 模型按照時序順序接收由CNN 模型處理后的數據特征的時間信息,加入 Attention 機制給予輸入特征不同的概率權重,提高關鍵信息對煤層氣產能的影響,實現對煤層氣產氣量的預測。
卷積神經網絡(Convolutional Neural Network,CNN)包含卷積層和池化層[13]。卷積層負責提取輸入序列參數特征傳入池化層,再通過全連接層得到最終結果。在時間序列問題的研究上,常采用一維結構。卷積神經網絡結構圖如圖1。
LSTM 用于分析時間序列數據,解決了RNN處理長周期數據出現梯度爆炸和梯度消失的問題。GRU 對LSTM 結構改進,只包含重置門和更新門[14]。兩者預測精度差距不大,但GRU 模型收斂速度快,運行成本低。重置門負責將當下輸入信息與過去信息相結合,更新門通過設置時間步來保存記憶信息。GRU 神經網絡結構圖如圖2。
圖2 GRU 神經網絡結構圖Fig.2 Structure diagram of GRU neural network
計算公式如下:
Attention 作為資源分配機制,主要提高對關鍵信息關注,降低無關信息干擾,類似于人類大腦的注意力分配功能[15]。通過賦予不同時刻輸入序列隱藏層向量相應的權重,考慮關鍵信息作用提高模型預測精度。Attention 機制結構圖如圖3。
圖3 Attention 機制結構圖Fig.3 Attention mechanism structure diagram
圖中:xi為輸入值;hi為GRU 隱層狀態輸出;βi為注意力權重值;y為輸出;i為數據數。
煤層氣開采具有間歇性和不穩定性的特點,排采數據以天為單位隨時間變化,是時間序列數據。在煤層氣產能預測中,排采數據包含煤層氣生產特點和動態數據變化規律。傳統神經網絡方法難以考慮到歷史排采序列前后關聯性及其內在規律。CNN 通過卷積層和池化層提取數據間高層特征,提高模型預測精度。GRU 針對煤層氣開采不穩定的特點,用于處理數據動態變化,從中挖掘煤層氣生產規律。但煤層氣開采周期較長,導致GRU 網絡會出現丟失信息的狀況。因此,引入Attention 機制通過賦予不同時刻輸入序列相應的權重,提高模型對關鍵信息的學習,避免關鍵信息丟失?;谏鲜龇治?,提出一種基于Attention 機制的卷積門控單元網絡CNN-GRUA。
以韓城區塊某煤層氣井排采數據為例進行分析,包括井底流壓、套壓、動液面高度、日產水量、沖次、泵效、泵徑等,將這些特征因素代入模型訓練之前,利用隨機森林算法進行優選挑選,提高神經網絡的預測效果,防止過擬合。
隨機森林是一種集成算法[16],由許多決策樹按照特定方式相互連接組成。決策樹數據由當前數據序列隨機劃分,最終結果由各決策樹結果決定?;谶@種方式,會產生未被決策樹劃分的數據,稱作袋外樣本(OOB),而特征序列重要性判定由袋外樣本決定[17]。計算公式如下:
式中:V IM為特征重要性;errOOB1 為每棵樹的袋外樣本誤差;errOOB2 為加入噪聲數據后重新計算的樣本誤差;N為決策樹個數。
選取排采過程中井底流壓、套壓、動液面高度、日產水量、沖次、泵效、泵徑等因素作為輸入特征,日產氣量作為目標值,利用隨機森林算法對排采過程中7 個參數進行特征重要性評價。各排采參數的重要性如圖4。
圖4 各排采參數的重要性Fig.4 Importance of each drainage parameter
從中選出靠前的5 個因素分析其與日產氣之間的關系,同時也將這5 種因素序列作為后續模型建立訓練的輸入端,分別為:井底流壓、套壓、動液面高度、日產水量、沖次。
基于上述隨機森林特征重要性分析可知井底流壓、套壓、液柱高度、日產水量、沖次等排采參數與日產氣量相關性較高,通過皮爾遜相關系數進行相關系數運算,計算公式如下:
排采參數之間相關系數熱度圖如圖5。
圖5 排采參數之間相關系數熱度圖Fig.5 Heat map of correlation coefficients between drainage parameters
由圖5,日產氣量與各排采參數間的關系主要表現為:日產氣量與沖次呈現正相關性,日產氣量與井底流壓、套壓、日產水、動液面呈現負相關性。
煤層氣生產井通過調節氣井沖次控制排采速度(產氣、產水)。當進入氣水兩相流階段時,氣井沖次越高,產氣量越高。因此,在考慮煤儲層排采過程中的速敏、應力敏感性條件下,沖次與日產氣存在正相關關系。
動液面高度變化體現排采強度,隨著液柱高度降低,儲層壓力減小,煤層氣產量增大,產氣量與液面深之間呈負相關關系。造成上述現象的原因,主要在于套壓和液面深之間存在正相關關系,液面深度受套壓控制,致使液面深與產氣量的關系受控于產氣量與套壓的關系,因此產氣量與液面深之間呈負相關關系。
煤層氣井投產初期,煤層氣井進入飽和水單相流階段,通過控制產水速度,降低井底壓力及壓降范圍。當井底壓力降低到臨界解吸壓力以下,煤層氣井進入初始產氣階段,一般井底流力下降幅度越大,產氣量越高,兩者存在負相關關系。
套壓值可反映煤層氣的產出狀況,“見壓放氣”也是煤層氣井生產常用的技術手段。當煤層氣井進入飽和水單相流階段時,套壓值為0。氣水兩相流及單相氣流動階段,兩者關系存在多重性,但總體趨勢為在保證穩定產氣的前提下,套壓值降低時,產氣量上升,兩者存在負相關關系。
煤層氣井不同排采階段產水量及產氣量的關系具有多重性。在飽和水單相流階段,井底流壓未降低到臨界解吸壓力以下,產氣量為0。在氣水兩相流階段,保證連續性生產條件且產水量充足條件下,水相滲透率下降,氣相滲透率上升,兩者存在負相關關系。
歷史序列是日產氣量變化的表現,它包含了日產氣預測規律的重要信息。CNN 模型作為組合模型的上層,其卷積層最先接收到影響煤層氣產能的各排采數據參數。作為卷積層可以充分提取輸入序列數據間的高層特征,再通過池化層篩選提取較為主要的數據特征,減少計算量。GRU 模型作為組合模型的下層,可以按照時序順序接收由CNN 模型處理后的重要排采數據特征的時間信息,由于其門結構的構造,可以考慮前后數據之間的關聯性。Attention 機制通過賦予不同特征向量相應的概率,對權重參數矩陣實現不斷更新。CNN-GRUA 模型預測流程圖如圖6。
圖6 CNN-GRUA 模型預測流程圖Fig.6 Flow chart of CNN-GRUA model prediction
性能評價標準用來衡量模型的預測效果。選取2 種評價標準:均方根誤差(RMSE)、平均絕對誤差百分比(MAPE)。其計算公式如下:
式中:y(i)為 實際值;y′(i)為 預測值;N為y(i)的個數。
韓城區塊主要開采山西組3 號煤和太原組5 號、11 號煤層,以11 號煤層為研究對象,埋深738~835 m,平均埋深865 m,煤層厚度3~7 m,鏡質組反射率為1.81%~3.09%,為無煙煤。煤層含氣量4.75~19.73 m3/t,煤巖孔隙度1%~8%,煤層滲透率介于0.05×10-3~12×10-3μm2,綜合分析表明,11 號煤層孔隙未被礦物充填,對煤層氣儲集有利,煤巖孔隙結構中,以大中孔隙為主,外生裂隙相當發育,孔、縫間連通性好,有利于煤層氣的儲集和開發[18]。
為驗證所提煤層氣產能預測方法的精確性和有效性,利用某井區的某井數據進行驗證。選取2012 年4 月至2016 年8 月共1 600 d 的煤層氣排采數據作為數據集,將其劃分為訓練集與測試集,其中訓練集1 440 d,測試集160 d。數據每日采集1 次,模型輸入特征維度為5 維,分別為:沖次、套壓、井底流壓、日產水、動液面高度,輸出特征維度為1 維的日產氣量。
為加速訓練及提高模型預測的精度,對數據進行歸一化處理。
根據確定的煤層氣排采參數與日產氣量所構成的訓練集,基于Adam[19]優化學習算法,對CNN-GRU 神經網絡進行訓練,初始狀況下經過不斷實驗調試,CNN 模塊參數設計結果對比見表1,GRU 模塊參數設計結果對比見表2。
表1 CNN 模塊參數設計結果對比Table 1 Comparison of CNN module parameters design results
表2 GRU 模塊參數設計結果對比Table 2 Comparison of GRU module parameters design results
由表1、表2 數據最終確定模型最優網絡結構設置具體如下:CNN 卷積層層數為2,第1 層和第2 層卷積核個數分別為32 和64,大小為3,取Relu 激活函數激活,池化層池化方法采用最大池化,GRU 層數為2,隱藏神經元個數分別為64 和128,訓練次數epochs 設置為300,防止訓練過程中出現過擬合現象,在每層門控循環單元網絡后采用Dropout 方法,大小設置為0.25。
將排采數據代入所設計的組合模型CNN-GRU進行歷史日產氣量擬合,日產氣量預測值與日產氣量實際值對比如圖7,兩者結果非常接近說明模型在訓練過程中并沒有出現過擬合或者欠擬合的狀況,具有較好的泛化能力,可以應用解決煤層氣產能預測問題。
圖7 日產氣量預測值與日產氣量實際值對比Fig.7 Comparison of predicted daily gas volume and actual daily gas volume
在訓練效果最優的CNN-GRU 神經網絡模型基礎上,引入Attention 機制進行優化,對未來160 d 的產氣量進行預測,與煤層氣日產氣量實際值相比較,預測值的平均絕對誤差百分比為1.72%,預測值與實際值基本一致,最優模型獲得的評價指標結果見表3,不同模型日產氣預測值與實際值比較如圖8。
表3 最優模型獲得的評價指標結果Table 3 Evaluation index results obtained by the optimal model
圖8 不同模型日產氣預測值與實際值比較Fig.8 Comparison of predicted and actual daily gas output from different models
由表3 和圖8 可以看出:在RMSE 和MAPE這2 種模型評估標準下,引入注意力機制的模型CNN-GRUA 的預測效果最好,BP 模型的預測效果最差;從數據上來看,RMSE 分別下降了80.71%、49.84%、41.95%、12.11%;MAPE 分別下降了82.32%、52.34%、44.87%、15.27%??梢钥闯觯疚乃岢龅姆椒ㄏ鄬τ谄渌椒ㄔ谶@2 種評估標準下有較大提升,能對煤層氣井產氣量進行精準預測。
為了驗證模型的適用性,選取了該地區平均日產量不同的5 口井進行實驗,其中平均日產氣量在500~1 000 m3的井記作L-1,平均日產氣量在1 000~2 000 m3的井記作L-2、L-3,平均日產其量在2 000 m3以上的井記作L-4 和L-5,來預測未來160 d 的日產氣量情況。煤層氣井實際產量與模型預測產量見表4。
表4 煤層氣井實際產量與模型預測產量Table 4 Actual coalbed methane well production and model forecast production
由表4 可以發現,CNN-GRUA 模型的預測結果與實測值的誤差平均值都小于10%,證明本文所提的模型具有較強適應性。
1)基于隨機森林特征重要性判斷方法從排采參數中選出影響煤層氣日產氣量的主要因素,解決了模型構建過程中原始數據維度復雜的問題,避免了無關因素的干擾,提高了模型預測的精確性,節約了時間成本。
2)利用CNN 網絡善于提取數據間高層特征的特性,避免了人工選取數據特征的局限性,利用GRU 網絡善于學習長時間歷史數據前后關系的特性,解決了長時間學習造成的梯度爆炸問題,利用Attention 機制提高模型對關鍵信息的關注,避免出現重要信息丟失,實現對排采數據的充分挖掘。
3)針對煤層氣開采現狀,將本文所提出的CNN-GRUA 網絡模型應用到煤層氣產能預測問題上。結果表明:該模型預測效果好,預測精度高,具有一定應用潛力。