基于主成分分析和最小二乘支持向量机的油田产量预测模型

时间:2022-04-10 02:26:27

基于主成分分析和最小二乘支持向量机的油田产量预测模型

摘要:油田产量预测是油田开发生产中的重要工作,也是油田开发决策的基础。为了准确且快速地进行油田产量预测,本文首先采用主成分分析方法对预测模型的输入变量进行降维优化处理;其次,利用自适应粒子群算法对支持向量机的核参数[σ]和惩罚因子[C]进行优化;最后,建立基于最小二乘支持向量机预测模型。实验结果表明,该预测模型有效地去除了冗余信息,降低了输入变量的结构复杂度,提高了模型寻优的收敛速度且避免陷入局部最优,有效地提高了油田产量的预测效率和预测精度。

关键词:油田产量预测;主成分分析;最小二乘支持向量机;自适应粒子群优化

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)31-0144-04

The Oilfield Production Prediction Model Based on Principal Component Analysis and Least Squares Support Vector Machine

FENG Gui-yang,HAN Jia-xin

(School of Computer Science,Xi’an Shiyou University,Xi’an 710065,China)

Abstract: The oilfield production prediction is an important work in oilfield development and production, is the basis of oilfield development decisions. In order to accurately and quickly predict oilfield production, firstly this paper uses principal component analysis method to reduce the dimensionality for the input variables of forecast model; Secondly, it optimizes the nuclear parameters and the penalty factor of support vector machine by using adaptive particle swarm optimization algorithm; Finally, the forecasting model based on least squares support vector machine is built. The experimental results show that the prediction model can effectively remove the redundant information and reduce the structure complexity of input variables, and improve the convergence speed of model optimization and avoid falling into local optimum, effectively improve the efficiency and the prediction accuracy of oilfield production forecast.

Key words: oilfield production prediction; PCA; LS-SVM; APSO

油田产量的预测是调整油田开发决策的重要依据,提高预测方法的有效性和准确性在油田开发中具有十分重要的作用。常用的预测方法有灰色预测法、回归分析预测法及神经网络算法等,但这些方法在小样本的情况下或多或少存在着一些缺陷。支持向量机可以有效地解决小样本预测问题,最小二乘支持向量机是对支持向量机的改进,其优化指标采用平方项,把向量机的不等式约束替换为等式约束,将QP问题转化为求解线性方程组,降低了计算的复杂性,提高了求解速度。

油田产量受许多因素影响,如剩余地质储量、油压、液压、注水量和油井开井数量等。如果预测模型的输入变量过多,则会加重训练负担和影响学习速度;如果采用主观筛选则很有可能导致重要影响因素的丢失,继而降低预测的精确度,因而如何合理选择预测模型的输入变量决定着预测效果。主成分分析是将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法,该方法将原变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的综合变量尽可能多地反映原来变量的信息。因此,这里将主成分分析和最小二乘支持向量机结合起来,可以很好地解决计算复杂、求解速度慢和预测精度不高等缺点。

1 主成分分析法

主成分分析(Principal Component Analysis,PCA)是由Hotelling提出的一种多元统计分析方法。该方法通过变换将原变量重新组合成一组新的无关综合变量,使这些新变量尽可能多地反映原变量的信息。原变量的信息主要通过变量的方差来反映,方差越大,变量所包含的信息就越多,通常用累计方差贡献率来衡量多个主成分包的含原始变量的信息。具体的计算分为4个步骤:

(1) 数据标准化。为了消除数量级和量纲不同带来的影响,对原始数据作标准化处理,即

[x*ij=xij-xj-σj(i=1,2,???,N;j=1,2,???,m)]

[xj-=1Ni=1Nxij],[σj=1N-1i=1N(xij-xj-)2]

式中,N为样本个数,m为变量个数。

(2)建立相关系数矩阵R,计算其特征根和特征向量。

[R=1N-1X*TX*]

式中,[X*]为标准化后的数据矩阵。求得相关矩阵R的特征根[λ1≥λ2≥???≥λm]及其对应的满足正则条件的特征向量[μ1,μ2,????μm]。

(3)确定主成分个数。计算每个主成分的方差贡献率和累计方差贡献率分别为:

