发明名称 一种基于动态径向基函数神经网络的油田产量预测方法
摘要 一种基于动态径向基函数神经网络的油田产量预测方法,包括以下步骤:A.根据油田情况确定影响产量因素,获取历史数据并将其划分为训练数据集和检测数据集;B.利用离差标准化方法将数据集进行归一化处理;C.利用敏感度法动态调整RBF神经网络结构,建立临时RBF神经网络预测模型;D.利用状态转移概率矩阵对模型误差进行修正,得到稳定的RBF神经网络油田产量预测模型;E.利用步骤A得到检测数据集对模型进行验证,判断是否符合期望;F.利用步骤E所得到的符合期望的产量预测模型进行石油产量预测。该方法避免了RBF隐含层神经元过多或过小的问题,得到的模型有自适应调节的功能;对预测误差进行二次修正,使预测结果更加准确、合理。
申请公布号 CN104732303A 申请公布日期 2015.06.24
申请号 CN201510165643.6 申请日期 2015.04.09
申请人 中国石油大学(华东) 发明人 李克文;王义龙;苏玉亮
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 代理人
主权项 一种基于动态径向基函数神经网络的油田产量预测方法其特征在于,主要包括以下步骤:A.获取数据根据油田实际情况,确定影响油田产量因素指标,获取历史数据集并将其划分为训练数据集和检测数据集;B.归一化处理对历史数据集进行归一化处理,归一化方法可以采用离差标准化方法,使不同量纲的数据转化为统一的处理格式,转换函数如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msup><mi>x</mi><mo>*</mo></msup><mo>=</mo><mfrac><mrow><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow><mrow><msub><mi>x</mi><mi>max</mi></msub><mo>-</mo><msub><mi>x</mi><mi>min</mi></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000011.GIF" wi="644" he="156" /></maths>   (公式1)其中x<sub>max</sub>为样本数据的最大值,x<sub>min</sub>为样本数据的最小值;C.预测模型的建立及训练RBF神经网络中,设K是隐含层神经元数,x(x<sub>1</sub>,…,x<sub>m</sub>)是输入向量,α<sub>k</sub>是第k个隐含层神经元与输出层神经元的联结权值,φ<sub>k</sub>是第k个隐含层神经元的输出,因此RBF神经网络的输出可描述为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>y</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&alpha;</mi><mi>k</mi></msub><msub><mi>&phi;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000696260850000012.GIF" wi="530" he="174" /></maths>   (公式2)(1)给定一个隐含层神经元为任意自然数的RBF神经网络进行训练,设定训练的次数;(2)计算每一个隐含层神经元输出值,由公式(1)可得到第k个隐含层神经元的输出为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>&phi;</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>e</mi><mfrac><mrow><mo>-</mo><mo>|</mo><mo>|</mo><mi>x</mi><mo>-</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>|</mo><mo>|</mo></mrow><msubsup><mi>&sigma;</mi><mi>k</mi><mn>2</mn></msubsup></mfrac></msup></mrow>]]></math><img file="FDA0000696260850000013.GIF" wi="532" he="155" /></maths>   (公式3)(3)对每一个神经元输出进行敏感度分析,计算其对输出的贡献值,隐含层神经元的输出加权值作为敏感度法的输入量,利用下式计算隐含层神经元输出对神经网络对输出所做的贡献:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>S</mi><mi>h</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>var</mi><mi>h</mi></msub><mo>[</mo><mi>E</mi><mrow><mo>(</mo><mi>y</mi><mo>|</mo><msub><mi>Z</mi><mi>h</mi></msub><mo>=</mo><msub><mi>&alpha;</mi><mi>h</mi></msub><msub><mi>&phi;</mi><mi>h</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>]</mo></mrow><mrow><mi>var</mi><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000021.GIF" wi="819" he="187" /></maths>   (公式4)其中,Z=[Z<sub>1</sub>,Z<sub>2</sub>,...,Z<sub>k</sub>]是敏感度法的输入向量,y是神经网络输出量,y与Z的关系可表示为y=f(Z<sub>1</sub>,Z<sub>2</sub>,...,Z<sub>k</sub>),var<sub>h</sub>[E(y|Z<sub>h</sub>=α<sub>h</sub>φ<sub>h</sub>(x))]是Z<sub>h</sub>等于α<sub>h</sub>φ<sub>h</sub>(x)时对y方差的影响,var(y)是y的方差,S<sub>h</sub>是α<sub>h</sub>φ<sub>h</sub>对输出y的一阶灵敏度表示,对S<sub>h</sub>进行归一化处理:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>ST</mi><mi>h</mi></msub><mo>=</mo><mfrac><msub><mi>S</mi><mi>h</mi></msub><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>S</mi><mi>i</mi></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000022.GIF" wi="392" he="227" /></maths>   (公式5)(4)选取ε值并根据隐含层神经元输出贡献值调整神经网络结构,ε的值一般小于目标误差值,对于贡献值最大且大于ε<sub>1</sub>的隐含层神经元进行分裂,对于贡献值小于ε<sub>2</sub>的隐含层神经元进行删除,这里ε<sub>1</sub>&gt;ε<sub>2</sub>,最终实现调整神经网络结构,定义误差目标函数为(N为训练样本数):<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>e</mi><mi>j</mi><mn>2</mn></msubsup></mrow>]]></math><img file="FDA0000696260850000023.GIF" wi="397" he="173" /></maths>   (公式6)(5)根据目标误差函数,利用梯度下降算法来调整神经网络的隐含层神经元的输出权值、中心值和函数宽度:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>a</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>a</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&eta;</mi><mn>1</mn></msub><msub><mi>ST</mi><mi>i</mi></msub><mfrac><mrow><mo>&PartialD;</mo><mi>E</mi></mrow><mrow><msub><mrow><mo>&PartialD;</mo><mi>a</mi></mrow><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000024.GIF" wi="847" he="168" /></maths>   (公式7)<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>&mu;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&eta;</mi><mn>2</mn></msub><msub><mi>ST</mi><mi>i</mi></msub><mfrac><mrow><mo>&PartialD;</mo><mi>E</mi></mrow><mrow><msub><mrow><mo>&PartialD;</mo><mi>&mu;</mi></mrow><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000025.GIF" wi="846" he="157" /></maths>   (公式8)<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>&sigma;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>&sigma;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&eta;</mi><mn>3</mn></msub><msub><mi>ST</mi><mi>i</mi></msub><mfrac><mrow><mo>&PartialD;</mo><mi>E</mi></mrow><mrow><msub><mrow><mo>&PartialD;</mo><mi>&sigma;</mi></mrow><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000696260850000026.GIF" wi="847" he="156" /></maths>   (公式9)其中,η<sub>1</sub>,η<sub>2</sub>,η<sub>3</sub>为参数学习步长;(6)达到期望误差或计算步骤时停止计算;D.残差修正在建立的神经网络模型的基础上,对训练样本的预测值与实际产量值对比,计算出误差序列,将误差序列作为一个马尔可夫过程,进行状态划分,以频率代替概率,计算误差状态的转移概率矩阵;E.模型验证运用检测数据集对模型进行检验,如果输出的预测值与实际对比值的误差达到了预期的期望,神经网络模型训练成功,可以利用模型对石油产量进行预测;反之,模型训练不成熟,需要重新进行训练;F.石油产量预测获取真实的预测基础数据,输入训练好的优化后的RBF神经网络中,RBF神经网络的输出即为油田产量的预测值。
地址 266580 山东省青岛市青岛经济技术开发区长江西路66号