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