国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于循環(huán)神經網絡的油田特高含水期產量預測方法

2020-12-22 01:24:56王洪亮穆龍新時付更竇宏恩
石油勘探與開發(fā) 2020年5期
關鍵詞:高含水投產油井

王洪亮,穆龍新,時付更,竇宏恩

(中國石油勘探開發(fā)研究院,北京 100083)

0 引言

油田開發(fā)指標預測是評價油田開采狀況、編制油田開發(fā)規(guī)劃、進行油田開發(fā)方案設計與調整等決策問題的基礎和依據,只有對油田開發(fā)指標進行科學可靠的預測,才能實現對各項措施工作的科學安排部署和工作量的合理匹配,確保規(guī)劃目標的實現。

油田進入特高含水(含水率大于 90%)階段,利用水驅特征曲線預測特高含水期產量,水驅特征曲線發(fā)生上翹,預測結果誤差較大,已不適于描述特高含水期產量遞減規(guī)律[1-3]。一些學者對水驅特征曲線進行了改造,在不同程度上都可以對特高含水期的實際生產數據進行擬合,但所得水驅特征曲線多為非線性曲線,不便于應用且外推預測的誤差較大。此外,油田地質條件復雜,進入特高含水期,地層物性變化多樣,常規(guī)油藏工程方法考慮的影響因素少,一般只能進行平滑預測[4-5];油藏數值模擬等方法的時效性不強,費用高。因此,需要一種能夠提高工作效率、提高預測精度的開發(fā)指標預測方法。

近年來,隨著人工智能在科學和工程領域的廣泛應用,數字化轉型、大數據、人工智能已經成為石油和天然氣工業(yè)的熱點[6-12]。石油工業(yè)上游領域的學術期刊中頻繁出現人工智能應用的相關報道[13-18]。很多學者利用支持向量機(Support Vector Machine,簡稱SVM)、自回歸(Autoregressive,簡稱AR)和人工神經網絡(Artificial Neural Network,簡稱ANN)等方法來進行地質特征預測[19]、巖性判別[20]、油井產量主控因素分析[21-23]等。其中,用于油井產量預測的人工神經網絡以全連接神經網絡(Fully Connected Neural Network,簡稱FCNN)為主[24-28]。由于FCNN無法保存、利用之前時刻的信息,無法預測時間序列數據,一些學者通過組合模型來預測油井產量[29-30]。為了生成油田高含水階段產量時間序列數據,更加合理的選擇是利用循環(huán)神經網絡(Recurrent Neural Network,簡稱RNN)。在RNN中,每個神經單元內存在一個能夠重復使用該單元的自循環(huán)結構,這一循環(huán)結構使得先前的信息可以保留并在之后被使用。由于信息可以在循環(huán)神經網絡中自由流動,基于該方法預測的產量綜合考慮了時間因素,更加符合實際生產情況。

本文使用深度學習算法的長短期記憶神經網絡(Long Short-Term Memory,簡稱LSTM)[31]預測油田特高含水期產量,其也適用于預測其他階段的油田與油井產量[32-33]。該網絡在每個自循環(huán)結構內引入門結構,進一步模仿生物神經元信息傳導模式,不需任何額外的調整即可儲存更加長期的序列信息。這一優(yōu)點使其在人工智能和深度學習領域獲得了極大關注,在自然語言處理[34]、語音識別[35]、機器翻譯[36]等領域都得到了廣泛應用。另外,LSTM 也被應用于水文學、金融等領域來處理包含時間序列數據的問題[37-38]。

本文旨在根據油田生產歷史數據,通過使用LSTM預測油田特高含水期的產量。首先,闡述LSTM的理論基礎以及相應的網絡結構設計和特殊設置。其次,分析 LSTM 在油田特高含水期產量預測中的應用效果,并與傳統(tǒng)水驅曲線方法和FCNN模型的預測結果進行對比。

1 原理與方法

1.1 長短期記憶神經網絡

