趙洪濤,李金澤,楊 毅,趙洪緒,房鑫磊,于偉強
(1.中法渤海地質服務有限公司,天津 300457;2.中海石油(中國)有限公司天津分公司,天津 300459)
掌握油井產量變化規律是實現油田高效生產與管理的關鍵[1]。由于油藏地質、舉升工藝、作業措施、管理水平等均具有復雜性,油井產量的影響因素眾多,為準確預測油井產量帶來巨大挑戰[2]。傳統的產量預測多采用基于滲流理論的油藏工程方法或者油藏數值模擬方法[3-5],然而,這些傳統方法或者因基于理想滲流情況而不能反映實際儲層滲流情況,或者因需要大量地質、流體物性和開發動態等方面的數據,致使結果受歷史擬合和地質建模的影響[6]。
近年來,隨著人工智能技術發展,機器學習方法被大量用于油井產量預測,并取得了良好的預測效果[7-12]。2018年,Loh等人[13]將長短期記憶神經網絡(LSTM)用于短期產量預測,可以準確捕捉生產動態并預測短期生產。周于浩等[14]構建了基于門控遞歸單元(GRU)的神經網絡產量預測模型,相比于長短期記憶神經網絡而言,門控遞歸單元方法可大幅減少運行參數,提高運算及記憶性能。2021年,Cheng & Yang[15]研究指出,長短期記憶神經網絡適合用于特征參數多和數據量多的開發區,而門控遞歸單元適用于數據較少的開發區。2019年,谷建偉等[16]選取排量、泵深、生產時間、含水率、動液面、氣油比、鄰井注水量和鄰井產液量作為影響油井產量的參數,建立長短期記憶神經網絡油井產量預測模型,實現油井產量準確預測。2020年,劉巍等[1]考慮油井和周圍注水井的油藏靜態資料和開發動態參數,建立了一種利用機器學習模型實現油井日產油量的快速預測方法。王洪亮等[17]在對32個產量影響因素分析的基礎上,采用長短期記憶神經網絡模型進行產量預測,發現該方法的預測結果優于傳統水驅曲線方法和全連接神經網絡(FCNN)方法。2021年,張瑞和賈虎[18]將井組內不同生產井產油量和注水井注水量作為相關時間序列,建立基于多變量時間序列(MTS)和向量自回歸(VAR)機器學習模型的油井產量預測方法。2022年,Ng等[19]利用元啟發式算法(MA)和機器學習算法對Volve油田生產數據進行產量預測研究,并對7種數據驅動模型的預測性能進行評價,發現長短期記憶神經網絡在訓練結果和預測準確性方面均優于其他6個模型。
從現有研究來看,采用長短期記憶神經網絡方法可以獲得較好的油井產量預測效果。但大多數研究方法所需的參數較多,數據收集困難,并且往往將注水井總注入量作為一個特征參數來考慮,未考慮分層注水對油井產量的影響。本文以分層注水區塊為研究對象,首先采用平均不純度減少(MDI)方法分析區塊中所有分注層段對單井產量和含水率的影響程度;然后,根據重要性確定出主要的分注層段,實現數據降維;最后,利用篩選出的分注層段的注水數據以及油井日產量和含水率數據對長短期記憶神經網絡模型進行訓練和優化,得到最終的單口油井產量和含水率預測模型。為簡便、快捷、準確預測油井產量和含水率變化提供一種新的手段。
油井產量受儲量、儲層物性、舉升工藝、儲層措施、油水井數量、采油速度、生產時間等因素影響[1,20],其最終關系表現在注入井和生產井的參數上。本文將中間影響因素作為“黑盒子”,僅考慮注入量與采出量之間的關聯關系。對于一個分層注水的井組來講,距離和層位不同的注水層段對生產井的貢獻不同。為了降低計算維度、提高計算精度,有必要對影響油井產量和含水率的主要注水層段特征參數進行篩選。
目前機器學習中常用的特征參數提取方法主要有過濾法、包裹法和嵌入法。三種方法的優缺點如表1所示。

