一种页岩气调产井生产压力动态预测方法
技术领域
本发明涉及页岩气开发技术领域,特别是涉及一种页岩气调产井生产压力动态预测方法。
背景技术
在采气过程中,生产压力可以反映气井生产状态是否异常,然而页岩气井储量巨大,生产过程复杂,呈现出非线性、强耦合、时序性等特点,导致生产压力难以预测。生产过程中采集的大量数据蕴含信息丰富,若能根据历史生产数据对气井的生产压力进行预测,可对后期开发和生产指导两个方面产生促进作用。传统页岩气分析方法主要是对产量下降趋势进行分析。然而这些方法对于涪陵焦石坝页岩气田生产方式来说并不适用。特别是对于生产方式为调产时,产量随着气井状态或者公司销售等原因进行调整时,产量变化趋势并非是下降的,而是不同产量对应的各生产参数有自己不同的变化规律。而FCM能较好的解决产量梯度多和硬划分问题,将产量进行自适应聚类,分类对数据进行处理和多模型建模。而BP神经网络具有很强的非线性映射能力,适用于解决非线性系统建模问题,为生产过程压力建模提供了新的思路。对于页岩气生产数据,具有噪声大、不完整、易受人为影响等特点,若直接使用,会影响动态模型的准确度。因此,在多模型建模之前,应将数据根据模糊聚类结果进行归类,再进行筛选及处理操作,只有保留完整、正确的数据,才能保证所建模型的真实性与准确性。在多模型建模之前利用肯Kendall相关系数分析法对生产数据进行相关性分析,从而分析不同变量因素的相关密切程度,以确定用于递归神网络建模的输入变量。最后运用BP神经网络对每一类产量数据进行建模,最终利用建立多模型库进行调产井生产压力预测。
发明内容
本发明的目的在于克服现有技术的不足,提供一种页岩气调产井生产压力动态预测方法:首先利用模糊聚类算法对页岩气调产井产量数据进行自适应聚类,根据聚类结果对历史生产数据进行归类,分类剔除不完整数据以及异常数据,以保证数据的准确性;再利用Kendall相关系数分析法对生产数据进行相关性分析,从而分析不同变量因素的相关密切程度,以确定用于BP网络建模的输入变量。最后分别对每一类数据进行建模,形成多模型库;预测时输入需要预测的产量以及历史数据,系统将自动识别并调用其对应的模型进行压力预测,实现调产井不同产量下的压力预测。
本发明的目的是这样实现的:
一种页岩气调产井生产压力动态预测方法,其特征在于,包括如下步骤:
S1:选择对页岩气井生产有影响的控制参数构成决策变量X=[x1,x2,…,xM],M为所选参数的个数,所述控制参数包括油管压力Y,套管压力T,产量P,产水量W,然后选定页岩气工业现场,采集N组决策变量X1,X2,···,XN作为数据样本;
S2:选定聚类方法,首先对N组产量P数据进行自适应聚类,根据聚类结果对S1中采集的样本数据进行归类,再结合产量P、产水量W、油管压力Y对套管压力T的影响,分类对套管压力数据进行处理;
所述选定聚类方法为FCM算法,聚类过程包括以下步骤:
S21:根据页岩气井原始数据,首先对产量数据采用FCM进行聚类,其原理为:
FCM把N组产量P数据x3=P=[P1,P2,…,PN]分为c个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小,FCM用模糊划分,使得每个给定数据点用值在[0,1]间的隶属度来确定其属于各个组的程度,与引入模糊划分相适应,隶属矩阵U允许有取值在[0,1]间的元素,但是对数据集进行归一化之后,一个数据集的隶属度的和总是等于1,即表达式如下:
那么,FCM的价值函数就是:
式中,uij介于[0,1]之间;ci为模糊组I的聚类中心,dij=||ci-xj||为第i个聚类中心与第j个数据点间的欧几里德距离;且m∈[1,∞)是一个加权指数;
构造如下新的价值函数,可求得使式子(2-2)达到最小值的必要条件:
式中λj,j=1到n,是式子(2-1)的n个约束式的拉格朗日乘子,对所有输入参量求导,使式子(2-2)达到最小的必要条件为:
和
由上述两个必要条件,模糊c均值聚类算法是一个迭代过程,在批处理方式运行时,FCM用下列步骤确定聚类中心ci和隶属矩阵U:
S211:用值在[0,1]间的随机数初始化隶属矩阵U,使其满足式(2-1)中的约束条件;
S212:用式(2-3)计算c个聚类中心ci,i=1,2,···,c;
S213:根据式(2-2)计算价值函数,如果它小于某个确定的阈值,或它相对上次价值函数值的改变量小于某个阈值,则算法停止;
S214:用式(2-4)和式(2-5)计算新的U矩阵,返回步骤S212;
S215:聚类结束后,根据聚类结果对原始数据进行归类,分类进行数据处理;
S3:选定相关性分析方法,对步骤S2归类后的N组生产数据进行相关性分析,从而分析不同控制参数的相关密切程度;
S4:利用BP神经网络算法,以产量P、产水量W、油管压力Y作为输入,套管压力T作为输出,根据步骤S3所得的每一类数据分别建立BP神经网络模型,得到页岩气井生产数据多模型库;
S5:预测时,对页岩气井生产数据多模型库输入需要预测的生产压力所对应的产量,并且导入需要预测压力当天以前的历史数据;
S6:页岩气井生产数据多模型库根据S5所输入的产量,以及导入的历史数据,自动识别,找取并调用其对应的BP神经网络模型;
S7:BP网络模型自动进行生产压力预测,为后期实际生产调度提供参考和预警。
优选地,步骤S3中,选定的相关性分析方法为肯德尔相关系数分析法,步骤S3中,以套管压力T作为基本参考变量,分别分析产量P、产水量W、油管压力Y与套管压力T的相关性。
优选地,步骤S4中建立的页岩气井生产数据多模型,其输入层采用4个神经元节点,隐藏层采用8个神经元节点,输出层采用1个神经元节点,输入层到隐藏层之间传递函数为Logsig函数,隐藏层到输出层之间的函数为Purelin函数,样本训练时的迭代次数为1000。
优选地,步骤S4包括以下步骤:
S41:初始化网络参数,包括阈值R,迭代次数T,权值w;
S411:设定BP神经网络输入,设定神经网络输出值y(k)与理想输出值d(k)误差e(k),理想输出值d(k)是指套管压力值Y1,Y2,......YN:
e(k)=d(k)-y(k);
S412:定义k时刻网络权值调整的误差函数E:
其中,di(k)是k时刻第i个输出节点的期望输出;
S413:反向传播,采用δ学习算法,调整各层间的权值:隐含层及输出层的连接权值wjo学习算法为:
η为学习速率,η∈[0,1],k+1时刻网络的权值为:
wjo(k+1)=wjo(k)+Δwjo
S414:输入层及隐含层连接的权值wij学习算法为:
k+1时刻网络的权值为:
wij(k+1)=wij(k)+Δwij
S415:为了避免权值的学习过程发生震荡,考虑上次权值变化对本次权值变化的影响,加入动量因子α,此时权值为:
wj0(k+1)=wj0(k)+Δwj0+α(wj0(k)-wj0(k-1))
wij(k+1)=wij(k)+Δwij+α(wij(k)-wij(k-1))
S416:利用建立的模型进行套管压力预测,将预测值与实际值比较;
S417:判断当前模型预测精度是否满足要求,若精度不满足要求,重新进行训练,调整迭代次数T,若满足,则为最终建立的模型;
S418:当所有类模型建立完成后,最终形成多模型库。
由于采用了上述技术方案,本发明具有如下有益效果:
本发明首先利用模糊聚类算法对页岩气调产井产量数据进行自适应聚类,根据聚类结果对历史生产数据进行归类,分类剔除不完整数据以及异常数据,以保证数据的准确性;再利用肯德尔相关系数分析法对生产数据进行相关性分析,从而分析不同变量因素的相关密切程度,以确定用于BP网络建模的输入变量。最后分别对每一类数据进行建模,形成多模型库;预测时输入需要预测的产量以及历史数据,系统将自动识别并调用其对应的模型进行压力预测,实现调产井不同产量下的压力预测;以达到为后期实际生产调度提供参考和预警的目的。
本专利申请与申请已申请专利基于递归神经网络的页岩气井生产压力预测方法的区别在于:本方法主要适用与页岩气调产井的建模以及预测(调产指生产方式属于改变产量生产),而已申请专利主要是对页岩气定产井的建模以及预测(定产指生产方式属于固定产量生产)。这两种生产方式有本质上的区别,所以以往对定产井的分析方法在对调产井的研究上并不适用。因为通过数据相关性分析我们发现:对涪陵页岩气井而言页岩气在生产过程中,产量变化必定会带来压力或者其他参数的改变,所以在分析不同生产方式下的气井时,选用的方法是不一样的。而页岩气调产井生产压力动态预测方法是针对调产井提出的新方法。
附图说明
图1为本发明的方法流程图;
图2为页岩气调产井生产数据图
图3为自适应模糊C均值聚类结果图;
图4为BP神经网络预测结果图;
图5为神经网络预测相对误差图;
图6为神经网络预测绝对误差图。
具体实施方式
如图1所示,一种基于模糊聚类(FCM)和BP多模型建模的页岩气调产井生产压力动态预测方法,包括如下步骤:
S1:选择对页岩气井生产有影响的控制参数构成决策变量X=[x1,x2,···,xM],M为所选参数的个数;
本实施例是通过统计页岩气生产过程中对套管压力变化有影响的原始变量,并从中确定对套管压力变化影响大的控制参数作为决策变量X。
本实施例通过对实际工业生产过程中测量参数进行统计,得到对套管压力x1变化影响较大变量为:油管压力x2、产量x3,产水量x4,选定套管压力x1、油管压力x2、产量x3、产水量x44个控制参数作为决策变量。
然后选定页岩气工业现场,采集N组决策变量X1,X2,···,XN及其对应的油管压力Y1,,Y2,···,YN,套管压力T1,,T2,···,TN,产量P1,,P2,···,PN,产水量W1,,W2,···,WN为数据样本。
S2:首先对N组产量P1,,P2,···,PN数据进行自适应模糊C均值聚类,根据聚类结果N组决策变量进行归类,再结合产量P、产水量W、油管压力Y对套管压力T的影响,分类对套压生产数据进行处理,以保证数据的准确性。
所述变量由于在开发过程中受到多种因素的影响,导致其具有以下特征:
①产量梯度多,异常数据判断困难,关联性分析难度大;
②调产周期波动大,生产压力变化复杂,变动趋势和规律不明显。
③历史数据不平衡,少数类包含的信息有限,难以确定其数据分布,造成识别率低,分类困难。
④生产数据之间变化规律复杂,体现出强烈的非线性,强耦合等特征。
而在页岩气调产井的分析中对产量分类占有很重要的地位。它是多模型建模的第一步,只有对产量数据较为准确的聚类,才能保证接下来数据处理的有效性。
针对模糊C均值聚类而言,FCM把N组产量P数据Pi(i=1,2,.....n)分为c个模糊组,并求每组的聚类中心,使得非相似性指标的价值函数达到最小。FCM用模糊划分,使得每个给定数据点用值在[0,1]间的隶属度来确定其属于各个组的程度。与引入模糊划分相适应,隶属矩阵U允许有取值在[0,1]间的元素。
在本实施例中,采集中石化重庆涪陵页岩气勘探开发有限公司页岩气井(焦页调产井37-3HF)2015年12月21到2017年7月生产数据,共计535组数据,选取集中455条作为训练样本,80条作为测试集,部分数据样本如下表1所示。
表1部分数据样本
样本编号 |
x<sub>1</sub> |
x<sub>2</sub> |
x<sub>3</sub> |
X<sub>4</sub> |
1 |
18.54 |
18.54 |
125511 |
17.3 |
2 |
18.48 |
18.48 |
126929 |
17.5 |
3 |
18.25 |
18.25 |
123977 |
17.7 |
4 |
17.41 |
17.41 |
130387 |
14.3 |
5 |
17.23 |
17.23 |
156639 |
17.1 |
6 |
17.07 |
17.07 |
155007 |
20.4 |
7 |
16.92 |
16.92 |
155207 |
19.9 |
8 |
16.82 |
16.82 |
154558 |
19.7 |
9 |
16.72 |
16.72 |
152686 |
19.9 |
10 |
16.64 |
16.64 |
152244 |
19.7 |
11 |
…… |
…… |
…… |
…… |
步骤S2中模糊C均值聚类包括如下步骤:
对数据集进行归一化之后,一个数据集的隶属度的和总是等于1,即表达式如下:
那么,FCM的价值函数(价值函数又称目标函数)就是:
这里uij介于[0,1]之间;ci为模糊组I的聚类中心,dij=||ci-xj||为第i个聚类中心与第j个数据点间的欧几里德距离;且m∈[1,∞)是一个加权指数。
构造如下新的目标函数,可求得使式子(2-2)达到最小值的必要条件:
这里λj,j=1到n,是式子(2-1)的n个约束式的拉格朗日乘子。对所有输入参量求导,使式子(2-2)达到最小的必要条件为:
和
由上述两个必要条件,模糊c均值聚类算法是一个简单的迭代过程。在批处理方式运行时,FCM用下列步骤确定聚类中心ci和隶属矩阵U:
S211:用值在[0,1]间的随机数初始化隶属矩阵U,使其满足式(2-1)中的约束条件
S212:用式(2-3)计算c个聚类中心ci,i=1,2···,c。
S213:根据式(2-2)计算价值函数。如果它小于某个确定的阈值,或它相对上次价值函数值的改变量小于某个阈值,则算法停止。
S214:用式(2-4)和式(2-5)计算新的U矩阵。返回步骤S212。
S215:根据聚类结果,对S1选用的决策变量进行归类,再结合产量P、产水量W、套管压力T对油压Y的影响,分类对套压生产数据进行处理,以保证数据的准确性。
步骤S3、选定相关性分析方法,对步骤S2归类后的N组生产数据:油管压力Y1,,Y2,···,YN,套管压力T1,,T2,···,TN,产量P1,,P2,···,PN,产水量W1,,W2,···,WN进行相关性分析,从而分析不同变量因素的相关密切程度,以确定用于BP神网络建模的输入变量;
步骤S3中相关性分析具体包括如下步骤:
S31:以套管压力作为基本参考变量,分别分析了页岩气产量、产水量、油管压力等参数与其的相关性。选用的Kendall相关性分析法是一种对两个有序变量或者两个秩变量间的关系程度的测度,属于一种非参测度。分析时考虑了结点(秩次相同)的影响。它适合有序数据或不满足正态分布假设的等间隔数据其公式为:
其中:
ti(或ui)是x(或y)的第i组结点x(或y)值的数目,n为观测量数。
S32:相关性分析后,得出相关性系数,分析变量油管压力、套管压力、产量、产水量之间的相关程度,确定步骤S4 BP神经网络输入变量。
S4:利用BP神经网络算法,对步骤S2、S3所得的输入类型以及变量进行建模,建立页岩气调产井生产数据多模型库。
针对所构建的页岩气调产井生产数据多模型库而言,以套管压力作为输出,其输入层采用4个神经元节点,隐藏层采用8个神经元节点,输出层采用1个神经元节点,输入层到隐藏层之间传递函数为Logsig函数,隐藏层到输出层之间的函数为Purelin函数,样本训练时的迭代次数为1000。
在BP神经网络设计中,由于数据存在时序信号,网路状态随时间的变化而变化,因此除了隐层节点数,学习速率也同样影响着神经网络模型的稳定性与准确性,是神经网络设计中的重难点。
隐层的节点数的设定由试凑法获得:
式中,p为隐层神经元节点数,n为输入层神经元数,m为输出层神经元数,k为1-10之间的常数。
最佳学习速率取值为:
本例中BP神经网络的设置参数如下表2所示
表2递归神经网络设置参数
目标函数 |
迭代次数 |
隐含层传递函数 |
输出层传递函数 |
隐含层节点数 |
油管压力 |
1000 |
Tansig |
Purelin |
8 |
设置X
k=[x
k1,x
k2,···,x
kM](k=1,2,···,N)为输入矢量,N为训练样本个数,
为第g次迭代时输入层M与隐层I之间的权值矢量,W
JP(g)为第g次迭代时隐层J与输出层P之间的权值矢量,Y
k(g)=[y
k1(g),y
k2(g),···,y
kP(g)],(k=1,2,…,N)为第g次迭代时网络的实际输出,d
k=[d
k1,d
k2,···,d
kP],(k=1,2,…,N)为期望输出;
步骤S4中建立页岩气调产井生产数据多模型库具体包括如下步骤:
S41:初始化,迭代次数g初值设为0,WMI(0)、WJP(0)均为为(0,1)区间的随机值;
S42:输入随机样本Xk;
S43:对于输入样本Xk,前向计算BP神经网络每层神经元的输入信号和输出信号:
前向传播,计算网络的输出:
隐层神经元输入为所有输入的加权之和:
隐层神经元的输出x'j采用S函数激发得:
输出层神经元输出:
S44:计算期望输出dk和实际输出Yk(g)差值,得到误差E(g);
S45:判断误差E(g)是否满足要求,若不满足,则进入步骤S46,若满足,则进入步骤S49;
S46:判断迭代次数g+1是否大于最大迭代次数,如大于,则进入步骤S49,否则,进入步骤S47;
S47:对输入样本Xk反向计算每层神经元的局部梯度;
网络输出层节点误差为:e(k)=d(k)-y(k),e(k)为网络期望输出,y(k)为网络实际输出。
通过计算输出层节点误差对各层的权值变化率为:反向传播,采用δ学习算法,调整各层间的权值:输出层及隐含层的连接权值wjo学习算法为:
η为学习速率,η∈[0,1]。k+1时刻网络的权值为:
wjo(k+1)=wjo(k)+Δwjo
隐层及出入层连接的权值wij学习算法为:
k+1时刻网络的权值为:
wij(k+1)=wij(k)+Δwij
S48:为了避免权值的学习过程发生震荡、在考虑上次权值变化对本次权值变化的影响,加入动量因子α,此时权值为:
wj0(k+1)=wj0(k)+Δwj0+α(wj0(k)-wj0(k-1))
wij(k+1)=wij(k)+Δwij+α(wij(k)-wij(k-1))
S49:判断是否完成所有的训练样本,如果是,则完成建模,否则,继续跳转至步骤S42。
通过上述循环过程,可得到BP神经网络多模型库。
步骤S5、S6、S7中,当S4多模型库建立后,在预测时,输入需要预测的生产压力所对应的产量,并且导入需要预测压力当天以前的历史数据。根据S5所输入的产量,以及导入的历史数据,自动识别,找取并调用其对应的BP网络模型。步骤S6调用模型后,自动进行生产压力预测,预测效果如图5、6所示。通过对图5、6分析可知,经BP神经网络训练,套管压力的最大相对预测误差为3.6%模型预测精度高,满足建模要求。
S4:按照步骤S2、S3所建立的BP神经网络多模型库来指导步骤S1中所选定的页岩气工业现场,使其用于生产压力预测,以达到为实际生产提供参考和预警的目的。
本申请的上述实施例中,提供一种页岩气调产井生产压力动态预测方法,首先利用模糊聚类算法对页岩气调产井产量数据进行自适应聚类,根据聚类结果对历史生产数据进行归类,分类剔除不完整数据以及异常数据,以保证数据的准确性;再利用肯德尔(Kendall)相关系数分析法对生产数据进行相关性分析,从而分析不同变量因素的相关密切程度,以确定用于BP网络建模的输入变量。最后分别对每一类数据进行建模,形成多模型库;预测时输入需要预测的产量以及历史数据,系统将自动识别并调用其对应的模型进行压力预测,实现调产井不同产量下的压力预测;以达到为后期实际生产调度提供参考和预警的目的。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。