和回歸預測不同,時間序列預測在時間上具有復雜的序列依賴關系。FCNN無法根據序列數據中先前步驟的預測結果來預測當前步驟中的計算結果,無法分析序列數據中前后數據之間的相互關系。RNN的結構可以讓之前步驟中的信息持續(xù)保留并影響后續(xù)步驟的運算,然而,如果先前的相關信息所在的位置與當前計算步驟之間距離非常遠,因為不斷輸入數據的影響,模型中的記憶模塊(單一的tanh層或sigmoid層)無法長期有效地保存歷史信息,容易產生梯度消失或者梯度爆炸等問題[39]。LSTM是一種特殊的RNN,它改進了傳統(tǒng)RNN中的記憶模塊。通過門結構和記憶單元狀態(tài)的設計,使得LSTM可以讓時間序列中的關鍵信息有效地更新和傳遞,有效地將長距離信息保存在隱藏層中。LSTM 中隱藏層的循環(huán)網絡包含遺忘門、輸入門、輸出門和1個tanh層。處理器狀態(tài)有選擇地保存先前步驟中的有用信息并貫穿整個 LSTM。交互層中的門可以根據上一步的隱狀態(tài)和當前步驟的輸入對處理器狀態(tài)中的信息進行增加、刪除和更新操作,更新后的處理器狀態(tài)和隱狀態(tài)向后傳遞[27]。LSTM 模型支持端到端預測,可以實現單因素預測單指標、多因素預測單指標和多因素預測多指標。

1.2 特征選擇

在機器學習問題上,不相關變量可能對模型預測精度產生負面影響。特征選擇可以消除不相關的變量,改進模型精度,規(guī)避過擬合現象。

遞歸特征消除(Recursive feature elimination)[40]算法是特征選擇方法之一,其主要思想是使用一個基模型(本文利用支持向量機模型)來進行多輪訓練。首先基于全部特征進行訓練,針對訓練結果對每個特征進行打分,每個特征的打分規(guī)則如(1)式所示。去掉得分最小的特征,即最不重要的特征。利用剩余的特征進行第2輪訓練,遞歸此過程直至剩余最后1個特征。特征消除順序即特征的重要性排序,最先消除的特征重要程度最低,最后消除的特征重要程度最高。

2 數據預處理與模型訓練

本文以國內某油田產量數據為例,建立產量預測模型。該油田為中高滲透砂巖水驅開發(fā)油田,2005年進入特高含水階段。目前采油井1.4×104口,年產油800多萬噸,含水率大于95%。本文采用該油田2001年1月至2018年12月的生產數據開展模型驗證實驗。依據砂巖油田水驅開發(fā)特征以及油田開發(fā)生產歷史,篩選出產量影響因素包括新井數、新井產量、前 1年投產采油井數、前1年投產采油井產量貢獻、前2年投產采油井數、前 2年投產采油井產量貢獻、…、前 9年投產采油井數、前9年投產采油井產量貢獻、前10年及以前投產采油井數、前10年及以前投產采油井產量貢獻、注水井數、月注入量、含水率、生產天數、剩余可采儲量、新區(qū)動用可采儲量、老區(qū)新增可采儲量、措施井次、措施增油量及原油價格,共計32項。需要說明的是,以2018年為例,前1年為2017年,前2年為2016年,以此類推。實驗的主要目的是:①評價LSTM根據產量影響因素以及歷史產量數據預測未來產量的能力;②比較 LSTM、傳統(tǒng)水驅曲線方法和FCNN的預測結果。

2.1 影響因素分析

使用全部32個產量影響因素對數據質量要求高,相關性較小的因素會對模型精度造成干擾。只使用主控因素可以增加模型靈活性,降低模型復雜度,提高模型精度。因此,本文利用基于支持向量機的遞歸特征消除方法進行特征選擇,將各影響因素按重要程度排序。經交叉驗證得到最優(yōu)的特征數量為17,所以選擇重要程度排前 17的影響因素,即生產天數、前 10年及以前投產采油井產量貢獻、前 1年投產采油井產量貢獻、前9年投產采油井產量貢獻、前7年投產采油井產量貢獻、前6年投產采油井產量貢獻、前4年投產采油井產量貢獻、前 3年投產采油井產量貢獻、前8年投產采油井產量貢獻、前5年投產采油井產量貢獻、前2年投產采油井產量貢獻、前10年及以前投產采油井數、當年投產采油井產量貢獻、措施增油量、措施井次、當年投產采油井數、月注入量。

