晏新祥, 賈振紅, 覃錫忠, 常 春, 王 浩
(①新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046; ②中國移動新疆分公司, 新疆 烏魯木齊 830063)
話務量預測,是指先分析和總結歷史話務量數(shù)據的特點及其影響它的一些因素,然后找到一種恰當?shù)姆椒▽ξ磥淼脑拕樟窟M行預測。其預測的準確性與一些企業(yè)和公司的日后發(fā)展有很大關系,所以很多移動運營商對話務量的預測非常地在意和關注[1]。目前一些移動公司采用函數(shù)擬合預測方法,譬如慣性預測[2],此模型非常簡單,不能滿足話務量的日益發(fā)展的變化需求。時問序列分析預測方法——ARIMA模型[3-4]也經常用來預測話務量,但它所要求的前提是話務量序列必須是平穩(wěn)的。緊接著用支持向量機理論[5-6]來預測話務量,但是確定它的參數(shù)十分困難,而且參數(shù)的準確與否直接影響著話務量的預測。針對以上那些模型的缺陷,在粒子群優(yōu)化算法(PSO, Particle Swarm Optimization)[7]的基礎上,提出了把速度變異粒子群算法與 BP網絡相結合,形成了速度變異的粒子群—BP(VMPSO-BP)網絡算法,用它訓練網絡,優(yōu)化了神經網絡的參數(shù),得到了基于VMPSO-BP算法的網絡模型,最后對移動話務量進行了預測。試驗的數(shù)據結果表明所研究的方法具有更高的預測精度、更快的收斂速度的優(yōu)點。
在PSO算法中,粒子群會朝向全局最小或局部最小的方向收斂,第i個粒子以前到過的最好位置為Pb,粒子群體以前到過的最好位置為 Gb。這時,Pb、Gb和每一個粒子當前位置都會趨向于同一點,這時的每一個粒子的運動速度就幾乎趨向于零。此時,最終求解結果就是粒子群收斂到的那個點。速度變異的粒子群優(yōu)化算法(VMPSO)的核心是:該方法不是對每個粒子在每一個維度上的速度進行變異,而是把具有L個粒子的粒子群的每一維度w上的速度的絕對值∣v1w∣,∣v2w∣…∣vLw∣最小的速度∣vyw∣進行變異。令∣vyw∣=min{∣v1w∣,∣v2w∣…∣vLw∣},y∈{1,2,…L},w∈{1,2,…W}。則有:
這里提出了式(1)中慣性權重u的線性變化的公式:
上面的c1和c2是加速系數(shù),是用來逼近于全局最好粒子和個體最好粒子方向,r1、r2是[0,1]之間的隨機數(shù),u是慣性因子,是用來控制速度的權重。umax、umin分別為慣性權重u的最大值和最小值,g為當前迭代次數(shù),gmax為最大迭代次數(shù)。每一維速度vw都在[-vwmax, vwmax]之中,如果vwmax過大,粒子就會逃離出最好的解;如果 vwmax過小,粒子就會處在局部最優(yōu)的困境。VMPSO不需要選擇變異的時間和機會,它使每一維度的vyw,w∈{1,2,…,W}以一定的概率進行變異,并且使vyw隨機地在[-vmax,vmax]上取值,通過公式(3)將集中的粒子群打散。算法如下所示:
①設定一些常數(shù)和初始化粒子群;
②計算粒子的適應度,Pb和Gb;
③按迭代公式(1)、公式(2)和公式(4)來更新viw。如果viw>vmax,就使 viw=vmax;如果 viw<-vmax,就使 viw=-vmax;找到 vyw,使∣vyw∣=min{∣v1w∣,∣v2w∣…∣vLw∣}。如果 r3<r4,就使 vyw在[-vmax,vmax]上隨機取值,按迭代公式(3)來更新xiw。如果 xiw>xmax,就使 xiw= xmax;如果 xiw<-xmax,就使xiw=-xmax;
④輸出Gb及相對應的目標函數(shù)值。
其中r3是(0,1)上的隨機數(shù),r4代表變異率,其中變異率的取值要恰當,取值過大或取值過小都會使算法不能得到最好的結果。
BP網絡實際輸出值or(r=1,2,…,n);n是神經網絡輸入輸出的樣本對數(shù)。用L個粒子組成一個粒子群,其中每個粒子都是W維向量。該向量表示神經網絡的所有權值,并且隨機產生權值的初始值,取值范圍為[0,1]。每個粒子的適應度函數(shù)值如式(5)所示:
其中or是神經網絡的輸出,ts是目標輸出,n1是輸出節(jié)點數(shù),n2是訓練集樣本數(shù)。
①按式(1)、式(3)初始化粒子的速度viw及位置xiw,確定粒子個數(shù)L、最大允許迭代步數(shù)gmax、系數(shù)c1和c2、初始化Piw和Giw;
②用f來計算每個粒子的適應度值,找出其中最好的即為全局極值Giw;
③計算每一個粒子的適應度值 f,若比該粒子當前值要好,則把Piw作為該粒子的位置,接著對個體極值進行更新。如果在所有粒子的個體極值中最好的值比當前全局極值要好,則把Giw作為該粒子的位置,記錄該粒子的序號,對全局極值進行更新;
④根據式(4)更新慣性權重;
⑤根據式(1)、式(2)、式(3)、式(4)更新速度和位置;
⑥當?shù)阶畲蟠螖?shù)或最小誤差時停止,該全局極值對應權值是最好解。否則轉向步驟②繼續(xù)進行。
網絡權值訓練完畢,然后將該最好的權值作為 BP網絡的權值,進行話務量預測。
神經網絡采用三層BP網絡,它的構成:輸入量是7個,是一個完整7天的話務量的數(shù)據,輸出量是1個,對應于第八天的話務量的預測值。隱含層的數(shù)目根據經驗公式以及反復的實驗確定為14。
訓練數(shù)據選擇烏魯木齊市2005年8月1日至2006年7月30日整整52個星期(7×52=364天)的移動話務量的數(shù)據。訓練樣本取為42個星期(7×42=294天)的話務量數(shù)據,測試樣本取為10個星期(7×10=70天)的話務量數(shù)據。并對2006年7月31日至2006年8月27日整整7×4=28天的話務量進行了預測。
對所有輸入數(shù)據進行歸一化處理。利用如下公式:
A(i,j)為原輸入數(shù)據,An(i,j)為歸一化后的數(shù)據,歸一化后的數(shù)據都是0-1之間,這樣有利于BP網絡的訓練和預測。
以烏魯木齊市2005年8月1日至2006年7月30日的移動話務量數(shù)據為依據,進行了網絡訓練和話務量預測。在網絡訓練過程中,采用VMPSO和BP相結合的方法,VMPSO-BP的初始參數(shù)分別為:慣性因子umax=0.9,umin=0.2,vmax=0.6,最小誤差emin=0.005,c1=2,c2=2,r1、r2的范圍是[0,1],L=40,隱含層神經元數(shù)目為14,最大迭代次數(shù)1 000。為了評估VMPSO-BP神經網絡模型的預測效果,采用BP神經網絡、PSO-BP網絡和VMPSO-BP網絡分別進行預測,其模型訓練結果見表1。
表1 BP、PSO-BP和VMPSO-BP模型訓練性能對比表
通過VMPSO來優(yōu)化BP網絡的權值和閾值,通過網絡的訓練和檢測,然后對未來28天的移動話務量進行預測,并將預測出來的結果與BP神經網絡,PSO-BP神經網絡的預測結果進行對比。其實驗最后的話務量預測曲線如圖1所示。
圖1 未來四周(28天)實際和預測的話務量(縱軸話務量的數(shù)量級為×105)
通過實驗圖,可以比較用 BP網絡,PSO-BP網絡和VMPSO-BP網絡來進行預測時產生的誤差,其具體結果如下表2所示。
表2 未來28天移動話務量的預測結果的誤差比較
提出的一種速度變異粒子群—BP神經網絡的移動話務量預測方法,經實驗表明:與BP方法和PSO-BP網絡方法相比,首先是它克服了 BP網絡容易陷入局部極小值點和粒子群優(yōu)化方法的缺陷,其次更重要的是它具有更高的預測精度和更快的收斂性。
[1] 黃海輝.一種周期時間序列的預測算法[J].計算機工程與應用,2006,42(05):71-73.
[2] 劉童,孫吉貴,張永剛.用周期模型和近鄰算法預測話務量時間序列[J].吉林大學學報:信息科學版,2007,25(03):239-245.
[3] 吳家兵,葉臨湘,尤爾科.ARIMA模型在傳染病發(fā)病率預測中的應用[J].數(shù)理醫(yī)藥學雜志,2007,20(1):90-92.
[4] YU GUO QIANG,ZHANG CHANG SHUI.Switching ARIMA Model based Forecasting for Traffic Flow[J].Acoustics,Speech and Signal Processing,2004(02):429.
[5] XIAO JIAN HUA,LIN JIAN,LIU JIN.Short-term Forecasting Model of Regional Economy based on SVR[J].Journal of System Simulation, 2005,17(12):2849-2851.
[6] 牛曉東,谷志紅,王會青,等.基于灰色支持向量機的季節(jié)型負荷預測方法[J].華東電力,2007,35(06):1-5.
[7] EBERHART R,KENNEDY J.A New Optimizer Using Particle Swarm Theory[C].Nagoya:Machine and Human Science,1995:39-43.