本发明属于石油生产技术领域,具体涉及一种基于时间序列的抽油井停井时间集成预测方法。
背景技术:
间歇性采油方式是保证抽油井产量稳定和降低系统能耗的有效手段,但抽油井停井时间的控制,只有使抽油井的井下油液面在合理的停井时间内恢复正常,才能使间歇生产的效率最大化。
目前,抽油井的停井时间控制主要包括以下几种方式:(1)人工间抽方法,对所抽出油液进行人工取样分析,判断是否启停井;(2)限时间抽方法,由人工控制,采用固定的停井时间;(3)井下动液面监测方法,定时测量井下动液面,控制停井时间。
以上方式各存在一定缺陷,方式(1)科学性低且具有一定的随机性;方式(2)由于不区分每口井的实际工况,科学性较低;方式(3)由于每次测量都需要停井操作,生产成本较高。
技术实现要素:
本发明的目的是克服现有技术的缺陷,提供一种基于时间序列的抽油井停井时间集成预测方法,能够解决抽油井停井时间的预测问题,可以由已有的过去一段时期的抽油井停井时间数据预测下一个时间点的抽油井停井时间。
为此,本发明提供了一种基于时间序列的抽油井停井时间集成预测方法,包括如下步骤:
1)利用历史抽油井停井时间数据集为{xi,i=1,2,...,n},n为数据点的个数;
2)将抽油井停井时间数据集{xi}进行相空间重构,得到时间序列模型,输入表示为:xt=[xt,xt+τ,…,xt+(m-1)τ],其中,t=1,2,...,m,m为嵌入维数,τ为延迟时间,m=n-(m-1)τ,n为数据集中数据的个数;将每个时间序列的输出表示为:yt=xt+1+(m-1)τ;
3)采用集成预测方法,即分别由基于极限学习机(extremelearningmachine,elm)的方法即elm方法、基于回声状态网络(echostatenetwork,esn)的方法即esn方法和基于最小二乘支持向量机(leastsquaressupportvectormachine,lssvm)的方法即lssvm方法,以并行的方式同时对抽油井停井时间的时间序列模型进行预测;
4)对于抽油井停井时间的时间序列,由三种方法所得到的预测值求平均值,得到最终结果;计算公式如下:
其中,
进一步地,根据elm方法建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt;elm方法的基本原理如下:
设有w个训练样本
其中,βlq为第l个隐含层神经元与第q个输出神经元之间的连接权值;ωl为隐含层神经元与输入神经元之间的连接权值;bl为第l个隐含层神经元的偏置;
如果训练模型能以零误差逼近w个训练样本,即有
那么elm模型的数学描述可以改写成如下矩阵形式:
hβ=v(3)
式(3)中,有:
h为隐含层输出矩阵,ω和b在初始化时已随机给定;那么,elm模型的训练可以转化成一个求解非线性方程最小值的问题,即:
输出权值矩阵β*可以由下式求出,
β*=h+v(6)
其中,h+为隐含层输出矩阵h的moore-penrose广义逆;
那么,elm的训练过程可以归纳为如下最优化问题:
其中,g(·)表示由ω和b所决定的函数,g(ω,b)表示当ω和b分别取不同值时的函数输出值;
对于激活函数f(·)的选择,采用高斯函数,定义如下:
其中,z表示输入向量,σ2为高斯函数的宽度参数。
进一步地,所述基于elm方法建立时间序列模型的计算步骤如下:
初始化,随机生成隐含层输入权值ω,隐含层神经元的偏置b,高斯函数的宽度参数σ2;
根据公式(4)计算隐含层输出矩阵h;
根据公式(6)计算输出权值矩阵β*;
根据公式(7)计算函数输出值。
进一步地,由elm方法建立时间序列模型的过程中,m、τ、ω、b和σ2的取值决定了elm模型的计算精度,采用一种改进的果蝇优化算法(ifoa,improvedfruitoptimizationalgorithm)对m、τ、ω、b和σ2的取值进行优化选取;果蝇优化算法的数学描述如下:
(1)设定果蝇群体的位置区间[plow,pup],在位置区间内随机给定每个果蝇的初始位置axis_xi和axis_yi如下:
axis_xi=plow+rand1·(pup-plow)(9)
axis_yi=plow+rand2·(pup-plow)(10)
其中,i=1,2,...,sizepop,sizepop为果蝇群体中果蝇的个数;rand1和rand2分别为[0,1]区间内的随机数;
(2)果蝇个体利用嗅觉搜寻食物,每个个体的位置更新公式如下:
其中,axis_xi和axisyi表示第i个果蝇个体移动后的位置坐标;bestaxis_x和bestaxis_y表示当前最优个体的位置坐标;ite和itemax分别表示当前迭代次数和最大迭代次数;rand3和rand4分别为[-1,1]区间内的随机数;rand5为[0,1]区间内的随机数;
(3)计算果蝇个体与原点的距离,如下:
(4)计算味道浓度判定值,如下:
(5)由果蝇个体的味道浓度判定值计算每个果蝇个体的味道浓度值,如下:
smellt=fitness(st)(15)
其中,fitness为适应度函数,用以评价待优化参数的取值;
(6)找到果蝇群体中的最优个体,如下:
[bestsmellbestindex]=min/max(smell)(16)
其中,bestsmell表示最优的味道浓度值,bestindex表示最优味道浓度值对应的果蝇个体的序号;min/max表示最小或最大。
进一步地,所述果蝇优化算法的计算步骤如下:
步骤(1)、产生初始的与待优化参数数量相同的果蝇群体,根据待优化参数的取值范围设定每个果蝇群体的位置区间[plow,pup],根据公式(9)和(10)得到每个果蝇群体中每个果蝇的初始位置;
步骤(2)、根据公式(13)和(14)分别计算每个果蝇群体中每个果蝇个体的味道浓度判定值;
步骤(3)、根据公式(15)分别计算每个果蝇群体中每个果蝇个体的味道浓度值;
步骤(4)、根据公式(16)找到每个果蝇群体中的最优果蝇个体,并记录它们的位置[bestaxis_x,bestaxis_y],定义变量pop_local记录每一次迭代中每个果蝇群体中的最优果蝇个体的位置,定义变量pop_global记录所有次迭代中每个果蝇群体中的最优果蝇个体的位置;
步骤(5)、根据公式(11)和(12)更新每个果蝇群体中每个果蝇的位置,重复步骤(2)到步骤(4);
步骤(6)、如果达到最大迭代次数,停止迭代,分别输出pop_local和pop_global中的果蝇个体的位置,并输出其味道浓度判定值;否则返回步骤(5)重新迭代。
进一步地,对于建立的抽油井停井时间的时间序列模型,在采用elm方法建立模型的同时,由果蝇优化算法对elm计算过程中所涉及的m、τ、ω、b和σ2进行优化选取,计算步骤如下:
步骤3.1.1初始化,产生初始5个果蝇群体,分别指派给m、τ、ω、b和σ2,设定m、τ、ω、b和σ2的取值范围;
步骤3.1.2将抽油井停井时间数据集中的数据归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.1.3对于待建立模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、ω、b和σ2;
步骤3.1.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和elm模型,由输入xt的值计算输出yt的值并进行反归一化处理。
进一步地,根据回声状态网络(esn)方法建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt,esn方法的基本原理如下:
esn模型可以表示为:
其中,u(t)、x(t)和y(t)分别为输入单元、内部状态单元和输出单元在时刻t的值;mesn、nesn和kesn分别为输入单元、内部状态单元和输出单元的数量;
esn模型的学习方式可以由如下公式进行描述:
其中,xesn(t+1)和yesn(t+1)分别为内部状态单元和输出单元在时刻t+1的值;f(·)和fout(·)分别为内部单元和输出单元的激活函数:
其中,yesn(t)为模型期望输出,yesn(t)为模型实际输出;wout为权值,是
esn模型的求解可以转化为如下的优化求解问题:
其中,pesn和mesn分别表示时间点;
可以归结为如下矩阵求逆问题:
其中,besn为
进一步地,由esn方法建立时间序列模型的过程中,esn模型中有6个参数决定了模型的计算精度,分别为:m、τ、连接权值矩阵wesn的绝对值最大的特征值sresn、nesn、输入与内部单元相互连接的尺度因子isesn和内部单元中相互连接的单元数与总单元数的比值sdesn;采用果蝇优化算法对m、τ、sresn、nesn、isesn和sdesn的取值进行优化选取;对于建立的抽油井停井时间的时间序列模型,在采用esn方法建立模型的同时,由果蝇优化算法对esn计算过程中所涉及的m、τ、sresn、nesn、isesn和sdesn进行优化选取,计算步骤如下:
步骤3.2.1初始化,产生初始6个果蝇群体,分别指派给m、τ、sresn、nesn、isesn和sdesn,设定m、τ、sresn、nesn、isesn和sdesn的取值范围;
步骤3.2.2将抽油井停井时间数据集中的数据归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.2.3对于待建立模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、sresn、nesn、isesn和sdesn;
步骤3.2.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和esn模型,由输入xt的值计算输出yt的值并进行反归一化处理。
进一步地,根据最小二乘支持向量机(lssvm)方法建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt;lssvm方法的基本原理如下:
给定数据集{(xi,yi)},其中:i=1,2,...,llssvm,llssvm为数据集中样本的数量,x和y分别表示输入向量和输出向量。lssvm方法采用如下函数进行计算:
其中,φ(·)为非线性映射函数,ωlssvm为高维空间的向量,blssvm为实数;
根据结构风险最小化原则,构造如下优化问题:
其中,j(·)为优化函数,γ为折衷因子,elssvm为松弛因子;
建立拉格朗日等式,将公式(23)所描述的约束优化问题转化为无约束优化问题,如下:
其中,ψ(·)为拉格朗日函数,αlssvm为拉格朗日因子;。
进行如下所示计算:
定义核函数ω(·)如下:
ω(xi,xj)=φt(xi)·φ(xj)(26)
由公式(25)和(26)可以得到:
由最小二乘法求解公式(27),得到如下结果:
对于核函数ω(·),本发明专利采用高斯函数,定义如下:
其中,zlssvm表示输入向量,
进一步地,由lssvm方法建立时间序列模型的过程中,lssvm模型中有4个参数决定了模型的计算精度,分别为:m、τ、γ和
步骤3.3.1初始化,产生初始4个果蝇群体,分别指派给m、τ、γ和
步骤3.3.2将抽油井停井时间数据集中的数据归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.3.3对于待建立模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、γ和
步骤3.3.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和lssvm模型,由输入xt的值计算输出yt的值并进行反归一化处理。
进一步地,所采用的集成预测方法,其中所涉及的三种方法为并行计算方式,当预测开始时,三种方法同时启动运行。
进一步地,隐含层数量l的取值一般为30-60个。
进一步地,果蝇优化算法中的最大迭代次数一般取300次。
进一步地,果蝇优化算法中的果蝇群体中果蝇的个数一般取20-30个;所述m、τ、ω、b、σ2、sresn、nesn、isesn、sdesn、γ和
本发明的有益效果:本发明所提出的一种基于时间序列的抽油井停井时间集成预测方法,通过过去一段时间生产工况的变化规律预测未来时间点的值,从数据本身的特性找到其变化趋势,可以降低油藏条件变化、人力干扰等对抽油井生产过程的影响,对油田企业进行高效、稳定的生产具有一定的实际意义;原理简单,计算复杂性低,准确度高;采用三种方法进行预测,将预测值取平均值,可以有效提高预测的稳定性;采用群智能优化方法合理选取模型参数,可以有效降低模型参数不确定性对预测结果的影响。
附图说明
图1是本实施例所提供抽油井停井时间数据集示意图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
实施例:
抽油井是国内外油田生产中的主要生产方式,井下油液被提出井口后,如果地层压力不够,井下液面无法及时恢复平衡,井下供液不足使得井口不能连续正常出液,造成采油设备部分时间内在无功状态下运行,会加剧抽油杆、抽油泵、井筒等设备的磨损,产生能耗高、效率低的问题。间歇性采油方式是保证抽油井产量稳定和降低系统能耗的有效手段,关键问题是对停井时间的准确控制。对停井时间进行准确预测,对合理评价油井生产状况、及时调整抽汲参数和开采方案等都具有重要的意义。
本实施例提供一种基于时间序列的抽油井停井时间集成预测方法,包括如下步骤:
1)利用历史抽油井停井时间数据集为{xi,i=1,2,...,182},单位为小时,数据集{xi}如图1所示;
2)将抽油井停井时间数据集进行相空间重构,得到抽油井停井时间的时间序列模型,输入表示为:xt=[xt,xt+τ,…,xt+(m-1)τ],其中,t=1,2,...,m,m为嵌入维数,τ为延迟时间,m=182-(m-1)τ;输出表示为:yt=xt+1+(m-1)τ;
3)采用集成预测方法,即分别由基于极限学习机(extremelearningmachine,elm)的方法即elm方法、基于回声状态网络(echostatenetwork,esn)的方法即esn方法和基于最小二乘支持向量机(leastsquaressupportvectormachine,lssvm)的方法即lssvm方法以并行的方式同时对抽油井停井时间的时间序列模型进行预测;
在本实施例中,根据极限学习机(elm)方法建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt。elm方法的基本原理如下:
设有w个训练样本
其中,βlq为第l个隐含层神经元与第q个输出神经元之间的连接权值;ωl为隐含层神经元与输入神经元之间的连接权值;bl为第l个隐含层神经元的偏置。
如果训练模型能以零误差逼近w个训练样本,即有
那么elm模型的数学描述可以改写成如下矩阵形式:
hβ=v(3)
式(3)中,有:
h为隐含层输出矩阵,ω和b在初始化时已随机给定。那么,elm模型的训练可以转化成一个求解非线性方程最小值的问题,即:
输出权值矩阵β*可以由下式求出,
β*=h+v(6)
其中,h+为隐含层输出矩阵h的moore-penrose广义逆。
那么,elm的训练过程可以归纳为如下最优化问题:
其中,g(·)表示由ω和b所决定的函数,g(ω,b)表示当ω和b分别取不同值时的函数输出值。elm训练的目的就是找到最优的β*,使模型的训练输出值gq和真实值vq之间的误差最小。
对于激活函数f(·)的选择,本发明专利采用高斯函数,定义如下:
其中,z表示输入向量,σ2为高斯函数的宽度参数。
elm的计算步骤如下:
初始化,随机生成隐含层输入权值ω,隐含层神经元的偏置b,高斯函数的宽度参数σ2;
根据公式(4)计算隐含层输出矩阵h;
根据公式(6)计算输出权值矩阵β*;
根据公式(7)计算函数输出值;
在本实施例中,由elm方法建立时间序列模型的过程中,m、τ、ω、b和σ2的取值决定了elm模型的计算精度,本实施例采用一种改进的果蝇优化算法(ifoa,improvedfruitoptimizationalgorithm)对m、τ、ω、b和σ2的取值进行优化选取。ifoa算法的数学描述如下:
(1)设定果蝇群体的位置区间[plow,pup],在位置区间内随机给定每个果蝇的初始位置axis_xi和axis_yi如下:
axis_xi=plow+rand1·(pup-plow)(9)
axis_yi=plow+rand2·(pup-plow)(10)
其中,设定果蝇群体中果蝇的个数为30,有:i=1,2,...,30;rand1和rand2分别为[0,1]区间内的随机数。
(2)果蝇个体利用嗅觉搜寻食物,每个个体的位置更新公式如下:
其中,axis_xi和axis_yi表示第i个果蝇个体移动后的位置坐标;bestaxis_x和bestaxis_y表示当前最优个体的位置坐标;ite和itemax分别表示当前迭代次数和最大迭代次数,itemax=300;rand3和rand4分别为[-1,1]区间内的随机数;rand5为[0,1]区间内的随机数。
(3)计算果蝇个体与原点的距离,如下:
(4)计算味道浓度判定值,如下:
(5)由不同果蝇群体中果蝇个体的味道浓度判定值计算每个果蝇个体的味道浓度值(适应度函数值),如下:
其中,
(6)找到果蝇群体中的最优个体,如下:
[bestsmellbestindex]=min(smell)(16)
其中,bestsmell表示最优的味道浓度值,bestindex表示最优味道浓度值对应的果蝇个体的序号。
ifoa的计算步骤如下:
步骤(1)产生初始的与待优化参数数量相同的果蝇群体,根据待优化参数的取值范围设定每个果蝇群体的位置区间[plow,pup],根据公式(9)和(10)得到每个果蝇群体中每个果蝇的初始位置;
步骤(2)根据公式(13)和(14)分别计算每个果蝇群体中每个果蝇个体的味道浓度判定值;
步骤(3)根据公式(15)分别计算每个果蝇群体中每个果蝇个体的味道浓度值;
步骤(4)根据公式(16)找到每个果蝇群体中的最优果蝇个体,并记录它们的位置[bestaxis_x,bestaxis_y],定义变量pop_local记录每一次迭代中每个果蝇群体中的最优果蝇个体的位置,定义变量pop_global记录所有次迭代中每个果蝇群体中的最优果蝇个体的位置;
步骤(5)根据公式(11)和(12)更新每个果蝇群体中每个果蝇的位置,重复步骤(2)到步骤(4);
步骤(6)如果达到最大迭代次数,停止迭代,分别输出pop_local和pop_global中的果蝇个体的位置,并输出其味道浓度判定值;否则返回步骤(6)重新迭代。
本实施例中,对于抽油井停井时间的时间序列模型,在采用elm方法建立模型的同时,由本实施例ifoa方法对elm计算过程中所涉及的m、τ、ω、b和σ2进行优化选取,计算步骤如下:
步骤3.1.1初始化,产生初始5个果蝇群体,分别指派给m、τ、ω、b和σ2,设定m、τ、ω、b和σ2的取值范围,m∈[1,30],τ∈[1,10],ω∈[0,1],b∈[0,10],σ2∈[0.01,1000];
步骤3.1.2将抽油井停井时间数据集中的数据分别归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.1.3对于待建立模型,在训练过程的每一次迭代中将5个果蝇群体的味道浓度判定值分别代入相空间重构后的时间序列模型和elm模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、ω、b和σ2;
步骤3.1.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和elm模型,由输入xt的值计算输出yt的值并进行反归一化处理。
在本实施例中,根据回声状态网络(esn)方法分别建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt。esn方法的基本原理如下:
esn模型可以表示为:
其中,u(t)、x(t)和y(t)分别为输入单元、内部状态单元和输出单元在时刻t的值;mesn、nesn和kesn分别为输入单元、内部状态单元和输出单元的数量。
esn模型的学习方式可以由如下公式进行描述:
其中,xesn(t+1)和yesn(t+1)分别为内部状态单元和输出单元在时刻t+1的值;f(·)和fout(·)分别为内部单元和输出单元的激活函数;
其中,yesn(t)为模型期望输出,yesn(t)为模型实际输出;wout为权值,是
esn模型的求解可以转化为如下的优化求解问题:
其中,pesn和mesn分别表示时间点。
可以归结为如下矩阵求逆问题:
其中,besn为
在本实施例中,由esn方法建立时间序列模型的过程中,esn模型中有6个参数决定了模型的计算精度,分别为:m、τ、连接权值矩阵wesn的绝对值最大的特征值sresn、nesn、输入与内部单元相互连接的尺度因子isesn和内部单元中相互连接的单元数与总单元数的比值sdesn。本发明专利采用发明内容3.1.2中的ifoa方法对m、τ、sresn、nesn、isesn和sdesn的取值进行优化选取。对于建立的抽油井停井时间的时间序列模型,在采用发明内容3.2.1中的esn方法建立模型的同时,由发明内容3.1.2中的ifoa方法对esn计算过程中所涉及的m、τ、sresn、nesn、isesn和sdesn进行优化选取,计算步骤如下:
步骤3.2.1初始化,产生初始6个果蝇群体,分别指派给m、τ、sresn、nesn、isesn和sdesn,设定m、τ、sresn、nesn、isesn和sdesn的取值范围,m∈[1,30],τ∈[1,10],sresn∈[0.1,1),nesn∈[10,150),isesn∈[0.01,1),sdesn∈[0.01,1);
步骤3.2.2将抽油井停井时间数据集中的数据分别归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.2.3对于待建立模型,在训练过程的每一次迭代中将6个果蝇群体的味道浓度判定值分别代入相空间重构后的时间序列模型和esn模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、sresn、nesn、isesn和sdesn;
步骤3.2.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和esn模型,由输入xt的值计算输出yt的值并进行反归一化处理。
在本实施例中,根据最小二乘支持向量机(lssvm)方法建立抽油井停井时间数据集的时间序列模型;模型的输入和输出分别为xt和yt。lssvm方法的基本原理如下:
给定数据集{(xi,yi)},其中:i=1,2,...,llssvm,llssvm为数据集中样本的数量,x和y分别表示输入向量和输出向量。lssvm方法采用如下函数进行计算:
其中,φ(·)为非线性映射函数,ωlssvm为高维空间的向量,blssvm为实数。
根据结构风险最小化原则,构造如下优化问题:
其中,j(·)为优化函数,γ为折衷因子,elssvm为松弛因子。
建立拉格朗日等式,将公式(23)所描述的约束优化问题转化为无约束优化问题,如下:
其中,ψ(·)为拉格朗日函数,αlssvm为拉格朗日因子。
进行如下所示计算:
定义核函数ω(·)如下:
ω(xi,xj)=φt(xi)·φ(xj)(26)
由公式(25)和(26)可以得到:
由最小二乘法求解公式(27),得到如下结果:
对于核函数ω(·),本发明专利采用高斯函数,定义如下:
其中,zlssvm表示输入向量,
在本实施例中,由lssvm方法建立时间序列模型的过程中,lssvm模型中有4个参数决定了模型的计算精度,分别为:m、τ、γ和
步骤3.3.1初始化,产生初始4个果蝇群体,分别指派给m、τ、γ和
步骤3.3.2将抽油井停井时间数据集中的数据归一化到[0,1]区间内,确定待建立模型的输入和输出分别为xt和yt;
步骤3.3.3对于待建立模型,由果蝇优化算法得到最优的味道浓度判定值,分别对应m、τ、γ和
步骤3.3.4对于待建立模型,将得到的最优参数值分别代入相空间重构后的时间序列模型和lssvm模型,由输入xt的值计算输出yt的值并进行反归一化处理。
4)对于抽油井停井时间的时间序列,由elm方法得到的预测结果为:128.5;由esn方法得到的预测结果为:143.8;由lssvm方法得到的预测结果为:130.2。
由公式(30)计算得到最终预测结果为:134.2。
以上例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本发明相同或相似的设计均属于本发明的保护范围之内。