2.2 數據標準化

為了提高模型的預測精度和消除指標之間量綱的影響,需要對輸入和輸出數據進行預處理。由于數據較穩(wěn)定,不存在極端的最大、最小值,本文采用歸一化處理方法,將其映射到[0,1]區(qū)間,線性變換式為:

2.3 樣本集構造

2.3.1 特征向量構造

假設Xt為t時刻的產量影響因素特征向量,目標是預測未來N個月的產量。每個特征向量包含17個特征,編號為F1—F17。其中,F1—F9為前1—9年投產采油井產量貢獻,F10為前10年及以前投產采油井產量貢獻,F11為前10年及以前投產采油井數,F12為當年投產采油井產量貢獻,F13為措施增油量,F14為生產天數,F15為當年投產采油井數,F16為月注入量,F17為措施井次。特征F1—F13采用t時刻的數據。特征F14—F17采用t+N時刻的數據,如果有實際的生產數據則使用生產數據,否則使用計劃數據。也就是說,后4個特征的時間比前13個特征的時間滯后N個月。

2.3.2 時間序列化數據構造

LSTM的特殊結構要求其輸入是特征向量的序列,而序列是由連續(xù)的M個特征向量組成,M為時間序列步長。所以,在進行訓練之前,需要構造LSTM的輸入序列。假設Xt為t時刻的特征向量,則本文構造的輸入序列形式為{Xt-M+1,Xt-M+2,…,Xt}。第 1 個序列為{X1,X2,…,XM},第2個序列為{X2,X3,…,XM+1},并以此類推得到其他序列。

2.3.3 樣本數據集構造

本文利用LSTM模型的多對多預測功能,即用歷史上多個月的生產數據預測未來多個月的產量。樣本由輸入時間序列和輸出時間序列構成。假設生產時間為T,即記錄了T個月的生產數據,時間步長為M,預測產量滯后N個月,Yt為t時刻的月產油量。則輸入時間序列包括SI1={X1,X2,…,XM},SI2={X2,X3,…,XM+1},…,SIZ={XZ,XZ+1,…,XZ+M-1};輸出時間序列包括SO1={YM+1,YM+2,…,YM+N},SO2={YM+2,YM+3,…,YM+N+1},…,SOZ={YM+Z,YM+Z+1,…,YM+Z+N-1},共組成Z個監(jiān)督學習樣本,則Z=T-N-M+1。模型要求的輸入樣本為形如(Z,M,F)的三維張量,其中F為特征向量的維度。在輸入時間序列中,將輸入數據劃分為A、B兩個部分:A部分包含特征F1—F13,代表第1個月到第T-N個月的實際生產數據;B部分包含特征F14—F17,代表第T-N+1個月到第T個月的計劃數據。

2.3.4 數據集劃分

本文選取2001年1月至2018年12月的生產數據為實驗數據,總共有 18×12=216個月的生產數據。結合前文的時間滯后和序列化方法組裝成算法需要的樣本數據集。其中2001年1月至2016年12月的數據作為訓練集,2017年1月至2017年12月的數據為驗證集,2018年1月至2018年12月的數據作為測試集。

2.4 評價指標

為了評估LSTM模型在產量預測上的準確度,本文采用相關系數和平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)這兩個評價指標。

2.5 模型訓練與自動調優(yōu)

本文實驗驗證采用 Tensorflow開源平臺作為深度學習平臺,采用 Python 3.3編寫實驗程序,同時使用了一些第三方庫,如使用Sklearn、Numpy計算技術指標,使用Keras搭建網絡結構。

2.5.1 模型訓練

首先隨機初始化LSTM神經網絡參數。設置神經網絡層數(layers)為 1、時間序列步長(timesteps)為 12個月、神經元個數(neurons)為 55、訓練循環(huán)次數(epochs)為60、批量大?。╞atchsize)為3。然后使用訓練數據進行模型訓練,模型訓練完成后準備驗證模型。

