欢迎光临小豌豆知识网!
当前位置:首页 > 建筑技术 > 土层钻进> 一种基于人工智能的石油产量预测方法和装置独创技术24032字

一种基于人工智能的石油产量预测方法和装置

2021-02-04 04:00:01

一种基于人工智能的石油产量预测方法和装置

  技术领域

  本发明涉及石油产量预测技术领域,更具体地,涉及一种基于人工智能的石油产量预测方法和装置。

  背景技术

  石油在日常的工业生产活动当中是非常重要的原料,石油产量的多少对指导企业生产及企业计划的经营活动都有重要的意义,同时对于石油产量的精准预测可以使石油企业制定合理的生产任务、避免了盲目决策。石油开采时的产量变化是一个动态过程,石油生产部门需要预测油井未来一段时间测产量,以便有针对性调整油井生产方案,从而实现油井的稳定生产。目前对于产量这一类的单因子时间序列变量问题的预测主要方法有回归法、灰色系统预测、模糊系统预测等等,对于时间序列预测,如果满足线性关系,可以用传统的建模及预测方法,例如自回归(CAR),滑动均值(MA)和混合自回归滑动均值(ARIMA),即假设一组时间序列的未来值线性相关于其历史值,如果不满足线性关系则可以使用BP神经网络来进行预测。但是这些预测精度相对不够精确。近年来,也存在其他的预测方法能够在一定程度上反映数据的内在结构,在解决非线性、非正态的时间序列的问题上起着一定的作用,但是在实现代码时存在困难。此外,现有的单井产量预测都没有考虑异常事件对于产量预测的影响,尤其是在油井发生异常事件之后的一段时间内预测差距较大。在对单井预测产量的时候如果时间序列的产量比较平稳则相对较好预测产量,但是当遇见异常事件的时候则会出现预测值和实际值相差较大的情况。

  目前在实际油田产量预测阶段通常都是对整个油田进行预测,或者对于单井产量进行预测,例如采用基于SSA和RBF、BP神经网络、ARIMA、A RIMA-Kalman滤波器等算法对单井产量进行预测。由于单井原油产量时间序列的非周期性和非线性,需要利用黑箱模型对其进行建模与预测,结合奇异谱分析和径向基函数神经网络对单井原油产量时间序列进行多步预测,奇异谱分析方法可以有效地减少多步预测过程中的误差传递,从而提高多步预测的可靠性。BP神经网络并不能较好的预测在细节上产量,仅能预测其整体的趋势。ARIMA(自回归移动平均模型)模型十分简单,只需要内生变量而不需要借助其他外生变量(所谓内生变量指的应该是仅依赖于该数据本身,而不像回归需要其他变量)。

  在现有技术中,采用时间序列来预测未来一段时间产量存在以下问题:

  1)、当前各种模型都存在一定的预测精度不高的问题,例如BP神经网络可以预测整个产量的趋势,但是对于更多的是区域一个平均值得预测;ARIMA采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的,本质上只能捕捉线性关系,而不能捕捉非线性关系,当数据波动较大的时候准确率较低。

  2)、当前的各种模型均考虑理想状况下的预测,并没有考虑在异常事件之后的预测,尤其是在异常状况之后,实际值会和原来预测值的趋势不一致,导致预测值大幅偏向大幅偏离真实值。

  3)、对于异常事件的后一段时间的计算过于模糊,并未根据实际异常情况来预测,而是将整体输入模型而并不考虑异常事件对整个预测的影响。

  发明内容

  本发明的目的是克服上述现有技术的缺陷,提供一种基于人工智能的石油产量预测方法和装置,通过考虑异常事件对预测的影响,来提高预测石油产量相关信息的准确性。

  本发明提供一种基于人工智能的石油产量预测方法。该方法包括以下步骤:

  将多个历史时间点的石油产量相关信息输入至经训练的时间序列预测模型,依次输出下一个时间点的石油产量相关信息,进而获得时间序列预测值;

  对于所述时间序列预测值,判断异常事件和对应的时间点,并以降低异常波动带来的损失为目标,通过滑动平均模型计算所述异常事件时间点后续的石油产量相关信息的预测值;

  以计算出的石油产量相关信息的预测值替换所述时间序列模型输出的对应时间点的预测值,获得石油产量预测结果。

  在一个实施例中,判断异常事件和对应的时间点包括:

  获取多相流量计测得的文丘里数据;

  利用所述文丘里数据获取异常时间点的石油产量相关数据变化的比例;

  如果当前t时刻产量和t-1时刻产量变化幅度超过设定阈值,并且所述文丘里数据发生变化的情况下,判定为发生异常事件并确定对应的时间点。

  在一个实施例中,根据以下步骤计算所述异常事件时间点后续的石油产量相关信息的预测值:

  令K=XL+1/XL,XL+1为异常事件时间点之后的石油产量相关信息,XL为异常事件时间点之前的石油产量相关信息;

  使用滑动平均模型计算XL+1之后的石油产量相关信息的预测值,表示为

  在一个实施例中,所述时间序列预测模型是长短时记忆网络,训练过程包括:按照前向计算方法计算长短时记忆网络的细胞的输出值;反向计算每个长短时记忆网络的细胞的误差项;根据相应的误差项,计算每个权重的梯度;应用基于梯度的优化算法更新权重。

  在一个实施例中,所述时间序列预测模型是长短时记忆网络,预测过程包括:

  将多相流量计测得的气相产量、液相产量、含水率和单井油产量数据输入第一个LSTM神经网络单元,输出为当前细胞状态C和隐藏状态H,并获得预测值

  将预测值和之前多个时间点的相应值输入到LSTM的细胞并结合上一次的细胞状态C和隐藏状态H,获得预测值进而得到所述时间序列预测值。

  在一个实施例中,训练所述时间序列预测模型过程中,样本数据包括:流体运行压力、文丘里前差压、文丘里后差压、温度、含水率、质量瞬时流量、体积瞬时流量、质量瞬时流量,以及每一分钟的累计气相产量、液相产量、含水率以及单井产量。

  在一个实施例中,所述石油产量相关信息包括气相产量、液相产量、含水率和石油产量中的一项或多项。

  与现有技术相比,本发明的优点在于,根据多相流量计测量的产量数据,并应用文丘里原始差压测量数据的特点判断异常事件,并且结合时间序列的产量训练时间序列预测模型来预测整体的石油产量趋势,当遇到异常点时使用滑动平均来预测未来一段时间的产量值,以期获得更高的准确值。

  通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

  附图说明

  被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

  图1是根据本发明一个实施例的基于人工智能的石油产量预测方法的流程图;

  图2是根据本发明一个实施例的长短时记忆网络的训练和预测过程的示意图;

  图3是根据本发明一个实施例的基于人工智能的石油产量预测方法的整体过程示意;

  图4是现有技术中使用单独的长短时记忆网络预测的石油产量结果;

  图5是根据本发明一个实施例的结合长短时记忆网络和滑动平均进行预测的结果示意。

  具体实施方式

  现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

  以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

  对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

  在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

  应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

  本发明提供一种基于人工智能的石油产量预测方法,使用训练的时间序列模型来预测石油产量相关信息,包括但不限于气相产量、液相产量、含水率和单井产量等。在下文描述中,将以长短时记忆网络(LSTM)为例描述预测过程。

  本发明提供的基于人工智能的石油产量预测方法需首先训练时间序列预测模型,参见图1所示,模型预测过程包括以下步骤:

  步骤S110,构建模型样本。

  具体地,模型构建样本过程的数据来源是三相流量计设备测量获取的流体运行压力、文丘里前差压、文丘里后差压、温度、含水率、质量瞬时流量(油)、体积瞬时流量(气)、质量瞬时流量(水),以及每一分钟的累计气相产量、液相产量、含水率以及单井产量。

  进一步地,可将结果数据处理成每一小时的平均数据或者每一天的平均数据。

  步骤S120,对数据作平滑处理。

  在构建模型样本时,在获得所有的数据之后需要做一定的平滑处理,以消除非必要的异常点,从而避免出现数据因采集或者计算而导致预测误差。

  步骤S130,训练时间序列模型,获得石油产量相关信息的预测值,并使用滑动平均取代异常事件之后的预测值。

  整体模型构建采用的是当前时间点及其当前时间点之前的N-1个单井产量值,对接下来下一时刻的预测。然后再将预测出来的气相产量、液相产量、含水率和单井产量和前面一段时间气相产量、液相产量、含水率和单井产量作为共同输入来预测下一个时间点的气相产量、液相产量、含水率和单井产量。

  例如以长短期记忆网络为例,输入为N个时间点气相产量、液相产量、含水率和石油产量,输出为下一个时间点的时间点气相产量、液相产量、含水率和石油产量。然后使用MA(滑动平均)取代异常事件之后的预测值。

  参见图2所示,LSTM模型包括输入门、隐藏层和输出门,其中隐藏层包括多个LSTM单元内部(标记为LSTM1、LSTM2等),包含输入门i,遗忘门f,输出门o,C为整个记忆细胞的状态,x为输入向量,h为隐藏层的输出向量。在整个细胞当中输入门、输出门、遗忘门的计算公式表示为:

  

  

  

  ct=ft*ct-1+it*tanh(Wxcxt+Whcht-1+bc) (4)

  ht=ot*tanh(ct) (5)

  

  其中,对于t时刻:it是输入门输出,Wxi,Ehi,bi分别对应输入门权重,隐状态权重和偏置;ft是遗忘门输出,Wxf,Whf,bf分别对应遗忘门权重,隐状态权重和偏置;ot是输出门输出,Wxo,Who,bo分别对应输出门权重,隐状态权重和偏置;ct是LSTM细胞状态,ht是LSTM隐状态,WcbC是细胞状态的权重的偏置。

  LSTM模型训练过程可采用与经典的反向传播算法原理类似的BPTT算法,整体可以分为四个步骤,分别是:按照前向计算方法计算LSTM细胞的输出值;反向计算每个LSTM细胞的误差项,包括按时间和网络层级两个反向传播方向;根据相应的误差项,计算每个权重的梯度;应用基于梯度的优化算法更新权重。基于梯度的优化算法有多种类型,例如随机梯度下降(SGD),AdaGrad,RMSProp等。本发明优选采用适应性动量估计算法(Adam)。Adam算法是一种有效的基于梯度的随机优化方法,该算法融合了AdaGrad和RMSProp算法的优势,能够对不同参数计算适应性学习率并且占用较少的存储资源。相比于其他的随机优化方法,Adam方法在实际应用中的整体表现更优。

  需说明的是,也可利用其它的时间序列预测模型,例如GRU等进行石油产量相关信息的预测。

  为进一步理解本发明,结合图3所示,以下具体介绍本发明的基于人工智能的石油产量预测方法的总体过程,包括以下步骤:

  步骤S210,将多相流量计测得的文丘里数据气相产量、液相产量、含水率和单井油产量数据进行处理,再将所有的结果数据分别进行标准处理,并将数据改变成模型需要的格式,例如,输入格式为:

  (XN-6,XN-5,XN-4,XN-3,XN-2,XN-1,XN),输出为XN+1。

  步骤S220,将经格式化数据输入LSTM模型,经过第一个LSTM神经网络单元之后,输出为当前细胞状态C和隐藏状态H,并且得到预测的

  步骤S230,再将输入到细胞里并结合上一次的C和H,输出为以此类推直到输出其中是预测值。

  步骤S240,利用预测值和原始值进行比较,并根据损失函数训练整个LSTM模型。

  步骤S250,利用经训练的LSTM模型预测石油产量相关信息,获得不同时刻的气相产量、液相产量、含水率和单井油产量等的时间序列预测值。

  步骤S260,针对获得时间序列预测值,确定异常事件和异常时间点。

  例如,根据多相流流量计测得到的差压、温度、压力信号的异常变化,主要为当上速测量信号偏离平均值较大,并且产量瞬时数据超出平均产量数据平均范围的20%时,确定为产量异常波动点,寻找到对应的发生异常事件的时间点。即判断异常事件是根据当前t时刻产量和t-1时刻产量变化幅度超过20%,并且在原始的文丘里数据里面数据发生了变化可以认为是发生了异常。

  为了计算简单,发生异常事件则针对于当前的数据判断异常事件的种类以及该事件相对于正常情况下的产量变化比例K,即K值表示发生异常事件后t时刻产量和t-1时刻的产量比值。

  步骤S270,利用滑动平均法(MA)计算出在异常点之后的气相产量、液相产量、含水率和产量预测值,并且利用计算出的预测值取代LSTM当中预测值。

  例如,如果在XL对应时刻发生异常事件,仍使用原来的LSTM预测值将不准确。因此使用MA预测出来的值来取代LSTM在异常时间点之后的预测值。

  具体地,令K=XL+1/XL(也可以选择从多相流量计测得八列数据里面学习得到,XL+1为异常时间点之后的气相产量、液相产量、含水率和单井产量,XL为异常时间点之前的气相产量、液相产量、含水率和单井产量),然后再使用MA计算XL+1之后的预测值,如表示为按照此计算公式可以得到XL+3、XL+4、XL+5…,,将利用MA计算出来的XL+2及其之后的值取代原来的LSTM预测出来的产量值,最终得到需要的气相产量、液相产量、含水率和单井产量预测值。

  至此完成了整个模型预测的过程,其中气相产量、液相产量、含水率和产量预测是基于多相流量计测得文丘里差压、温度、压力数据来判断异常时间点,再结合每一分钟的气相产量、液相产量、含水率和产量结果数据,经过数据处理之后,将整个数据输入模型进行训练,得到基础的LSTM预测模型,再使用MA算法将异常点后面气相产量、液相产量、含水率和产量计算出来并且乘以比例系数K,并取代对应时间点的LSTM预测气相产量、液相产量、含水率和单井产量。

  为进一步验证本发明的技术效果,进行了对比试验,以产量(productions)预测为例,其中,图4是现有技术中使用单一LSTM进行预测的结果,图5是使用本发明的LSTM+MA组合的预测结果。可以看出,相对于现有技术,本发明的预测结果(predict)和真实值(True)的拟合效果更好。

  综上所述,本发明基于多相流量计测量的文丘里数据结合使用LSTM等时间序列模型可以对气相产量、液相产量、含水率和石油产量长期预测,并且预测准确率高,在预测过程只需要相对应的产量结果数据而不需要结合其他数据。此外,本发明利用原始文丘里数据和气相产量、液相产量、含水率和产量结果数据获取异常时间点各气相产量、液相产量、含水率和产量变化的比例,进而使用滑动平均模型预测异常事件之后的气相产量、液相产量、含水率和单井产量,并乘以异常事件之后的比例K,取代对应时间点LSTM预测的气相产量、液相产量、含水率和单井产量,从而使预测结果更准确。

  本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

  计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

  这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

  用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

  这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

  这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

  也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

  附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

  以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

《一种基于人工智能的石油产量预测方法和装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)