[ηi=λii=1mλi×100%],[η∑(p)=i=1pηi]

当p个主成分的累计方差贡献率大于85%时,便包含了m个原始变量所能提供的绝大部分信息,则主成分个数为p个。

(4)计算主成分矩阵。

[ZN×p=X*N×mUm×p],[Um×p=μ1,μ2,???,μp]

式中,[Um×p]为p个主成分对应的特征向量。

2 支持向量机模型

2.1 最小二乘支持向量机

支持向量机(Support Vector Machine,SVM)是建立在统计学习理论中的VC维理论和结构风险最小原理基础上的一种新的机器学习方法。根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折中,从而能很好地解决小样本、高维数的非线性回归问题。最小二乘支持向量机从机器学习损失函数着手,在其优化问题的目标函数中使用二范数,并利用等式约束条件代替SVM标准算法中的不等式约束条件,在减少了待定参数的同时又降低了求解的复杂度。

对于给定的训练集[W=(xi,yi)|i=1,2,???,n],线性回归函数可表示为:

[f(x)=ωφ(x)+b] (1)

式中, [ω]为权重向量,b为偏差量。

将上述线性回归问题转化为具有约束的二次优化问题,即

[minω,e:J(ω,e)=12(ωTω+Ci=1Ne2i)] (2)

约束条件

[yi=ωTφ(xi)+b+ei] (3)

式中,[ei]是拟合误差,C是惩罚因子。

根据式(2),拉格朗日函数定义如下:

[L(ω,b,e,α)=J(ω,e)-i=1nαiωTφ(xi)+b+ei-yi] (4)

式中,[αi]为拉格朗日乘子。

根据最优化理论中的KKT(Karush-Kuhn-Tucker)条件,得到:

[?L?ω=0?L?b=0?L?e=0?L?α=0?ω=i=1nαiφ(xi)i=1nαi=0αi=CeiωTφ(xi)+b+ei-yi=0]

消除变量[ω]和[e],得到矩阵方程

[0ITIk+1CEbα=0y] (5)

式中,[k]为核矩阵,[α=α1,???,αnT],[I=1,???,1],[y=y1,???,ynT],E为单位矩阵。

求解公式(5),可以得到LS-SVM的预测模型:

[y(x)=i=1nαik(x,xi)+b] (6)

式中,[k(x,xi)]为核函数,采用径向基核函数,即[k(xi,x)=exp(-x-xi2/4σ2)],[σ]为核函数的参数宽度。

2.2 自适应粒子群优化参数

粒子群算法(Particle Swarm Optimization,PSO) 是近年来发展起来的一种新的进化算法,从随机解出发,通过迭代寻找最优解值。和其他演化算法相比,PSO算法演化群体小、实现简单、易于收敛,系统具有很强的鲁棒性。

在可调整参数中,惯性权重是粒子群算法最重要的参数,用于平衡全局和局部搜索能力,较大的权重有利于全局搜索,而较小的权重适于局部搜索。本文采用一种基于自适应惯性权重的粒子群算法对LS-SVM模型的核参数[σ]和惩罚系数[C]进行优化,使得预测模型收敛速度加快且不易陷入局部最优,同时也具有较高的预测精度。

设D维空间中有m个粒子,第i个粒子的位置和速度表示为[Xi=(xi1,xi2,???,xiD)],[Vi=(vi1,vi2,???,viD)],粒子经历过的最好位置记为[Pi=(pi1,pi2,???,piD)],所有粒子经历过的最好位置记为[Pg=(pg1,pg2,???,pgD)]。每个粒子位置和速度按如式(7)―(9)进行调整:

[vi(t+1)=ω?vi(t)+c1?r1?[pi(t)-xi(t)]+c2?r2?[pg(t)-xi(t)]] (7)