以預測2018年12個月的產量為例,輸入數據為時間步長為12的序列數據,A部分為2017年1月至2017年12月的實際生產數據,B部分為2018年1月至2018年12月的計劃數據;輸出數據為2018年1月至2018年12月的月產油量數據序列。模型預測結果的相關系數為0.83,平均絕對百分誤差為25%。

2.5.2 參數自動調優(yōu)

隨機初始化神經網絡參數,模型的預測結果不一定理想,而神經網絡模型參數非常多,每個參數又有較寬的取值范圍,因此本文采用手動確定參數范圍,計算機自動尋找最優(yōu)解的方式來訓練模型。首先通過手動嘗試的方法來開發(fā)過擬合的模型,如添加更多的隱層、每層設置更多的神經元節(jié)點,同時監(jiān)控訓練誤差和驗證誤差的變化情況,通過尋找驗證數據集上性能開始下降(過擬合)的位置,確定參數范圍。以網絡層數和時間序列步長為例。如圖 1所示,當網絡層數為 2時,預測值與實際值的相關系數為 0.94,平均絕對百分誤差為2%;當網絡層數繼續(xù)增加時,發(fā)生過擬合,預測結果與實際值偏差較大,所以設置網絡層數范圍為[1, 2]。如圖2所示,當時間序列步長小于13個月時,相關系數大于 0.80,平均絕對百分誤差小于20%,所以確定時間步長參數范圍為[1, 12]。

確定所有參數的范圍后,采用計算機自動調優(yōu)的方法尋找最優(yōu)參數組合。自動調優(yōu)的參數包括網絡層數、時間步長、神經元個數、訓練循環(huán)次數、批量大小。依據確定的參數范圍,結合油田開發(fā)生產經驗,設置每個參數的步長,各參數及其取值如表1所示。

圖1 不同層數神經網絡產量預測值與實際值對比

圖2 不同時間序列步長下的相關系數、平均絕對百分誤差

表1 神經網絡模型參數組合

LSTM的損失函數(loss function)使用均方誤差(Mean Square Error,MSE)。

優(yōu)化器(optimizer)使用“adam”,用來計算神經網絡每個參數的自適應學習率。采用Dropout(按照一定的比例將神經元暫時從網絡中丟棄)方法防止過擬合,Dropout的比例為30%。

這里共有34 848個參數組合,程序采用分布式技術將每組參數生成對應的模型文件和預測結果進行存儲。待所有參數訓練完成后,選用相關系數高且平均絕對百分誤差小的模型為最優(yōu)模型。

3 結果與討論

3.1 實驗結果

利用最優(yōu)模型預測該油田2018年的產量,通過與實際產量對比,相關系數為 0.93,平均絕對百分誤差為1%(見表2)。LSTM最優(yōu)參數組合為:隱藏層層數為2,隱藏層神經元個數分別為55和25,時間步長為9個月,即用過去9個月的信息來預測未來1個月的產量,批量大小為2,即用每2個樣本更新1次網絡參數,訓練循環(huán)次數為60。

通過模型在測試集上的預測結果可知(見圖3),LSTM 模型的預測結果與實際產量的趨勢基本相同,并且數值也較為接近,比傳統(tǒng)水驅曲線和FCNN模型預測得更準確。實驗結果表明LSTM模型能較好地用于油氣產量時間序列的預測。

表2 水驅曲線、FCNN及LSTM預測結果指標對比

圖3 水驅曲線、FCNN和LSTM預測結果

利用LSTM模型預測了另外兩個油田2018年的月產油量(見表 3),顯示了較好的預測結果,驗證了本文方法的通用性。

表3 應用LSTM模型對兩個油田進行產量預測的結果

3.2 討論

本文將機器學習中的LSTM應用于油田特高含水期的產量預測。LSTM 能夠有效建立在時間上具有長期相關性的產量序列的模式,并基于這些模式對產量進行預測。

