馮貴陽 韓家新
摘要:油田產(chǎn)量預測是油田開發(fā)生產(chǎn)中的重要工作,也是油田開發(fā)決策的基礎。為了準確且快速地進行油田產(chǎn)量預測,本文首先采用主成分分析方法對預測模型的輸入變量進行降維優(yōu)化處理;其次,利用自適應粒子群算法對支持向量機的核參數(shù)[σ]和懲罰因子[C]進行優(yōu)化;最后,建立基于最小二乘支持向量機預測模型。實驗結果表明,該預測模型有效地去除了冗余信息,降低了輸入變量的結構復雜度,提高了模型尋優(yōu)的收斂速度且避免陷入局部最優(yōu),有效地提高了油田產(chǎn)量的預測效率和預測精度。
關鍵詞:油田產(chǎn)量預測;主成分分析;最小二乘支持向量機;自適應粒子群優(yōu)化
中圖分類號: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,Xian Shiyou University,Xian 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
油田產(chǎn)量的預測是調(diào)整油田開發(fā)決策的重要依據(jù),提高預測方法的有效性和準確性在油田開發(fā)中具有十分重要的作用。常用的預測方法有灰色預測法、回歸分析預測法及神經(jīng)網(wǎng)絡算法等,但這些方法在小樣本的情況下或多或少存在著一些缺陷。支持向量機可以有效地解決小樣本預測問題,最小二乘支持向量機是對支持向量機的改進,其優(yōu)化指標采用平方項,把向量機的不等式約束替換為等式約束,將QP問題轉化為求解線性方程組,降低了計算的復雜性,提高了求解速度。
油田產(chǎn)量受許多因素影響,如剩余地質(zhì)儲量、油壓、液壓、注水量和油井開井數(shù)量等。如果預測模型的輸入變量過多,則會加重訓練負擔和影響學習速度;如果采用主觀篩選則很有可能導致重要影響因素的丟失,繼而降低預測的精確度,因而如何合理選擇預測模型的輸入變量決定著預測效果。主成分分析是將多個變量通過線性變換以選出較少個數(shù)重要變量的一種多元統(tǒng)計分析方法,該方法將原變量重新組合成一組新的互相無關的幾個綜合變量,同時根據(jù)實際需要從中可以取出幾個較少的綜合變量盡可能多地反映原來變量的信息。因此,這里將主成分分析和最小二乘支持向量機結合起來,可以很好地解決計算復雜、求解速度慢和預測精度不高等缺點。
1 主成分分析法
主成分分析(Principal Component Analysis,PCA)是由Hotelling提出的一種多元統(tǒng)計分析方法。該方法通過變換將原變量重新組合成一組新的無關綜合變量,使這些新變量盡可能多地反映原變量的信息。原變量的信息主要通過變量的方差來反映,方差越大,變量所包含的信息就越多,通常用累計方差貢獻率來衡量多個主成分包的含原始變量的信息。具體的計算分為4個步驟:
(1) 數(shù)據(jù)標準化。為了消除數(shù)量級和量綱不同帶來的影響,對原始數(shù)據(jù)作標準化處理,即
[x*ij=xij-xj-σj(i=1,2,???,N;j=1,2,???,m)]
[xj-=1Ni=1Nxij],[σj=1N-1i=1N(xij-xj-)2]
式中,N為樣本個數(shù),m為變量個數(shù)。
(2)建立相關系數(shù)矩陣R,計算其特征根和特征向量。
[R=1N-1X*TX*]
式中,[X*]為標準化后的數(shù)據(jù)矩陣。求得相關矩陣R的特征根[λ1≥λ2≥???≥λm]及其對應的滿足正則條件的特征向量[μ1,μ2,????μm]。
(3)確定主成分個數(shù)。計算每個主成分的方差貢獻率和累計方差貢獻率分別為:
[ηi=λii=1mλi×100%],[η∑(p)=i=1pηi]
當p個主成分的累計方差貢獻率大于85%時,便包含了m個原始變量所能提供的絕大部分信息,則主成分個數(shù)為p個。
(4)計算主成分矩陣。
[ZN×p=X*N×mUm×p],[Um×p=μ1,μ2,???,μp]
式中,[Um×p]為p個主成分對應的特征向量。
2 支持向量機模型
2.1 最小二乘支持向量機
支持向量機(Support Vector Machine,SVM)是建立在統(tǒng)計學習理論中的VC維理論和結構風險最小原理基礎上的一種新的機器學習方法。根據(jù)有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折中,從而能很好地解決小樣本、高維數(shù)的非線性回歸問題。最小二乘支持向量機從機器學習損失函數(shù)著手,在其優(yōu)化問題的目標函數(shù)中使用二范數(shù),并利用等式約束條件代替SVM標準算法中的不等式約束條件,在減少了待定參數(shù)的同時又降低了求解的復雜度。
對于給定的訓練集[W=(xi,yi)|i=1,2,???,n],線性回歸函數(shù)可表示為:
[f(x)=ωφ(x)+b] (1)
式中, [ω]為權重向量,b為偏差量。
將上述線性回歸問題轉化為具有約束的二次優(yōu)化問題,即
[minω,e:J(ω,e)=12(ωTω+Ci=1Ne2i)] (2)
約束條件
[yi=ωTφ(xi)+b+ei] (3)
式中,[ei]是擬合誤差,C是懲罰因子。
根據(jù)式(2),拉格朗日函數(shù)定義如下:
[L(ω,b,e,α)=J(ω,e)-i=1nαiωTφ(xi)+b+ei-yi] (4)
式中,[αi]為拉格朗日乘子。
根據(jù)最優(yōu)化理論中的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)]為核函數(shù),采用徑向基核函數(shù),即[k(xi,x)=exp(-x-xi2/4σ2)],[σ]為核函數(shù)的參數(shù)寬度。
2.2 自適應粒子群優(yōu)化參數(shù)
粒子群算法(Particle Swarm Optimization,PSO) 是近年來發(fā)展起來的一種新的進化算法,從隨機解出發(fā),通過迭代尋找最優(yōu)解值。和其他演化算法相比,PSO算法演化群體小、實現(xiàn)簡單、易于收斂,系統(tǒng)具有很強的魯棒性。
在可調(diào)整參數(shù)中,慣性權重是粒子群算法最重要的參數(shù),用于平衡全局和局部搜索能力,較大的權重有利于全局搜索,而較小的權重適于局部搜索。本文采用一種基于自適應慣性權重的粒子群算法對LS-SVM模型的核參數(shù)[σ]和懲罰系數(shù)[C]進行優(yōu)化,使得預測模型收斂速度加快且不易陷入局部最優(yōu),同時也具有較高的預測精度。
設D維空間中有m個粒子,第i個粒子的位置和速度表示為[Xi=(xi1,xi2,???,xiD)],[Vi=(vi1,vi2,???,viD)],粒子經(jīng)歷過的最好位置記為[Pi=(pi1,pi2,???,piD)],所有粒子經(jīng)歷過的最好位置記為[Pg=(pg1,pg2,???,pgD)]。每個粒子位置和速度按如式(7)—(9)進行調(diào)整:
[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)<-vmax] (8)
[xi(t+1)=xi(t)+vi(t+1)] (9)
式中,[ω]為慣性權重,[c1]和[c2]為學習因子,[r1,r2∈[0,1]]為隨機數(shù), [vi∈[-vmax,vmax]]。
慣性權重根據(jù)每個粒子在每次迭代完的目標函數(shù)值進行更新,其自適應調(diào)整的具體公式為
[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]為適應度函數(shù),[yi]和[yi∧]分別為SVM訓練輸出值和期望輸出值,N為樣本數(shù)量。
APSO優(yōu)化的計算步驟如下:
(1)算法初始化。設定粒子群規(guī)模為m的初始種群[x(t)],每個粒子初始速度[v1,v2,???,vm],學習因子[c1]和[c2],約束因子[λ],[θ],粒子最大速度[vmax],種群最大迭代次數(shù)[Tmax]。
(2)計算種群[x(t)]的適應度。粒子的適應度與粒子位置正相關。
(3)對每個粒子,將它的適應值和它經(jīng)歷過的最好位置[Pi]作比較,如果較好,則將其作為當前的最好位置[Pi];對種群中最好粒子,將其目前的適應值和[Pg]作比較,如果較好,則用其位置替換[Pg]。
(4)根據(jù)式(7)-(9)更新[x(t)],[v(t)]和[ω(t)]。
(5)檢查結束條件,若[t (6)結束尋優(yōu),輸出全局最優(yōu)解[(C,σ)]。 3 實驗結果與分析 3.1 數(shù)據(jù)預處理 產(chǎn)油量是油田開發(fā)指標中最重要衡量標準之一,本文為驗證預測模型的準確性與有效性故采用文獻[4]中的開發(fā)數(shù)據(jù)。采集的數(shù)據(jù)樣本為國內(nèi)某油田區(qū)塊連續(xù)15個月的開發(fā)數(shù)據(jù),開發(fā)指標為產(chǎn)油量(I),影響因素包括剩余地質(zhì)儲量(B)、開井數(shù)(C)、注采比(D)、含水率(E)、注水井開井數(shù)(F)、投產(chǎn)新井開井數(shù)(G)和老井措施有效井次(H)。其中,前13組數(shù)據(jù)選為訓練數(shù)據(jù)進行預測,最后兩組數(shù)據(jù)作為測試數(shù)據(jù)用于檢驗,原始數(shù)據(jù)見表1。 表1 某區(qū)塊產(chǎn)油量及對應影響因素 [ 組別\&剩余地質(zhì)儲量/104t \& 開井數(shù)/口 \& 注采比 \&含水率/% \&注水井開井數(shù)/口 \&投產(chǎn)新井開井數(shù)/口 \&老井措施有效井次 \&產(chǎn)油量/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(xiàn),G,H和開發(fā)指標I進行標準化處理,并計算各影響因素相關系數(shù)矩陣的特征值、主成分貢獻率和累計貢獻率,結果見表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),包含了原始數(shù)據(jù)95%以上的信息,所以將這3個主成分作為新的輸入,歸一化后的產(chǎn)油量作為輸出,新的樣本集見表3。 表3 主成分及對應的產(chǎn)油量 [時間\&Y1 \&Y2 \&Y3 \&產(chǎn)油量/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 建立預測模型
根據(jù)自適應粒子群算法和最小二乘支持向量機建立預測模型,在MATLAB 8.0環(huán)境下編寫預測程序,參數(shù)設置如下:[m=20],[c1=c2=2],[λ=0.8],[θ=0.5],[vmax=100],[Tmax=100]。經(jīng)過數(shù)據(jù)樣本的訓練,得到兩組檢驗樣本的均方誤差分別為0.0016和0.1485。對比文獻[4]中的實驗結果,本文的預測模型在運行效率和預測精度上都有一定的提高,具體結果見表4。
表4 不同方法的預測結果對比
[預測方法\&均方誤差\&平均運行時間/s\&APSO+LS-SVM\&0.1009\&0.1633\&4.2631\&PCA+網(wǎng)格搜索法+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 結論
本文提出了一種基于主成分分析和自適應粒子群優(yōu)化的最小二乘支持向量機油田產(chǎn)量預測模型。首先利用主成分分析方法對油田產(chǎn)量的影響因素進行降維處理,將提取的主成分作為LS-SVM的輸入進行訓練和預測,然后利用APSO算法優(yōu)化內(nèi)核參數(shù)[σ]和懲罰因子[C]。通過對實際數(shù)據(jù)計算分析,證明了該方法可有效地去除冗余信息,減少輸入變量,提高收斂速度且不會陷入局部最優(yōu),具有較高的預測效率和預測精度。因此,可將該模型用于油田產(chǎn)量的預測,為相關決策部門提供一定有益的預測與決策方法。
參考文獻:
[1] Vapnik V N. The Nature of Statistical Learning Theory [M]. New York: Springer,2000.
[2] 方瑞明. 支持向量機理論及其應用分析[M]. 北京:中國電力出版社,2007.
[3] 李瑩. 基于主成分分析的油田油水層預測[J]. 內(nèi)江科技,2005(2):62-63.
[4] 鐘儀華. 特高含水期油田產(chǎn)量預測新方法[J]. 斷塊油氣田,2011,18(5):641-644.
[5] 朱小梅. LS_SVM_GA算法在油田產(chǎn)量預測中的應用研究[J]. 煤炭技術,2010,11(29):197-198.