表1 特征參數提取方法比較
由表1可以看出,嵌入法在解決過擬合、參數忽略等方面具有較大優勢,而基于正則項的特征選擇方法不利于優化求解[21],因此本文最終采用了基于隨機森林的特征選擇方法。隨機森林是一種集成學習算法,被廣泛應用于研究各種分類、預測、特征選擇等問題[19]。算法提供了平均不純度減少(MDI)和平均精確度減少(MDA)兩種特征選擇方法。平均不純度減少表示每個特征對誤差的平均減少程度,常用于確定特征的重要性。對于每一個特征,計算其在每棵決策樹中減少的不純度,然后求其平均值,得到該特征減少的平均不純度。平均不純度減少越多,說明在決策樹訓練過程中的作用越大,則該特征的重要程度越大[22]。平均精確度減少是通過打亂某個特征的特征值順序,度量順序變動對于模型精確率的影響。對于不重要的特征,打亂順序對模型的精確率影響不會太大;但是對于重要的特征,打亂順序就會降低模型的精確率[23]。這兩種特征重要性評估方法對異常值和噪聲具有很好的容忍度,不易出現過度擬合等現象[24]。本文選用平均不純度減少方法篩選影響油井產量和含水率的主要注水層段特征參數[1]。
遞歸神經網絡(RNN)具有自循環結構,可以將前一時刻的信息傳遞到下一時刻的計算中,使遞歸神經網絡的輸出同時受當前時刻輸入和過去所有時刻輸入的共同影響[25]。因此遞歸神經網絡在解決時間序列問題方面具有明顯優勢。遞歸神經網絡的結構如圖1所示。

圖1 遞歸神經網絡結構
在t=0時刻,對U、V、W進行隨機初始化,該時刻的狀態h0通常初始化為0;在t=1時刻,其隱藏狀態h1和輸出o1表示為:
h1=f(Ux1+Wh0)
(1)
o1=g(Vh1)
(2)
式中:h0,h1分別為t=0,1時刻的隱藏狀態;f為輸入層激活函數,通常為tanh、ReLU、logistic;g為輸出層激活函數,通常為softmax;U為從輸入層到隱藏層的權重;V為從隱藏層到輸出層的權重;W為從隱藏層到隱藏層的權重;x1為t=1時刻的輸入;o1為t=1時刻的輸出。
當t=2時,隱藏狀態h1作為記憶狀態參與本時刻的預測活動,即:
h2=f(Ux2+Wh1)
(3)
o2=g(Vh2)
(4)
式中:h2為t=2時刻的隱藏狀態;x2為t=2時刻的輸入;o2為t=2時刻的輸出。
以此類推,遞歸神經網絡的計算公式為:
ht=f(Uxt+Wht-1)
(5)
ot=g(Vht)
(6)
式中:ht、ht-1為t、t-1時刻的隱藏狀態;xt為t時刻的輸入;ot為t時刻的輸出。
長短期記憶神經網絡是一種改進的遞歸神經網絡,其準確性、計算速度和可靠性優于遞歸神經網絡,因此適用于油田生產的長時時序預測。長短期記憶神經網絡在遞歸神經網絡的基礎上增加了輸入門、輸出門和遺忘門,其結構如圖2所示。

