劉巍 劉威 谷建偉
中國(guó)石油大學(xué)(華東)石油工程學(xué)院
油井產(chǎn)量動(dòng)態(tài)預(yù)測(cè)對(duì)認(rèn)識(shí)油藏、改善油井工作制度、編制科學(xué)合理的開發(fā)調(diào)整方案具有重要指導(dǎo)意義。油藏?cái)?shù)值模擬是油田產(chǎn)量預(yù)測(cè)最常用方法,但其準(zhǔn)確性依賴于高質(zhì)量的歷史擬合和準(zhǔn)確的地質(zhì)建模。歷史擬合耗時(shí)長(zhǎng),工作量大,同時(shí)前期建模過程需要大量地質(zhì)資料、流體物性資料和動(dòng)態(tài)開發(fā)資料。為克服數(shù)值模擬計(jì)算這一缺陷,利用機(jī)器學(xué)習(xí)方法[1-2]建立了油井產(chǎn)量預(yù)測(cè)模型,依托現(xiàn)場(chǎng)易獲得的開發(fā)動(dòng)態(tài)參數(shù)實(shí)現(xiàn)產(chǎn)量的快速準(zhǔn)確預(yù)測(cè)[3-4]。
利用機(jī)器學(xué)習(xí)算法建立產(chǎn)量預(yù)測(cè)模型簡(jiǎn)便實(shí)用,許多學(xué)者通過BP神經(jīng)網(wǎng)絡(luò)[5-8]和支持向量機(jī)(SVM)[9]等機(jī)器學(xué)習(xí)方法來實(shí)現(xiàn)油井產(chǎn)量的動(dòng)態(tài)預(yù)測(cè)。其應(yīng)用結(jié)果表明,該類基于數(shù)據(jù)挖掘思想的油田產(chǎn)量預(yù)測(cè)方法具有很好的應(yīng)用價(jià)值。但這些傳統(tǒng)的機(jī)器學(xué)習(xí)方法構(gòu)造的是一種點(diǎn)對(duì)點(diǎn)的映射,忽略了產(chǎn)量隨時(shí)間的變化趨勢(shì)和數(shù)據(jù)間的前后關(guān)聯(lián)性[10]。長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是一種改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[11],具有自循環(huán)結(jié)構(gòu),上一時(shí)刻的輸入會(huì)影響當(dāng)前時(shí)刻的輸出,同時(shí)通過 “門”結(jié)構(gòu),選擇性遺忘對(duì)當(dāng)前時(shí)刻不重要的“經(jīng)驗(yàn)”,記憶重要時(shí)刻的“經(jīng)驗(yàn)”知識(shí),從而具備較長(zhǎng)時(shí)間范圍內(nèi)的記憶功能[11]?;谠摲椒A(yù)測(cè)產(chǎn)量能準(zhǔn)確反映其變化趨勢(shì),更適合產(chǎn)量時(shí)序預(yù)測(cè)。
基于廣泛應(yīng)用于時(shí)序數(shù)據(jù)學(xué)習(xí)和預(yù)測(cè)的長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)來預(yù)測(cè)油井產(chǎn)量,能保留先前的產(chǎn)量信息并傳遞到后續(xù)時(shí)間節(jié)點(diǎn)的產(chǎn)量預(yù)測(cè),充分考慮生產(chǎn)動(dòng)態(tài)數(shù)據(jù)的變化趨勢(shì)和前后關(guān)聯(lián)性,更深層次挖掘數(shù)據(jù)間的潛在規(guī)律,預(yù)測(cè)結(jié)果更為準(zhǔn)確可靠,符合實(shí)際產(chǎn)量變化情況。
準(zhǔn)確選取影響油井產(chǎn)量的主要特征參數(shù),對(duì)于提高模型的泛化能力和預(yù)測(cè)精度具有重要意義?;跊Q策樹模型的特征選擇準(zhǔn)則——平均不純度減少(MDI),計(jì)算每個(gè)特征對(duì)樹模型預(yù)測(cè)誤差的平均減少程度,并將該值作為特征重要性的度量依據(jù)。在決策樹生成策略中,分類樹和回歸樹的生成都是選擇某個(gè)特征,并計(jì)算該特征對(duì)決策樹的不純度的減少程度來選擇特征作為決策樹的節(jié)點(diǎn)。因而,在決策樹的訓(xùn)練過程中可以保存每個(gè)特征平均減少了多少不純度,用來衡量這個(gè)特征的重要程度。對(duì)于分類問題,通常采用基尼不純度或者信息增益,對(duì)于回歸問題,可以采用方差或者其他合理的不純度衡量方法。采用特征對(duì)于決策樹模型預(yù)測(cè)誤差的變化大小來度量特征參數(shù)的重要性,計(jì)算過程如下。
假設(shè)存在m個(gè)特征(x1,x2,···,xm),利用這m個(gè)特征和觀測(cè)值yo所構(gòu)成的數(shù)據(jù)集訓(xùn)練隨機(jī)森林(RF)模型。訓(xùn)練前RF 模型初始預(yù)測(cè)誤差es為
在RF模型的生成過程中,依次給模型增加特征節(jié)點(diǎn)。當(dāng)選定并添加特征節(jié)點(diǎn)xi時(shí),得到RF 模型的預(yù)測(cè)誤差ei。因而特征xi對(duì)于響應(yīng)變量y的重要性可用MDI值(MDIi)定義為
依次添加剩余特征,直至遍歷完所有特征時(shí),停止決策樹的生長(zhǎng),同時(shí)得到其余特征參數(shù)的MDI值。一般而言,與油井產(chǎn)量無(wú)關(guān)的特征參數(shù),其MDI值較小。但是,當(dāng)特征間存在協(xié)同作用時(shí)(如:同時(shí)選定特征a、b時(shí)模型的預(yù)測(cè)精度比單獨(dú)選定特征a或b時(shí)的高),會(huì)導(dǎo)致其中一個(gè)特征的重要性偏低。因而,首先依據(jù)各個(gè)特征參數(shù)的MDI值,以從大到小順序?qū)μ卣鬟M(jìn)行排序。進(jìn)而剔除MDI值較小的特征,觀察該特征對(duì)模型預(yù)測(cè)精度的影響。若預(yù)測(cè)精度保持不變,則可認(rèn)定該參數(shù)為冗余的無(wú)效特征;若模型的預(yù)測(cè)精度變化較大,則說明該特征與候選特征中的特征存在協(xié)同作用,保留該特征。根據(jù)MDI 值從小到大順序繼續(xù)剔除特征,重復(fù)上述過程直至無(wú)候選特征為止,從而可剔除特征集中的無(wú)效特征參數(shù)。此時(shí),保留的特征參數(shù)即為與油井產(chǎn)量最相關(guān)的有效特征參數(shù)?;谏鲜龇椒êY選出來的有效特征參數(shù)結(jié)合油井產(chǎn)量數(shù)據(jù)構(gòu)成標(biāo)準(zhǔn)數(shù)據(jù)集,用于LSTM 模型的訓(xùn)練和測(cè)試。
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)輸入和輸出相互獨(dú)立,無(wú)法考慮先前時(shí)刻的輸入對(duì)當(dāng)前時(shí)刻輸出的影響,因此不能有效處理時(shí)序數(shù)據(jù)問題。RNN 具有自循環(huán)結(jié)構(gòu),可將先前時(shí)刻處理的信息傳遞給下一時(shí)刻計(jì)算輸出,從而給網(wǎng)絡(luò)賦予了“記憶能力”,使RNN 的輸出不僅受到當(dāng)前輸入影響,還受過去所有步驟輸入影響[12]。RNN的這一優(yōu)勢(shì)使其成為解決序列問題時(shí)最自然的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),計(jì)算過程如下
其中,ht為t時(shí)刻隱藏層狀態(tài);U為輸入層權(quán)重系數(shù)矩陣;xt為t時(shí)刻輸入;W為隱層神經(jīng)元之間權(quán)重系數(shù)矩陣;ot表示t時(shí)刻輸出;V為輸出層權(quán)重系數(shù)矩陣;f和g分別表示輸入層和輸出層的激活函數(shù)。
參數(shù)矩陣W在每次計(jì)算中被共享,所以在狀態(tài)傳遞過程中相當(dāng)于乘以Wt。當(dāng)訓(xùn)練的序列較長(zhǎng)時(shí)(即t較大),Wt可能趨向于0或無(wú)窮大,即梯度消失或爆炸。對(duì)于1個(gè)時(shí)間序列,先前時(shí)刻信息的記憶都會(huì)以指數(shù)級(jí)的速度被遺忘,最終導(dǎo)致長(zhǎng)距離的信息很難在網(wǎng)絡(luò)中傳遞。LSTM是一種改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò),可以很好地解決長(zhǎng)時(shí)依賴問題,更適合油井產(chǎn)量的時(shí)序預(yù)測(cè)。
LSTM和普通的RNN 相比,增加了遺忘門、輸入門、輸出門和記憶單元,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of LSTM network
遺忘門可控制上一時(shí)刻隱藏層狀態(tài)的遺忘程度,ft取值為0時(shí)表示無(wú)信息通過,取值為1表示信息完全通過,保留這一時(shí)刻的記憶。數(shù)學(xué)表達(dá)式為
輸入門首先通過sigmoid 層決定哪些值用來更新,然后通過一個(gè)tanh 層生成新記憶候選值并決定新記憶寫入長(zhǎng)期記憶的程度。數(shù)學(xué)表達(dá)式為
將記憶單元保留的舊記憶狀態(tài)Ct?1與新的候選值結(jié)合,并由遺忘門輸出值ft和輸出門的計(jì)算結(jié)果it分別決定舊記憶狀態(tài)和新信息被遺忘和保留的程度,更新記憶單元狀態(tài),數(shù)學(xué)表達(dá)式為
輸出層通過sigmoid 層得到一個(gè)初始輸出,并結(jié)合tanh 層決定模型最終的輸出值。表達(dá)式為
上述式(6)~(10)中, σ表示sigmoid 層激活函數(shù);ft表示t時(shí)刻遺忘門的輸出;Wf、bf分別表示遺忘門權(quán)重和偏置項(xiàng);it表示t時(shí)刻輸出層的輸出;Wi、bi分 別表示輸入門權(quán)重和偏置項(xiàng);WC、bC分別表示tanh 層的權(quán)重和偏置項(xiàng);Wo、bo分別表示輸出層的權(quán)重和偏置項(xiàng);Ct表示記憶單元在t時(shí)刻的狀態(tài);ot意義與式(4)相同;表示t時(shí)刻tanh 層的輸出;tanh 表示激活函數(shù)。
LSTM通過門控制器和新的記憶單元,在RNN原有短期記憶上保留了長(zhǎng)期記憶,對(duì)長(zhǎng)序列的理解分析能力大幅度提高,能更好地適應(yīng)具有長(zhǎng)時(shí)依賴特征的時(shí)序預(yù)測(cè)問題。油井產(chǎn)量變化具有較強(qiáng)的前后關(guān)聯(lián)性,利用LSTM神經(jīng)網(wǎng)絡(luò)能更有效學(xué)習(xí)和挖掘產(chǎn)量數(shù)據(jù)變化規(guī)律,實(shí)現(xiàn)產(chǎn)量的準(zhǔn)確預(yù)測(cè)[13-14]。因此,采用LSTM 建立產(chǎn)量預(yù)測(cè)模型更合適。
在測(cè)試集上評(píng)價(jià)預(yù)測(cè)模型的泛化能力,即模型的產(chǎn)量預(yù)測(cè)效果。采用的預(yù)測(cè)效果評(píng)價(jià)指標(biāo)主要包括:決定系數(shù)R2、平均相對(duì)誤差 δr、均方誤差 δa。
決定系數(shù)R2計(jì)算公式為
平均相對(duì)誤差也作為模型訓(xùn)練的代價(jià)函數(shù),其公式為
均方誤差計(jì)算公式為
式中,yi為第i個(gè)樣本或第i時(shí)刻實(shí)測(cè)產(chǎn)量,t/d;N為樣本個(gè)數(shù)為L(zhǎng)STM模型在i時(shí)刻或第i個(gè)樣本處產(chǎn)量預(yù)測(cè)值,為實(shí)測(cè)產(chǎn)量平均值,t/d。
基于MDI特征選擇的LSTM 油井日產(chǎn)油量預(yù)測(cè)模型主要包括以下步驟:① 對(duì)構(gòu)建的數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,分別用于模型的訓(xùn)練、超參數(shù)調(diào)優(yōu)和模型預(yù)測(cè)效果評(píng)價(jià);② 對(duì)輸入特征基于MDI 方法分析各個(gè)變量的重要性,篩選出油井日產(chǎn)油量的影響因素,剔除掉無(wú)關(guān)特征;③為了消除特征之間量綱差異給模型帶來的誤差,并加快模型訓(xùn)練速度,對(duì)各個(gè)輸入特征進(jìn)行歸一化處理,建立標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)數(shù)據(jù)集;④在訓(xùn)練集上對(duì)LSTM 模型進(jìn)行訓(xùn)練,并在驗(yàn)證集上,通過網(wǎng)格搜索確定LSTM的最優(yōu)超參數(shù),得到最終的預(yù)測(cè)模型;⑤在測(cè)試集上對(duì)比模型預(yù)測(cè)結(jié)果與實(shí)際值的差距,測(cè)試LSTM模型的預(yù)測(cè)效果?;贛DI特征選擇的LSTM油井日產(chǎn)油量預(yù)測(cè)方法的流程圖如圖2所示。
圖2基于MDI 特征選擇的LSTM 日產(chǎn)油量預(yù)測(cè)方法的流程圖Fig.2 Flow chart of LSTM daily oil production prediction method selected on the basis of MDI characteristic
選取某油田25FLW 井區(qū)為研究對(duì)象,其位于東營(yíng)渤中凹陷,油藏埋深1 395~1 455 m,油氣成藏條件優(yōu)越,石油地質(zhì)儲(chǔ)量為517×104t。該油藏從1999 年投入開發(fā),至今已有25口油井和15口注水井,選取其中1個(gè)井區(qū)作為產(chǎn)量預(yù)測(cè)的研究對(duì)象。該井區(qū)包含5口生產(chǎn)井(25FLW-1,25FLW-2,25FLW-3,25FLW-4,25FLW-5)和4口注水井(25FLW-11,25FLW-12,25FLW-13,25FLW-14)。根據(jù)油藏工程師經(jīng)驗(yàn),影響油井產(chǎn)量的因素主要包括4類:第1類是當(dāng)前油井的井口壓力,原始含水飽和度,泵排量,生產(chǎn)時(shí)間,含水率;第2類是周圍油井的產(chǎn)液量;第3類是周圍注水井的井口壓力和注水量;第4類是油藏剩余可采儲(chǔ)量。收集和整理這5口生產(chǎn)井從投入開發(fā)至2018年11月的上述4 類特征參數(shù)和日產(chǎn)油量數(shù)據(jù),并分別以6∶2∶2的比例將各生產(chǎn)井的數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集。
對(duì)統(tǒng)計(jì)和整理好的油田現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行清洗和處理。數(shù)據(jù)的清洗工作主要包括清除數(shù)據(jù)中的異常點(diǎn),補(bǔ)全缺失數(shù)據(jù),保證整個(gè)生產(chǎn)時(shí)段內(nèi)數(shù)據(jù)的完整性和有效性。同時(shí),為加快模型訓(xùn)練速度和提高預(yù)測(cè)精度,對(duì)收集的數(shù)據(jù)進(jìn)行歸一化處理,其公式如下
式中,x表示待歸一化的參數(shù),xmin、xmax分別表示參數(shù)的最大值和最小值。
基于MDI 特征選擇方法,分析各個(gè)靜態(tài)特征參數(shù)和動(dòng)態(tài)特征參數(shù)對(duì)于油井產(chǎn)量的重要性,以油井25FLW-1 為例,各個(gè)特征重要性計(jì)算結(jié)果如圖3所示。
圖3坐標(biāo)縱軸表示各特征參數(shù),橫軸表示特征參數(shù)對(duì)產(chǎn)量的重要性程度。井區(qū)剩余可采儲(chǔ)量和25FLW-1井的井口壓力對(duì)該井產(chǎn)量影響較大,而產(chǎn)量與該井原始含水飽和度、泵排量無(wú)關(guān)。由于這些參數(shù)在25FLW-1 井生產(chǎn)過程中幾乎一直保持為定值,對(duì)產(chǎn)量的變化沒有任何貢獻(xiàn),因而在建立該井產(chǎn)量預(yù)測(cè)模型過程中可剔除該類特征。同時(shí),根據(jù)特征的MDI值從小到大順序,逐次排除特征參數(shù),剔除掉對(duì)模型預(yù)測(cè)精度沒有影響的冗余特征,則此時(shí)剩下的特征參數(shù)為影響油井產(chǎn)量有效特征。最終基于MDI 特征分析結(jié)果和特征篩選過程,剔除掉了25FLW-11井的原始含水飽和度、泵排量、井口壓力和25FLW-13井注水量這4個(gè)變量,確定有效特征參數(shù)共14個(gè),作為L(zhǎng)STM模型輸入變量。
根據(jù)確定的有效特征參數(shù)與油井日產(chǎn)油量構(gòu)成的訓(xùn)練集,基于Adam 學(xué)習(xí)算法,對(duì)LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,優(yōu)化神經(jīng)網(wǎng)絡(luò)的各個(gè)權(quán)重系數(shù);在驗(yàn)證集上通過網(wǎng)格搜索,確定模型最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù):
epochs=750;batch_size=35;time_step=10; hidden_nodes=30。訓(xùn)練過程中模型損失函數(shù)隨訓(xùn)練次數(shù)的變化過程如圖4??梢钥闯?,模型的損失函數(shù)隨訓(xùn)練次數(shù)增加而逐漸減小并趨于穩(wěn)定,且訓(xùn)練集與驗(yàn)證集的損失函數(shù)非常接近,說明LSTM預(yù)測(cè)模型沒有出現(xiàn)過擬合或欠擬合的現(xiàn)象,模型具有較好的泛化能力,可用于25FLW-1井的日產(chǎn)油量預(yù)測(cè)。
圖4訓(xùn)練集和測(cè)試集損失函數(shù)隨訓(xùn)練次數(shù)的變化過程Fig.4 Variation of the loss function of training set and testing set with the training times
以25FLW-1井為例,利用訓(xùn)練好的LSTM產(chǎn)量預(yù)測(cè)模型,預(yù)測(cè)25FLW-1油井在2018年6月21日—11月1日的日產(chǎn)油量,與實(shí)際監(jiān)測(cè)數(shù)據(jù)對(duì)比,部分結(jié)果如表1,平均相對(duì)誤差為4%,滿足工程計(jì)算要求。整個(gè)測(cè)試集上的產(chǎn)量預(yù)測(cè)值與實(shí)際值對(duì)比結(jié)果如圖5,LSTM 模型預(yù)測(cè)的油井日產(chǎn)量與實(shí)測(cè)產(chǎn)量高度一致,模型預(yù)測(cè)效果評(píng)價(jià)指標(biāo)有:決定系數(shù)R2=0.78,平均相對(duì)誤差δr=0.04,均方誤差δa=1.07。結(jié)果均表明基于LSTM的產(chǎn)量測(cè)模型準(zhǔn)確掌握了產(chǎn)量變化趨勢(shì)和前后關(guān)聯(lián)性,能準(zhǔn)確預(yù)測(cè)油井未來日產(chǎn)量變化。因此,LSTM 日產(chǎn)油量預(yù)測(cè)模型可用于礦場(chǎng)應(yīng)用,且該模型可用于該井區(qū)和油田其他生產(chǎn)井的日產(chǎn)油量預(yù)測(cè),根據(jù)給定的數(shù)據(jù)集進(jìn)行機(jī)器學(xué)習(xí),深度挖掘數(shù)據(jù)中隱藏的控制機(jī)制,得到適用于每口生產(chǎn)井的LSTM 日產(chǎn)油量預(yù)測(cè)模型。
表1 25FLW-1井產(chǎn)量預(yù)測(cè)值與實(shí)際值對(duì)比Table 1 Comparison between the predicted production of Well 25FLW-1 and the actual value
基于訓(xùn)練好的模型,可進(jìn)行注采方案快速評(píng)估。當(dāng)改變注水井注入量時(shí),根據(jù)LSTM預(yù)測(cè)模型,可快速預(yù)測(cè)相應(yīng)控制條件下的產(chǎn)量,實(shí)現(xiàn)注采方案合理性的快速判斷和調(diào)整。以25FLW-1井為例,保持其他生產(chǎn)參數(shù)不變,改變注水井25FLW-11的注水量,根據(jù)訓(xùn)練好的LSTM 模型預(yù)測(cè)油井25FLW-1的日產(chǎn)油量變化,如圖6所示。從結(jié)果可看出,增大25FLW-11井的注水量能有效提高25FLW-1井的產(chǎn)油量,這一結(jié)果可用于快速判斷注采方案的合理性,調(diào)整和優(yōu)化注采方案。或用于診斷油井是否出現(xiàn)故障,即當(dāng)產(chǎn)量沒達(dá)到預(yù)期值時(shí),可考慮檢查采油設(shè)備等儀器是否出現(xiàn)故障。
圖6 25FLW-1井產(chǎn)量隨注水量的變化關(guān)系Fig.6 Variation of Well 25FLW-1’s productionwith water injection rate
(1)建立了一個(gè)基于LSTM網(wǎng)絡(luò)的油田產(chǎn)量預(yù)測(cè)模型,利用現(xiàn)場(chǎng)簡(jiǎn)便易得的開發(fā)動(dòng)態(tài)數(shù)據(jù)和地質(zhì)參數(shù)即可實(shí)現(xiàn)油田產(chǎn)量的快速準(zhǔn)確預(yù)測(cè)。
(2)基于MDI的特征選擇算法能夠有效篩選出影響油井產(chǎn)量的主要因素,有助于認(rèn)識(shí)油井產(chǎn)量與各因素之間的相關(guān)關(guān)系,同時(shí)為降低模型復(fù)雜度、提高模型泛化能力奠定基礎(chǔ)。
(3)建立的產(chǎn)量預(yù)測(cè)模型能快速有效預(yù)測(cè)油田產(chǎn)量,可進(jìn)一步應(yīng)用于油藏開發(fā)的生產(chǎn)優(yōu)化研究,為后期注采參數(shù)的優(yōu)化調(diào)整提供依據(jù)。
(4)可以進(jìn)一步考慮停井、生產(chǎn)工藝和增產(chǎn)措施等因素對(duì)產(chǎn)量的影響改善模型。同時(shí),可將建立的方法進(jìn)一步應(yīng)用于油井產(chǎn)水量和氣油比等生產(chǎn)指標(biāo)的預(yù)測(cè),實(shí)現(xiàn)油氣田多生產(chǎn)指標(biāo)的快速預(yù)測(cè)。