俞秀婷,覃錫忠,賈振紅,傅云瑾,曹傳玲,常 春
(1.新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊830046;2.中國(guó)移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司,北京100080;3.中國(guó)移動(dòng)通信集團(tuán)新疆有限公司,新疆 烏魯木齊830063)
灰色系統(tǒng)理論[1]提供了一種可以在貧信息情況下解決系統(tǒng)問題的新途徑,該理論對(duì)灰色量是用數(shù)據(jù)生成的方法,將分布規(guī)律較弱的原始數(shù)據(jù)整理成規(guī)律性較強(qiáng)的數(shù)列再進(jìn)行研究,而不是從尋找統(tǒng)計(jì)規(guī)律的角度出發(fā)對(duì)大樣本數(shù)據(jù)進(jìn)行研究。在灰色系統(tǒng)中建立的模型被稱為灰色模型[2](GM),它可以預(yù)測(cè)貧信息、小樣本、不確定系統(tǒng)特征值的發(fā)展趨勢(shì)。神經(jīng)網(wǎng)絡(luò)具有并行性處理,非線性映射、容錯(cuò)力強(qiáng)和自適應(yīng)能力等優(yōu)點(diǎn)??梢猿浞掷没疑A(yù)測(cè)模型和神經(jīng)網(wǎng)絡(luò)模型的相似性和互補(bǔ)性,將兩個(gè)模型結(jié)合,建立灰色神經(jīng)網(wǎng)絡(luò)[3-7]模型。雖然GNN 模型的建立彌補(bǔ)了單一使用灰色模型或者神經(jīng)網(wǎng)絡(luò)技術(shù)解決問題的不足,但是模型中的參數(shù)具有很大的隨機(jī)性,網(wǎng)絡(luò)在訓(xùn)練時(shí)容易陷入局部最優(yōu)導(dǎo)致模型逼近能力弱、預(yù)測(cè)精度不高。本文采用改進(jìn)的粒子群優(yōu)化算法來優(yōu)化灰色神經(jīng)網(wǎng)絡(luò)的初始參數(shù),使網(wǎng)絡(luò)的預(yù)測(cè)值更加逼近真實(shí)值,提高了網(wǎng)絡(luò)的預(yù)測(cè)精度。
灰色系統(tǒng)與神經(jīng)網(wǎng)絡(luò)技術(shù)有多種組合方式[8],根據(jù)兩者的融合方法,灰色神經(jīng)網(wǎng)絡(luò)模型可分為串聯(lián)型灰色神經(jīng)網(wǎng)絡(luò) (SGNN)、并聯(lián)型灰色神經(jīng)網(wǎng)絡(luò) (PGNN)、嵌入型灰色神經(jīng)網(wǎng)絡(luò) (IGNN)和混合型灰色神經(jīng)網(wǎng)絡(luò) (BGNN)4種模型,本文采用混合型研究灰色神經(jīng)網(wǎng)絡(luò),這種模型增加了網(wǎng)絡(luò)的并行處理能力,可以提高GNN 模型的預(yù)測(cè)精度。
設(shè)原始數(shù)據(jù)序列為x(t)(t=1,2,3,…,n),累加生成數(shù)據(jù)序列為y(t)(t=1,2,3,…,n),其用數(shù)學(xué)表示為
將累加生成的數(shù)列建立微分方程,得到n 個(gè)參數(shù)對(duì)應(yīng)的灰色神經(jīng)網(wǎng)絡(luò)模型的微分方程
式中:y2,y3,…,yn——輸入數(shù)據(jù),y1——輸出數(shù)據(jù),a,b1,b2,…,bn-1——微分方程參數(shù),組成GNN 的初始參數(shù)。式 (2)的時(shí)間響應(yīng)表達(dá)式為
將式 (4)映射到一個(gè)擴(kuò)展的BPNN 中即可得到一個(gè)GNN 模型,其拓?fù)浣Y(jié)構(gòu)如圖1所示。
由圖1可看出,灰色神經(jīng)網(wǎng)絡(luò)分為4層,分別記為L(zhǎng)A層、LB層、LC 層、LD 層,其中t 為輸入?yún)?shù)序號(hào),y2(t),y3(t),y4(t),…,yn(t)表示網(wǎng)絡(luò)輸入變量,y1表示網(wǎng)絡(luò)輸出變量。w11表示LA 層到LB 層的連接權(quán)值,w21,w22,…,w2n表示LB 層到LC 層的連接權(quán)值,w31,w32,…,w3n表示LC 層到LD 層的連接權(quán)值。網(wǎng)絡(luò)的初始參數(shù)w11=a,w21=-y1(0),w2i=2bi-1/a,(i=1,2,…,n),w3j=1+e-at,(j=1,2,…,n)。每一層上神經(jīng)元的輸出值可由以下公式計(jì)算給出
圖1 灰色神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
其中,θ為輸出層的閾值,θ= (1+e-at)(d-y1(0)),LB層上神經(jīng)元的轉(zhuǎn)移函數(shù)取Sigmoid型函數(shù):f(x)=1/ (1+e-x),其它層神經(jīng)元的轉(zhuǎn)移函數(shù)取線性函數(shù):f(x)=x。在網(wǎng)絡(luò)訓(xùn)練過程中,通過計(jì)算網(wǎng)絡(luò)的期望輸出與預(yù)測(cè)輸出的誤差值,反向調(diào)整灰色神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,其迭代公式如下:
其中輸出層LD 的誤差σ
LC層的誤差σk
LB層的誤差σn+1
權(quán)值和閾值的計(jì)算
將誤差公式帶入式 (12),式 (13)進(jìn)行權(quán)值和閾值的迭代更新。
PSO 算 法[9-13]是 將 每 個(gè) 個(gè) 體 看 作D 維 搜 索 空 間 中 的 一個(gè)沒有體積的粒子,根據(jù)對(duì)環(huán)境的適應(yīng)度將種群中的粒子個(gè)體移動(dòng)到更好的區(qū)域,第i個(gè)粒子表示為Xi=(xi1,xi2,…,xid)(1≤d≤D),經(jīng)歷過的最優(yōu)位置為Pi= (pi1,pi2,…,pid)(1≤d≤D),記為個(gè)體最優(yōu)解pbest。群體中的所有粒子經(jīng)歷的最優(yōu)位置為Pk,記為全局最優(yōu)解gbest。粒子i的速度為vi= (vi1,vi2,…,vid)(1≤d≤D)。每一代粒子的速度、位置的更新和適應(yīng)度函數(shù)的計(jì)算通過如下公式得到
式 (14)中慣性權(quán)重w 的迭代公式為
其中,k為進(jìn)化代數(shù),c1和c2為加速常數(shù),rand為 [0,1]內(nèi)的隨機(jī)數(shù),N 為種群中粒子的個(gè)數(shù),yi為粒子i 的實(shí)際輸出,y′為粒子i的期望輸出,wmin,wmax分別為慣性權(quán)重的最大值和最小值,Tmax為設(shè)定的最大迭代次數(shù)。
PSO 算法是一種基于群體協(xié)作的隨機(jī)搜索算法,在隨機(jī)搜索后期,容易出現(xiàn)早熟收斂的現(xiàn)象。這里通過給定一個(gè)閾值h,一般設(shè)定h→0,當(dāng)粒子的速度vi小于這個(gè)閥值時(shí),通過添加一個(gè)加速動(dòng)量,重新初始化速度,且使-vmax≤vi≤vmax,然后讓粒子重新飛行搜索,重新分布原來可能會(huì)出現(xiàn)的早熟粒子,擴(kuò)展搜索以找到全局最優(yōu)的位置,上述過程可表達(dá)為
式(18)中v′id表示改進(jìn)后粒子的速度,λ表示優(yōu)化系數(shù),m (0<m<1)表示隨機(jī)變量參數(shù),pid表示速度變化后經(jīng)歷粒子的最優(yōu)位置;x′id表示速度變化后粒子所處的位置。在算法中優(yōu)化系數(shù)λ有著重要的作用,λ取值過大或過小都會(huì)影響優(yōu)化的效果,λ取值過小可能導(dǎo)致粒子速度變化不大,優(yōu)化不明顯,λ取值過大導(dǎo)致重新初始化粒子速度過大,影響粒子的收斂性,也可能使粒子跳過全局最優(yōu)值,反而不能找到最優(yōu)值。這里優(yōu)化系數(shù)的值由下式確定
IPSO-GNN 計(jì)算的實(shí)現(xiàn)大體分為3個(gè)階段:GNN 模型結(jié)構(gòu)的確定、PSO 算法的改進(jìn)以及網(wǎng)絡(luò)的仿真,其具體步驟如下:
(1)根據(jù)給出的訓(xùn)練樣本,構(gòu)建灰色神經(jīng)網(wǎng)絡(luò)模型,確定模型參數(shù)a,bi的個(gè)數(shù)和網(wǎng)絡(luò)的連接權(quán)值和閾值,初始化參數(shù)。
(2)對(duì)給定的訓(xùn)練樣本進(jìn)行歸一化和預(yù)處理。
(3)把灰色神經(jīng)網(wǎng)絡(luò)模型的參數(shù)a,bi作為粒子群算法中的粒子,初始化粒子的加速常數(shù),慣性權(quán)重的最大、最小值以及最大迭代次數(shù);初始化粒子的速度、位置,確定粒子的初始最優(yōu)值和全局最優(yōu)值。
(4)用式 (16)作為粒子的適應(yīng)度函數(shù),計(jì)算粒子的適應(yīng)度值。若粒子的當(dāng)前位置比歷史最優(yōu)位置好,則把當(dāng)前位置作為粒子的最優(yōu)位置;若當(dāng)前的適應(yīng)度函數(shù)值優(yōu)于種群的歷史最優(yōu)值,則替換種群的最優(yōu)位置。反之,則保持歷史最優(yōu)位置不變。
(5)比較給定的速度閾值h 和當(dāng)前的粒子速度大小,若當(dāng)前的粒子速度小于h,則給定一個(gè)加速動(dòng)量,按式(18)計(jì)算新的速度,返回步驟 (2),重新進(jìn)行優(yōu)化。
(6)判斷是否滿足PSO 算法的結(jié)束條件 (達(dá)到最大迭代次數(shù)或小于給定誤差),如果滿足,則把尋找到的全局最優(yōu)解作為模型參數(shù)a,bi的值,否則返回步驟 (2)重新搜索。
(7)利用確定的網(wǎng)絡(luò)輸入訓(xùn)練樣本進(jìn)行訓(xùn)練,利用式(9),式 (10)和式 (11)計(jì)算誤差,再根據(jù)式 (12)和式(13)更新網(wǎng)絡(luò)的權(quán)值和閾值。
(8)利用訓(xùn)練好的網(wǎng)絡(luò)對(duì)忙時(shí)話務(wù)量進(jìn)行預(yù)測(cè),并對(duì)預(yù)測(cè)值與真實(shí)值進(jìn)行分析。
觀察新疆A,B兩地區(qū)2014年1月1日到2月28日的話務(wù)量數(shù)據(jù),對(duì)每天的話務(wù)量每隔一小時(shí)統(tǒng)計(jì)一次,每天記錄24個(gè)數(shù)據(jù),將這24個(gè)數(shù)據(jù)作為每天0到23點(diǎn)的話務(wù)量值,并找出每天24個(gè)數(shù)據(jù)中的最大值作為當(dāng)天的忙時(shí)話務(wù)量,共得到59個(gè)忙時(shí)話務(wù)量數(shù)據(jù)。收集A,B 兩個(gè)地區(qū)2014年1月1日到2月28日每天17點(diǎn)到21點(diǎn)共59×5個(gè)話務(wù)量數(shù)據(jù),將這些話務(wù)量數(shù)據(jù)作為灰色神經(jīng)網(wǎng)絡(luò)輸入值,對(duì)應(yīng)的每天的忙時(shí)話務(wù)量數(shù)據(jù)作為網(wǎng)絡(luò)輸出值,進(jìn)行網(wǎng)絡(luò)訓(xùn)練預(yù)測(cè)。
從收集的數(shù)據(jù)中,選取前49天的數(shù)據(jù)作為訓(xùn)練樣本,后10天的數(shù)據(jù)作為測(cè)試樣本。用改進(jìn)PSO-GNN 模型進(jìn)行尋優(yōu)、訓(xùn)練和預(yù)測(cè)。文中灰色神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)采用1-1-6-1,改進(jìn)PSO 算法中初始參數(shù)設(shè)置:加速常數(shù)c1=c2=2,最大迭代次數(shù)Tmax=100,慣性權(quán)重wmin=0.2,wmax=0.9,粒子速度vmin=-1,vmax=1。選取PSO-GNNM、GNN 和BPNN 作為對(duì)比模型,對(duì)比模型中參數(shù)的初始參數(shù)值與IPSO 灰色神經(jīng)網(wǎng)絡(luò)模型取值相同,BPNN 的隱含層神經(jīng)元取11個(gè),預(yù)測(cè)誤差評(píng)價(jià)通過式 (21)給出
式中:G——預(yù)測(cè)值,G′——真實(shí)值,k——訓(xùn)練次數(shù)。用4種模型分別對(duì)A,B 地區(qū)的話務(wù)量預(yù)測(cè),并記錄這4 種模型預(yù)測(cè)誤差,結(jié)果如圖2、圖3和表1所示。
圖2 A 地區(qū)話務(wù)量預(yù)測(cè)
圖3 B地區(qū)話務(wù)量預(yù)測(cè)
表1 A,B兩地區(qū)話務(wù)量預(yù)測(cè)誤差統(tǒng)計(jì)
由圖2和圖3中可以看出,運(yùn)用IPSO-GNN 模型預(yù)測(cè)忙時(shí)話務(wù)量比PSO-GNN,GNN 和BPNN 模型具有更好的預(yù)測(cè)效果,更加接近于真實(shí)值。表1中,分析各個(gè)模型的預(yù)測(cè)誤差發(fā)現(xiàn),對(duì)于新疆A 和B 地區(qū)而言,BPNN 模型的誤差均值分別為7.23%和6.84%,GNN 模型的誤差均值分別為5.79%和5.37%,可見在樣本較少的預(yù)測(cè)問題上,GNN 模型的預(yù)測(cè)效果要優(yōu)于BPNN 模型;同時(shí),PSOGNN 模型的誤差均值分別為3.89%和3.73%,IPSO-GNN模型的誤差均值分別為2.59%和2.55%,比較預(yù)測(cè)結(jié)果發(fā)現(xiàn),IPSO 算法具有更好的全局搜索尋優(yōu)能力,在預(yù)測(cè)的精度上,IPSO-GNN 具有最高的預(yù)測(cè)精度,誤差要小于其它3種模型。這說明IPSO 算法、GM 模型和BPNN 模型的集成模型能夠綜合各個(gè)單一模型的長(zhǎng)處,更好地挖掘話務(wù)量序列背后的復(fù)雜線性與非線性特征,改善了模型的預(yù)測(cè)性能。
本文充分利用了神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性映射能力和灰色預(yù)測(cè)建模所需樣本較少、方法簡(jiǎn)單的優(yōu)點(diǎn),將神經(jīng)網(wǎng)絡(luò)理論和灰色理論結(jié)合起來,組成GNN 模型,在一定程度上達(dá)到了取長(zhǎng)補(bǔ)短的效果。然后,針對(duì)PSO 算法在粒子尋優(yōu)過程粒子的速度可能小于一定閥值而陷入局部最優(yōu)導(dǎo)致不能達(dá)到全局最優(yōu)的缺點(diǎn),提出了當(dāng)粒子速度小于這個(gè)閥值時(shí),對(duì)粒子施加一個(gè)沖量,使其位置更新,促使粒子群達(dá)到全局最優(yōu)。最后,運(yùn)用IPSO 算法對(duì)GNN 模型的參數(shù)進(jìn)行尋優(yōu),提出了IPSO-GNN 模型,并運(yùn)用于忙時(shí)話務(wù)量的預(yù)測(cè)。結(jié)果表明,相比于PSO-GNN、GNN 和BPNN模型,IPSO-GNN 模型具有更高的預(yù)測(cè)精度,是一種可靠的話務(wù)量預(yù)測(cè)方法。由于研究時(shí)間有限,文中針對(duì)忙時(shí)話務(wù)量預(yù)測(cè)建立的IPSO-GNN 模型,除了對(duì)話務(wù)量預(yù)測(cè)研究外,可考慮將其研究對(duì)象的范圍擴(kuò)大。
[1]Kayacan E,Ulutas B,Kaynak O.Grey system theory-based models in time series prediction [J].Expert Systems with Applications,2010,37 (2):1784-1789.
[2]Lin JJ,Sun PT,Chen JJR,et al.Applying gray model to predicting trend of textile fashion colors [J].The Journal of the Textile Institute,2010,101 (4):360-368.
[3]Zhou D.A new hybrid grey neural network based on grey verhulst model and BP neural network for time series forecasting[J].International Journal of Information Technology &Computer Science,2013,5 (10):114-120.
[4]WU Yiping,TENG Weifu,LI Yawei.Application of greyneural network model to landslide deformation prediction [J].Chinese Journal of Rock Mechanics and Engineering,2007,26(3):632-636 (in Chinese). [吳益平,滕偉福,李亞偉.灰色-神經(jīng)網(wǎng)絡(luò)模型在滑坡變形預(yù)測(cè)中的應(yīng)用 [J].巖石力學(xué)與工程學(xué)報(bào),2007,26 (3):632-636.]
[5]Zhang D,Ren Z,Bi Y,et al.Power load forecasting based on grey neural network [C]//IEEE International Symposium on Industrial Electronics.IEEE,2008:1885-1889.
[6]Zeng B,Zou JX,Li K,et al.Wind speed prediction based on improved grey neural network model[C]//Applied Mechanics and Materials,2014:1235-1240.
[7]He Q,Chen G,Chen X,et al.Life prediction of hydraulic pump based on an improved grey neural network [J].Zhongguo Jixie Gongcheng (China Mechanical Engineering),2013,24 (4):500-506.
[8]FAN Yanmin.Prediction on stock index based on grey neural network [D].Beijing:Beijing University of Technology,2011 (in Chinese).[范艷敏.基于灰色神經(jīng)網(wǎng)絡(luò)的股指預(yù)測(cè)方法研究 [D].北京:北京工業(yè)大學(xué),2011.]
[9]Selvakumar AI,Thanushkodi K.A new particle swarm optimization solution to nonconvex economic dispatch problems[J].IEEE Transactions on Power Systems,2007,22 (1):42-51.
[10]Ting CJ,Wu KC,Chou H.Particle swarm optimization algorithm for the berth allocation problem [J].Expert Systems with Applications,2014,41 (4):1543-1550.
[11]MA Jiming,XU Zhongren, WANG Bingzheng.A PSObased combined forecasting grey neural network model[J].Computer Engineering & Science,2012,34 (2):146-149(in Chinese).[馬吉明,徐忠仁,王秉政.基于粒子群優(yōu)化的灰色神經(jīng)網(wǎng)絡(luò)組合預(yù)測(cè)模型研究 [J].計(jì)算機(jī)工程與科學(xué),2012,34 (2):146-149.]
[12]Cakir O,Kaya I,Yazgan A,et al.Emitter Location Finding using Particle Swarm Optimization [J].Radioengineering,2014,23 (1):253.
[13]Li GD,Masuda S,Yamaguchi D,et al.The optimal GNNPID control system using particle swarm optimization algorithm[J].International Journal of Innovative Computing,Information and Control,2009,5 (10):3457-3469.