圖2 長短期記憶神經網絡結構
在t時刻,長短期記憶神經網絡單元通過處理輸入狀態xt、短期隱藏狀態ht-1和長期隱藏狀態ct-1來生成輸出狀態yt。長期隱藏狀態ct-1包含t時刻之前時間步的相關信息,短期隱藏狀態ht-1包含上一個時間步的信息。
遺忘門決定t時刻ct-1被遺忘的部分,通過執行ft和ct-1之間的數組元素相乘來實現,當ct-1里的元素被0相乘則全部遺忘,被1相乘則全部保留。輸入門通過執行gt和it之間的數組元素相乘來決定在長期隱藏狀態中gt被保存的部分。遺忘門信息(ft?ct-1)和輸入門信息(gt?it)相結合得到時刻t的長期隱藏狀態(ct),表達式為:
ct=ft?ct-1+gt?it
(7)
式中:?表示數組元素依次相乘。
輸出門處理新的長期隱藏狀態ct和輸出向量ot來生成新的短期隱藏狀態ht,表達式為:
ht=ot?f(ct)
(8)
輸入狀態xt和短期隱藏狀態ht-1通過全連接層FC進行處理,其中gt、ft、it、ot分別為:
(9)
(10)
(11)
(12)
式中:l為非線性激活函數,一般為tanh或ReLU;σ為激活函數,通常為Sigmoid;ft、gt及it、ot分別為控制遺忘門、輸入門和輸出門,值由激活函數σ和l決定,取值范圍[0~1];Wxg、Wxf、Wxi、Wxo分別為四個全連接層處理輸入xt的權重矩陣;Whg、Whf、Whi、Who分別為四個全連接層處理短期隱藏狀態ht-1的權重矩陣;bg、bf、bi、bo為偏置項。
長短期記憶神經網絡模型訓練的好壞采用決定系數和平均相對誤差來評價。
對數據進行歸一化可以提升長短期記憶神經網絡模型計算精度,讓不同維度之間的特征在數值上有一定的可比性。同時,數據歸一化還可以提升長短期記憶神經網絡模型的收斂速度,更容易收斂得到最優解。
本文采取最大最小歸一化方法將數據映射到[0,1]區間[1],計算公式如下:
(13)
式中:X為某特征(如分層注水量、油井產量、含水率)歸一化后的數據;x為某特征(如分層注水量、油井產量、含水率)待歸一化的數據;xmin為該特征的最小值;xmax為該特征的最大值。
基于長短期記憶神經網絡的油井產液量和含水率預測步驟包括:①確定數據集并將數據集劃分為訓練集和測試集;②利用平均不純度減少方法分析井組中所有注水井的各個注水層段對每口油井產液量和含水率的重要程度,篩選出影響每口油井產液量和含水率的主要注水層段;③對各個注水層段注水量、油井產液量和含水率分別進行歸一化處理,建立歸一化的機器學習數據集;④利用訓練集數據訓練長短期記憶神經網絡模型,得到預測模型;⑤利用測試集數據測試長短期記憶神經網絡模型的預測效果。
以海上某區塊作為研究對象,該區塊描述含油砂體16個、潛力含油砂體18個,探明石油地質儲量750×104t、潛力石油地質儲量近1 000×104t[17]。目前共有生產井60口、分層注水井44口。根據斷層情況,該區塊劃分成10個注采井組。選取其中一個井組作為預測油井產液量和含水率的研究對象。該井組于2015年11月30日投產,最初采用合注方式生產,2019年8月16日開始采取分注措施,目前包括20口生產井和13口注水井。本文以研究分層注水量對油井產液量和含水率的影響為目的,選取注水井各分層注水量為特征參數,不考慮油井之間的相互影響,收集和整理自分注開始至2021年2月13日的分層注水量、油井日產液量和油井含水率數據,并進行研究。該區塊生產井產液量和含水率波動大,采用傳統的油藏工程方法難以進行生產預測。
利用平均不純度減少方法進行特征選擇的目的是分析井組內各個注水井層段注水量對每口生產井產液量和含水率的影響程度,剔除影響較小的注水井層段,實現特征參數空間維數的壓縮,以提高長短期記憶神經網絡訓練模型的準確度。以生產井B29井為例,利用隨機森林分類函數進行平均不純度減少分析,計算各個注水井層段的重要性,結果如圖3所示。