在模型訓練過程中,模型考慮因素的多少影響預測精度。LSTM 模型既考慮了產量指標與影響因素之間的關系,又考慮了產量指標自身的變化趨勢,預測準確度和相關性都較高;FCNN只考慮了產量指標與影響因素之間的關系,預測結果高于實際值;水驅曲線模型只考慮了產量自身的變化趨勢,預測結果高于實際值。特征工程對模型預測精度也有重要影響。針對同樣的模型結構,進行特征工程操作后的預測結果明顯優(yōu)于未進行特征工程操作的預測結果。根據特征工程分析,歷年投產井在當年的產量、生產天數、新投產井數、措施井次、措施增油量、月注入量等對產量的影響較大。根據預測結果分析,LSTM 針對時間序列數據的特征提取能力較強,可以提取歷年投產井在當年的產量剖面數據,并依靠神經網絡記憶單元中儲存的歷史生產信息,模擬出歷年投產井的產量隨時間變化的趨勢,相當于預測老井產量;利用新投產井數和新井產量的歷史數據,挖掘二者之間的關系,并預測新井產量;利用措施井次和措施增油量歷史數據能夠反映措施工作量帶來的增油量情況。

4 結語

利用LSTM實現了基于數據驅動方法預測油田特高含水期產量,并與傳統(tǒng)水驅曲線方法進行對比,顯示出良好的趨勢和較小的誤差,可以快速預測新井、老井產量變化情況。與數值模擬相比,該方法不需要建立物理模型,可實現快速預測。雖然物理意義缺失,但可以豐富產量預測方法,支撐油田開發(fā)調整工作。

LSTM 具有強大的非線性擬合和時間記憶能力,從訓練數據中提取信息的能力較強。既能考慮產量指標與影響因素之間的關系,又能考慮產量指標自身的變化趨勢。LSTM 是基于歷史數據建立目標和影響因素之間的非線性映射關系。要利用LSTM建立特高含水期產量預測模型,需要獲取一定時間段的特高含水期生產數據。本文所選擇油田具備10年以上特高含水期生產歷史,并選擇了特高含水之前的 4年生產數據參加了模型訓練。針對生產歷史較短的油田,可以考慮遷移學習的方法,利用其他具備較長生產歷史的油田訓練獲得的模型進行預測分析。特征工程操作有助于提高模型精度。特征選擇可以過濾掉非主控因素;標準化操作可以消除量綱的影響。網絡的深度要適應數據的復雜情況,從淺層網絡開始嘗試,通過觀察模型精度變化曲線確定模型參數的取值范圍,再采用分布式技術針對不同模型參數組合并行訓練,有助于提高模型訓練效率。

符號注釋:

ci——第i個特征的得分;F——特征向量維度;M——時間步長,月;N——滯后時間,月;t——時間,月;T——生產時間,月;X——生產指標的特征值;Xmax——生產指標的最大值;Xmin——生產指標的最小值;Xnorm——標準化處理后的值;Xt——t時刻的特征向量;Yt——t時刻的月產油量預測結果,t;Z——組裝的樣本總數;ωi——支持向量機模型中最優(yōu)超平面第i個特征的權重。

猜你喜歡
高含水投產油井
350MW抽水蓄能機組投產發(fā)電
水泵技術(2022年3期)2022-08-26 09:00:04
世界最大抽水蓄能電站正式投產發(fā)電
特高含水油田的“硬穩(wěn)定”之路
中國石化(2021年8期)2021-11-05 07:00:08
高含水水平井控水效果量化評價方法與應用
化工管理(2021年7期)2021-05-13 00:46:44
白鶴灘15號機組投產發(fā)電
水泵技術(2021年4期)2021-01-22 03:31:13
特高含水期相滲關系表征新理論與實踐
新型油井水泥消泡劑的研制
一種油井水泥用抗分散絮凝劑
2 0 1 2年全國投產煉鋼轉爐及煉鐵高爐情況統(tǒng)計
CO2混相驅油井產能預測方法
望奎县| 包头市| 万州区| 新竹县| 和政县| 定西市| 镇安县| 紫金县| 蓝田县| 阿拉善盟| 山丹县| 西畴县| 顺平县| 东丰县| 浙江省| 夏邑县| 邹城市| 普定县| 叶城县| 神池县| 灌南县| 南皮县| 日喀则市| 景洪市| 石渠县| 庐江县| 莫力| 莒南县| 阳原县| 卫辉市| 呈贡县| 哈尔滨市| 潼关县| 安丘市| 砀山县| 当雄县| 霞浦县| 合阳县| 德格县| 儋州市| 宜春市|