1、基于 LSTM 神经网络模型的石油单井产量预测刘嘉豪,刘浩(西安石油大学石油工程学院,陕西西安710065)摘要:在油田开发过程中,预测石油单井日产量往往受多种不确定因素影响,本文基于具有时间记忆优势的 LSTM 神经网络模型,使用生产时间、冲程、冲次、日产液、含水率、泵效、日产气以及井口温度作为输入参数,建立单井日产量预测模型。并通过手动对预测模型参数(最大训练次数与全局学习率)进行调优,使得预测模型具有较高精度,通过实例预测,最终平均绝对误差 0.100、均方差 0.019 以及平均绝对百分误差 1.431%。该模型对于单井日产量具有广泛的通用性,并且具有一定的参考意义。关键词:LSTM
2、神经网络模型;产量预测;参数优化中图分类号:TE331.1文献标识码:A文章编号:1673-5285(2023)03-0038-05DOI:10.3969/j.issn.1673-5285.2023.03.008*收稿日期:202207-22Production prediction of single oil well based on LSTMneural network modelLIU Jiahao,LIU Hao(Petroleum Engineering Institute of Xian Shiyou University,Xian Shaanxi 710065,China)Ab
3、stract:In the process of oilfield development,the prediction of daily oil production of asingle oil well is often affected by various uncertain factors.Based on the LSTM neural network model with the advantage of time memory,production time,stroke,stroke times,dailyfluid production,water cut,pump ef
4、ficiency,daily gas production and wellhead temperatureare used as input parameters to establish a single well daily oil production prediction model.And by manually tuning the parameters of the prediction model(maximum training times andglobal learning rate),the prediction model has high accuracy.Thr
5、ough instance prediction,the final mean absolute error is 0.100,the mean square error is 0.019,and the mean absolute percentage error is 1.431%.The model has a wide range of versatility for single welldaily oil production,and has certain reference significance.Keywords:LSTM neural network model;prod
6、uction forecast;parameter optimization预测石油单井日产量,对于油田开发来说十分重要。石油单井日产量往往受多种不确定因素影响,近年来随着计算机硬件的迭代以及人工智能的发展,包括石油工业在内的越来越多的领域都逐渐引入人工智能石油化工应用PETROCHEMICAL INDUSTRY APPLICATION第 42 卷第 3 期2023 年 3 月Vol.42 No.3Mar.2023到实际生产当中14。人工智能对于油井产量的预测也已发展多年。早在 1994 年吴新根等5就提出一种改进型的 BP 神经网络的方法用于预测油田产量,其改进了 BP 神经网络收敛速度慢以
7、及训练时间长的问题。但随着人们对于 BP 神经网络研究的深入,BP 神经网络算法易陷入局部最小的缺点逐渐暴露出来,此缺点会使得 BP 神经网络算法无法以高精度逼近实际情况6。因此,龚安等7提出了基于遗传算法优化的 BP 神经网络产量预测模型,该模型先由遗传算法通过模拟达尔文的遗传选择与自然淘汰的生物进化过程从而寻找最优解8,遗传算法具有很好的全局搜索能力,就可以很好地提高收敛速度,从而解决了 BP 神经网络易陷入局部最小的缺点。以上方法均基于标准神经网络算法建立,而对于预测石油单井日产量这种具有时间序列特征的任务来说910,该类算法无法体现出数据与时间的依赖关系。因而,采用本文提出的 LSTM
8、 神经网络算法,来解决预测油井产量的问题。1长短期记忆神经网络LSTM 神经网络预测模型在由循环神经网络(RNN)的基础上改进而来11,循环神经网络的网络结构图见图 1,输出表达式如式(1)、(2)所示。图 1循环神经网络(RNN)的网络结构图httanh UxtWht1b1()(1)ytsoft max htb2()(2)式中:ht-t 时刻的隐藏层输出值;U,W-权值;xt-t时刻输入值;ht1-t-1 时刻的隐藏层输出值;b1,b2-偏置项;yt-t 时刻实际输出值。从式(1)可以看出,ht的输出值是由 xt与 ht1计算得来,而 ht1则又是由上一时刻 xt1与 ht2计算得来,换句话
9、说,对于循环神经网络,当前时刻的输出值是由当前时刻的输入值(xt)与上一时刻的隐藏层输出值(ht1)共同决定的,并且该过程是一直循环进行,因此循环神经网络不仅可以利用当前时刻的信息,并且可以运用在此时刻输入过的其他时刻的信息来进行预测。此种算法对于油井产量预测这类对时间相关性较高的预测问题具有很好的针对性。但是循环神经网络存在着受近期记忆影响的缺点,如果时间序列过长,循环神经网络很难将较早输入的信息传递到后面的时间步中,导致梯度被近距离梯度主导。而长短期记忆神经网络通过在循环神经网络的基础上加入遗忘门、输入门和输出门,从而实现了即使是早期输入的信息也可贯穿到最后的输出中。其网络结构图见图 2。
10、图 2LSTM 神经网络的网络结构图遗忘门数学表达式如式(3)所示,遗忘门的作用是挑选出有用的信息。其模值在 0 到 1 之间,0 代表完全遗忘,1 则代表全部记忆。ft Wfhht1Wfxxtbf()(3)式中:ft-t 时刻遗忘门的输出值;Wfh,Wfx-权值;ht1-t-1 时刻的隐藏层输出值;xt-t 时刻输入值;bf-偏置项。输入门的第一步与遗忘门相同,如式(4)所示,将有用的信息保留下来,第二步,如式(5)所示,产生一个新的候选向量 gt。it Wihht1Wixxtbi()(4)gttanh Wghht1Wgxxtbg()(5)式中:it,gt-t 时刻输入门的两个输出值;Wih
11、,Wix,Wgh,Wgx-权值;bi,bg-偏置项。当完成遗忘门与输入门后,则需要更新细胞状态,其数学表达式如式(6)所示,这一步的目的是记住在这一时刻需要记住的信息,完成这两步后的结果则是在这个时刻下的细胞状态。Ctft Ct1it gt(6)式中:Ct-t 时刻的细胞状态;Ct1-t-1 时刻的细胞ht1ytsoftmaxhttanhxtCt1ht1xthtsoftmaxytCt+XtanhftXitgtotXtanh刘嘉豪等基于 LSTM 神经网络模型的石油单井产量预测第 3 期39状态。当更新完细胞状态后,则可以通过输出门得到输出值,输出门的数学表达式如式(7)、(8)所示:其中式(7
12、)的作用是确定细胞状态 Ct中的哪些信息需要输出。最后通过式(8)得到最终的隐藏层输出值 ht。而真正得到的输出值 yt则如式(9)所示。ot Wohht1Woxxtbo()(7)htot tanh(Ct)(8)ytsoft max htby()(9)式中:ot-t 时刻输出门的输出值;Woh,Wox-权值;bo,by-偏置项;ht-t 时刻的隐藏层输出值;yt-t 时刻实际输出值。2数据预处理建立预测模型由于实际生产情况与开采方式的不同,因此各个油田对产量的影响因素各不相同,但都可用 LSTM 神经网络预测模型进行预测。本文选择一年的单井日生产数据预测下一月的单井日产量,并与 BP 神经网络
13、预测模型进行误差比较。2.1数据来源本文选择胜利油田 2019 年 7 月至 2020 年 8 月的某单井历史生产数据,其中选择 2019 年 7 月至 2020年 7 月,共 366 d 的数据用于训练预测模型,2020 年 8月的数据用于与预测数据进行比较,测试预测模型的精度。模型的输出量为单井日产油,候选的输入数据为:每日生产时间、排量、冲程、冲次、日产液、含水率、泵效、日产气以及井口温度。2.2数据选择为了加快预测模型的训练时间,提高运行效率,先手动对候选的输入数据进行筛选,这里采用相关性分析,分析每两个候选输入数据的相关性,并剔除相关性过高的数据,减少输入数据维度。相关系数计算公式如
14、式(10)所示。rnni=1xiyi-ni=1xini=1yinni=1xi2-ni=1xi()2nni=1yi2-ni=1yi()2(10)式中:r-相关系数;xi,yi-两组输入数据;n-输入数据的个数。由表 1 候选变量之间相关性系数中可以看出,排量与冲次之间的相关性系数达到 0.95,相关性极高,因此选择冲次即可代表排量对预测模型的影响。通过此步骤,最终选择生产时间、冲程、冲次、日产液、含水率、泵效、日产气以及井口温度为预测模型的输入变量。2.3数据预处理由于输入数据的量纲和单位都不相同,为了不影响最终预测的效果,在输入数据进入到预测模型前还需要对其进行归一化处理。归一化处理的公式如式
15、(11)所示。xxxminxmaxxmin(11)2.4模型参数对 LSTM 神经网络预测模型进行随机参数设置。最大训练次数(Max Epochs)50 次,全局学习率(InitialLearn Rate)0.1,学习率降低轮次(Learn Rate DropPeriod)100,降低学习率因子(Learn Rate Drop Factor)0.1。通过上述参数对目标单井进行产量预测,最终得到平均绝对百分误差达到 10.79%。在此基础上对模型参数进行手动调优。生产时间排量冲程冲次日产液含水率泵效日产气井口温度生产时间1排量-0.161冲程-0.1301冲次-0.080.95-0.061日产液
16、0.220.380.100.321含水率-0.070.230.360.230.61泵效-0.17-0.530.14-0.560.390.411日产气0.37-0.32-0.30-0.32-0.04-0.660.071井口温度-0.060.02-0.09-0.140.410.190.330.011表 1候选变量之间相关性系数石油化工应用2023 年第 42 卷40最大训练次数决定了模型训练时的迭代次数,训练次数越少,则模型学习不够,导致精度过低,训练次数越多,则模型精度越高,但训练时间过长,将最大训练参数调至 500 进行训练,训练均方根误差分布图见图 3,可以看到当最大训练次数达到 200 左右时,损失函数趋近于平缓。故最大训练次数选择 200。图 3训练均方根误差分布图全局学习率影响损失函数的收敛速度,全局学习率越大,收敛速度越大,容易错过最优解;全局学习率越小,则收敛速度过慢,需要增加最大训练次数。在最大训练次数为 200 次的前提下,分别测试全局学习率为 0.100,0.050,0.010,0.005,0.001 下的预测情况,结果见表 2,从表 2 可以看出,当全局学习率选择为