圖3 B29井平均不純度減少特征重要性桿狀圖
圖3橫坐標為井組內所有注水井各個注水層段的平均不純度減少值(即特征重要性),平均不純度減少值越大說明該層段的注水量對B29井產液量和含水率的影響越大。從圖中可以看出:S-4、S-3和R-2三個層段對B29井產液量和含水率的影響大。剔除排序靠后的、累計值為15%的16個注水層段,保留前24個注水層段作為LSTM的輸入特征參數。
長短期記憶神經網絡的邏輯是輸入前n天某口生產井的產液量和含水率以及篩選出的注水層段的注水量,預測第n+1天產液量和含水率;接著按照一定步長移動這個n天時間步,來預測下一個n+1天產液量和含水率,從而實現整個數據集的迭代計算。為了防止過度擬合,長短期記憶神經網絡模型訓練過程中添加忽略層,在每次訓練時隨機忽略一些神經元(比例一般為20%~40%)。長短期記憶神經網絡模型訓練過程中的其他網絡結構參數取值分別為:時間步長5 d、批次大小128、第一層內神經元數目128、第二層內神經元數目128、隨機忽略的神經元比例20%、訓練次數為480次。
根據B29井特征選擇結果剔除冗余特征后,剩余特征與B29井產液量和含水率構成數據集,歸一化數據集后以82的比例將數據集劃分為訓練集和測試集;然后利用選擇的超參數進行長短期記憶神經網絡模型訓練,選擇均方誤差作為損失函數;訓練結束后反歸一化處理,計算決定系數和平均相對誤差來判斷訓練模型的好壞。模型訓練過程中訓練集和測試集的損失函數隨訓練次數的變化如圖4所示。可以看出,訓練集和測試集的損失函數隨訓練次數的增加逐漸減小并趨于穩定,且兩者非常接近,說明長短期記憶神經網絡模型訓練過程中沒有出現過擬合或欠擬合現象。產液量和含水率擬合的決定系數分別為0.866和0.953、平均相對誤差分別為3.05%和2.15%,說明模型具有較高精度。

圖4 B29井訓練集和測試集損失函數隨訓練次數的變化
根據建立的長短期記憶神經網絡模型,B29井產液量和含水率預測結果如圖5、圖6所示,產液量和含水率預測的決定系數分別為0.745和0.829,平均相對誤差分別為12.68%和4.45%。從預測結果可以看出,B29井長短期記憶神經網絡模型的預測結果準確掌握了該井產液量和含水率的變化趨勢,部分日期的預測結果與實際結果對比,二者吻合度較高,相對誤差較小(表2)。

圖5 B29井測試集產液量預測結果

圖6 B29井測試集含水率預測結果

表2 B29井產液量和含水率預測值與實際值統計
采用相同的方法對井組內其余生產井進行產液量和含水率預測,平均相對誤差統計結果如圖7所示。井組產液量和含水率平均誤差分別為6.22%和2.97%,能夠滿足現場工程應用要求。利用訓練好的模型,可以用于井組分層注水優化,為現場注采方案調整提供依據。

圖7 井組所有生產井產液量和含水率平均相對誤差統計
(1)考慮油井生產動態數據的變化趨勢和前后關聯性,利用現場易得到的分層注水數據以及油井產量和含水率數據,建立了一種基于長短期記憶神經網絡的油井產量和含水率預測方法。
(2)現場實例應用結果表明,基于注水井分層注水量為特征的LSTM模型可以很好地預測油井產液量和含水率變化,井組產液量和含水率平均誤差分別為6.22%和2.97%,預測精度能滿足現場工程應用要求。
(3)基于平均不純度減少的特征選擇方法能夠有效篩選出影響油井產液量和含水率的主要注水層段,有助于認識生產井與注水層段之間的相互關系,同時為降低預測模型復雜度、提高計算效率奠定基礎。
(4)基于目前研究成果,可以進一步將區塊中各口油井之間的相互影響引入MDI分析和LSTM模型中,以考慮油井之間的干擾影響;此外,也可將建立的方法用于油井沉沒度、系統能耗、舉升效率等生產指標的預測。