[vi(t+1)=vmax,vi(t+1)≥vmax-vmax,vi(t+1)

[xi(t+1)=xi(t)+vi(t+1)] (9)

式中,[ω]为惯性权重,[c1]和[c2]为学习因子,[r1,r2∈[0,1]]为随机数, [vi∈[-vmax,vmax]]。

惯性权重根据每个粒子在每次迭代完的目标函数值进行更新,其自适应调整的具体公式为

[vi(t+1)=ω(t)?vi(t)+c1?r1?[pi(t)-xi(t)]+c2?r2?[pg(t)-xi(t)]] (10)

[ω(t)=λ?ω(t-1)+θf(pg(t))-f(xi(t))f(pg(t))-f(xmin(t)),ifω(t)≥Cωmin,otherwise] (11)

[f=-1Ni=1N(yi-yi∧)2] (12)

式中,[λ,θ∈(0,1)]为约束因子, [f]为适应度函数,[yi]和[yi∧]分别为SVM训练输出值和期望输出值,N为样本数量。

APSO优化的计算步骤如下:

(1)算法初始化。设定粒子群规模为m的初始种群[x(t)],每个粒子初始速度[v1,v2,???,vm],学习因子[c1]和[c2],约束因子[λ],[θ],粒子最大速度[vmax],种群最大迭代次数[Tmax]。

(2)计算种群[x(t)]的适应度。粒子的适应度与粒子位置正相关。

(3)对每个粒子,将它的适应值和它经历过的最好位置[Pi]作比较,如果较好,则将其作为当前的最好位置[Pi];对种群中最好粒子,将其目前的适应值和[Pg]作比较,如果较好,则用其位置替换[Pg]。

(4)根据式(7)-(9)更新[x(t)],[v(t)]和[ω(t)]。

(5)检查结束条件,若[t

(6)结束寻优,输出全局最优解[(C,σ)]。

3 实验结果与分析

3.1 数据预处理

产油量是油田开发指标中最重要衡量标准之一,本文为验证预测模型的准确性与有效性故采用文献[4]中的开发数据。采集的数据样本为国内某油田区块连续15个月的开发数据,开发指标为产油量(I),影响因素包括剩余地质储量(B)、开井数(C)、注采比(D)、含水率(E)、注水井开井数(F)、投产新井开井数(G)和老井措施有效井次(H)。其中,前13组数据选为训练数据进行预测,最后两组数据作为测试数据用于检验,原始数据见表1。

表1 某区块产油量及对应影响因素

[

组别\&剩余地质储量/104t \&

开井数/口 \&

注采比 \&含水率/% \&注水井开井数/口 \&投产新井开井数/口 \&老井措施有效井次 \&产油量/104t \&1\&30953 \&1519 \&0.93 \&94.38 \&717 \&65 \&209 \&26.73 \&2\&30926 \&1526 \&0.94 \&94.42\&729 \&69 \&230 \&27.53 \&3\&30899 \&1536 \&0.93 \&94.46\&692 \&75 \&241 \&26.61 \&4\&30871 \&1543 \&0.94 \&94.49 \&703 \&81 \&250 \&28.25 \&5\&31439 \&1552 \&0.93 \&94.54 \&695 \&12 \&13 \&26.50 \&6\&31415 \&1570 \&0.95 \&94.47 \&691 \&26 \&30 \&24.16 \&7\&31389 \&1577 \&0.95 \&94.40 \&693 \&34 \&62 \&26.15 \&8\&31364 \&1578 \&0.94 \&94.27 \&690 \&38 \&86 \&25.17 \&9\&31338 \&1577 \&0.93 \&94.26 \&693 \&43 \&113 \&25.87 \&10\&31313 \&1577 \&0.91 \&94.20 \&683 \&42 \&135 \&25.10 \&11\&31286 \&1577 \&0.91 \&94.19 \&680 \&45 \&162 \&26.30 \&12\&31260 \&1582 \&0.90 \&94.20 \&677 \&50 \&181 \&26.27 \&13\&31235 \&1585 \&0.91 \&94.09 \&678 \&55 \&200 \&25.62 \&14\&31209 \&1591 \&0.90 \&94.16 \&680 \&63 \&217 \&25.59 \&15\&31184 \&1593 \&0.94 \&94.16 \&680 \&63 \&237 \&24.99 \&]

对影响因素B,C,D,E,F,G,H和开发指标I进行标准化处理,并计算各影响因素相关系数矩阵的特征值、主成分贡献率和累计贡献率,结果见表2。

表2 特征值与主成分贡献率

[主成分\&特征值 \&贡献率 \&累计贡献率\&Y1\&3.5624\&0.5089\&0.5089\&Y2\&2.5649\&0.3664\&0.8753\&Y3\&0.5334\&0.0762\&0.9515\&Y4\&0.2755\&0.0394\&0.9909\&Y5\&0.0491 \&0.0069 \&0.9978\&Y6\&0.0147 \&0.0021 \&0.9999\&Y7\&0.0006 \&0.0001 \&1.0000\&]

由表2可见,主成分Y1,Y2,Y3的累积贡献率为0.9515(大于0.85),包含了原始数据95%以上的信息,所以将这3个主成分作为新的输入,归一化后的产油量作为输出,新的样本集见表3。

表3 主成分及对应的产油量

[时间\&Y1 \&Y2 \&Y3 \&产油量/104t \&1\&-0.9170\&0.0792\&-0.1426\&0.6275\&2\&-1.1450\&0.1781\&-0.0204\&0.8236\&3\&-0.8249\&-0.1326\&0.0323\&0.6006\&4\&-1.100\&-0.0356\&0.0808\&1\&5\&0.3230\&0.8986\&-0.4779\&0.5701\&6\&0.4995\&0.8676\&0.2220\&0\&7\&0.3184\&0.6402\&0.1701\&0.4885\&8\&0.4882\&0.3134\&0.2033\&0.2458\&9\&0.3198\&0.1236\&0.0323\&0.4186\&10\&0.4989\&-0.2395\&-0.1449\&0.2307\&11\&0.3580\&-0.3557\&-0.1994\&0.5209\&12\&0.3596\&-0.5425\&-0.2857\&0.5157\&13\&0.3814\&-0.6353\&0.0201\&0.3275\&14\&0.2874\&-0.7585\&-0.1085\&0.4360\&15\&0.19626\&-0.4007\&0.6186\&0.2030\&]

3.2 建立预测模型

根据自适应粒子群算法和最小二乘支持向量机建立预测模型,在MATLAB 8.0环境下编写预测程序,参数设置如下:[m=20],[c1=c2=2],[λ=0.8],[θ=0.5],[vmax=100],[Tmax=100]。经过数据样本的训练,得到两组检验样本的均方误差分别为0.0016和0.1485。对比文献[4]中的实验结果,本文的预测模型在运行效率和预测精度上都有一定的提高,具体结果见表4。

表4 不同方法的预测结果对比

[预测方法\&均方误差\&平均运行时间/s\&APSO+LS-SVM\&0.1009\&0.1633\&4.2631\&PCA+网格搜索法+SVM\&0.1765\&0.1944\&2.3750\&PCA+GA+SVM\&0.0001\&0.1689\&3.5781\&PCA+APSO+LS_SVM\&0.0016\&0.1485\&3.0267\&]

4 结论

本文提出了一种基于主成分分析和自适应粒子群优化的最小二乘支持向量机油田产量预测模型。首先利用主成分分析方法对油田产量的影响因素进行降维处理,将提取的主成分作为LS-SVM的输入进行训练和预测,然后利用APSO算法优化内核参数[σ]和惩罚因子[C]。通过对实际数据计算分析,证明了该方法可有效地去除冗余信息,减少输入变量,提高收敛速度且不会陷入局部最优,具有较高的预测效率和预测精度。因此,可将该模型用于油田产量的预测,为相关决策部门提供一定有益的预测与决策方法。

参考文献:

[1] Vapnik V N. The Nature of Statistical Learning Theory [M]. New York: Springer,2000.

[2] 方瑞明. 支持向量机理论及其应用分析[M]. 北京:中国电力出版社,2007.

[3] 李莹. 基于主成分分析的油田油水层预测[J]. 内江科技,2005(2):62-63.

[4] 钟仪华. 特高含水期油田产量预测新方法[J]. 断块油气田,2011,18(5):641-644.

[5] 朱小梅. LS_SVM_GA算法在油田产量预测中的应用研究[J]. 煤炭技术,2010,11(29):197-198.

上一篇:新疆少数民族群众对健身气功运动的认知 下一篇:手机里的文艺