李 松,周亞同,池 越,何靜飛,張世立
河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津300401
網(wǎng)絡(luò)流量預(yù)測是網(wǎng)絡(luò)管理和流量業(yè)務(wù)的基礎(chǔ),對于控制、優(yōu)化網(wǎng)絡(luò)上的各種資源起著至關(guān)重要的作用。精準(zhǔn)的網(wǎng)絡(luò)流量預(yù)測可以幫助管理者設(shè)計(jì)網(wǎng)絡(luò)擁堵控制策略,合理進(jìn)行資源分配與調(diào)度,保證網(wǎng)絡(luò)的流暢度,提高網(wǎng)絡(luò)資源的利用率[1-3]。近年來提出了越來越多針對網(wǎng)絡(luò)流量的預(yù)測模型和方法。
針對網(wǎng)絡(luò)流量序列,許多學(xué)者采用線性預(yù)測模型。一般廣泛使用自回歸(AR)、滑動平均(MA)及其改進(jìn)模型預(yù)測。如:黨小超等[4]以時(shí)間點(diǎn)為基礎(chǔ),建立多元線性AR 模型預(yù)測網(wǎng)絡(luò)流量。段智彬等[5]采用分段自回歸滑動平均(ARMA)模型預(yù)測網(wǎng)絡(luò)流量。陳曉天等[6]進(jìn)一步改進(jìn)將差分自回歸求和滑動平均(FARIMA)模型引入網(wǎng)絡(luò)流量的預(yù)測中。張鳳荔等[7]依據(jù)網(wǎng)絡(luò)流量的自相似和平穩(wěn)性特征,分別采用ARMA模型、差分自回歸滑動平均(ARIMA)模型和FARIMA模型預(yù)測。
此外還有學(xué)者采用非線性模型預(yù)測網(wǎng)絡(luò)流量。其中神經(jīng)網(wǎng)絡(luò)(NN)、支持向量機(jī)(SVM)、灰色模型等應(yīng)用十分廣泛。Wei[8]提出了一種基于改進(jìn)的引力搜索算法優(yōu)化的徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)模型預(yù)測網(wǎng)絡(luò)流量。Gowrishankar等[9]基于循環(huán)徑向基函數(shù)網(wǎng)絡(luò)(RRBFN)和回聲狀態(tài)網(wǎng)絡(luò)(ESN)進(jìn)行網(wǎng)絡(luò)流量預(yù)測,準(zhǔn)確率可達(dá)96%以上。劉杰等[10]采用BP神經(jīng)網(wǎng)絡(luò)模型對網(wǎng)絡(luò)流量預(yù)測。Liu 等[11]結(jié)合SVM 和混沌理論對網(wǎng)絡(luò)流量預(yù)測。殷榮網(wǎng)[12]采用參數(shù)優(yōu)化的SVM 算法預(yù)測網(wǎng)絡(luò)流量。劉淵等[13]將最小二乘支持向量機(jī)(LS-SVM)應(yīng)用于貝葉斯框架下對分解的網(wǎng)絡(luò)流量序列預(yù)測。此外,還有許多學(xué)者的研究基于灰色理論。Jiang 等[14]利用灰色模型對網(wǎng)絡(luò)流量建模預(yù)測。曹建華等[15]在GM 模型的基礎(chǔ)上提出了改進(jìn)殘差的灰色模型預(yù)測網(wǎng)絡(luò)流量。
上述模型在預(yù)測過程中雖然取得了不錯(cuò)的效果,但仍存在一定不足。對于ARMA 等線性模型,隨著網(wǎng)絡(luò)復(fù)雜度的增加,網(wǎng)絡(luò)流量特性已經(jīng)超出傳統(tǒng)意義上認(rèn)為的泊松或者M(jìn)arkov 分布[16],因此利用線性模型進(jìn)行預(yù)測存在理論上的不足,很難保證預(yù)測的準(zhǔn)確性。對于非線性模型,神經(jīng)網(wǎng)絡(luò)容易陷入局部最小點(diǎn),網(wǎng)絡(luò)結(jié)構(gòu)難以確定。SVM 雖然需要的樣本數(shù)小,但其關(guān)鍵參數(shù)很難確定且無法輸出置信區(qū)間。而灰色模型只適合數(shù)據(jù)變化不劇烈的情況。GPM 模型是在GP 模型基礎(chǔ)上發(fā)展起來的模型,兼具人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等傳統(tǒng)模型的優(yōu)點(diǎn),不僅具有良好的泛化能力且能夠輸出置信區(qū)間[17]。因此本文采用GPM模型對網(wǎng)絡(luò)流量進(jìn)行預(yù)測。
GPM 模型是針對GP 模型對于多模態(tài)序列擬合效果不夠好的缺點(diǎn)提出的一種混合模型,其中每個(gè)組分用一個(gè)GP 刻畫。GPM 模型對樣本依概率劃分時(shí)首先設(shè)定一個(gè)隱變量Z 作為樣本的標(biāo)簽集合。本文采用多項(xiàng)式分布的門限函數(shù)生成隱變量zi。即:
πic為各樣本按照各自概率的分布列。則輸入樣本X ,輸出樣本Y 和隱變量Z 之間的關(guān)系如下:
其中,c 為GPM模型中混合成分的總個(gè)數(shù),c=1,2,…,C 表示第i 個(gè)樣本屬于第c 個(gè)GP分量。接下來,設(shè)隱變量Z=[ ]z1,z2,…,zN,輸入樣本與輸出樣本間總的分布為:
其中mc和Sc分別表示第c 個(gè)GP分量的均值和協(xié)方差函數(shù)。本文采用平方指數(shù)協(xié)方差函數(shù)[18-19]。 K 為核函數(shù)k 的矩陣形式。因此第c 個(gè)GP分量的超參數(shù)集合表示為對于輸入時(shí)間序列的不同區(qū)域,用不同參數(shù)的GP模型刻畫,從而更好地體現(xiàn)出時(shí)間序列的多模態(tài)特性。
在GPM 模型中,參數(shù)學(xué)習(xí)采用的是一種分類迭代學(xué)習(xí)算法。如圖1所示,此算法關(guān)鍵是求出隱變量Z 的后驗(yàn)概率以保證將樣本高效分配,從而通過最大似然估計(jì)得到學(xué)習(xí)樣本參數(shù)。具體步驟如下:
步驟1 輸入學(xué)習(xí)樣本,通過K-means算法將這些樣本聚類,當(dāng)作樣本最原始的分配,并將分配的結(jié)果記錄在標(biāo)簽zi中。
步驟2 針對每一組GP 分量。采用最大似然估計(jì)(MLE)計(jì)算出它們的參數(shù)估計(jì)值。各分量比例系數(shù)、均值、協(xié)方差和核參數(shù)的計(jì)算如下所示:
步驟3 按照最大后驗(yàn)概率準(zhǔn)則,重新對學(xué)習(xí)樣本進(jìn)行分組,并將分配結(jié)果記錄在標(biāo)簽zi中。即:
步驟4 若重新分組的結(jié)果與上次相同,則終止并輸出學(xué)習(xí)參數(shù)和樣本標(biāo)簽Z。否則,返回步驟2重新迭代。
圖1 GPM模型學(xué)習(xí)算法流程圖
參數(shù)學(xué)習(xí)結(jié)束后,給定新的測試樣本X*,同樣依據(jù)最大后驗(yàn)概率準(zhǔn)則將其分配到指定的組別中。然后通過以上算法最后一次迭代計(jì)算出的GP 分量參數(shù),根據(jù)GP模型預(yù)測表達(dá)式即可獲得測試樣本的預(yù)測值Y*。
本實(shí)驗(yàn)數(shù)據(jù)來源于某互聯(lián)網(wǎng)服務(wù)提供商收集的兩段網(wǎng)絡(luò)流量序列,分別記錄了兩個(gè)不同地區(qū)網(wǎng)絡(luò)流量的分時(shí)使用情況,如圖2所示。其中序列一記錄了從2005年7 月7 日到2005 年7 月31 日共25 天采樣間隔為10 min的7 386個(gè)數(shù)據(jù);序列二記錄了從2004年11月到2004 年12 月采樣間隔為15 min 的3 000 個(gè)數(shù)據(jù)。網(wǎng)絡(luò)流量序列反映的是人們對流量的使用情況,受人們工作與生活規(guī)律的影響。由圖2可知,網(wǎng)絡(luò)流量序列在不同時(shí)間段呈現(xiàn)不同的變化規(guī)律,存在時(shí)段差異性,即多模態(tài)特性。例如對于以“周”為周期的網(wǎng)絡(luò)流量序列,周一到周五為工作日,設(shè)備運(yùn)行、人員工作等對網(wǎng)絡(luò)流量需求巨大。而周六和周天為休息日,消耗的網(wǎng)絡(luò)流量將減少。因此一周內(nèi)不同時(shí)間段的網(wǎng)絡(luò)流量使用情況不盡相同。其次對于以“天”為周期的網(wǎng)絡(luò)流量序列,網(wǎng)絡(luò)流量的使用會隨著人們作息時(shí)間而起伏,且分布規(guī)律各不相同。如對于網(wǎng)絡(luò)流量序列一,周一至周五序列和周六、周天序列分別具有很強(qiáng)相似性;當(dāng)前周序列與前幾周序列具有很強(qiáng)相似性。整個(gè)序列反映出了此地區(qū)流量的使用具有明顯的周期性;對于網(wǎng)絡(luò)流量序列二,周一至周五序列和周六、周天序列仍分別具有各自周期性,但以“天”為周期的流量序列差異較大,尤其表現(xiàn)在前兩周的序列中。因此網(wǎng)絡(luò)流量序列二的規(guī)律性相對較弱。
對于這兩段以“周”或“天”為周期的網(wǎng)絡(luò)流量序列,用單個(gè)GP模型難以很好刻畫其不同時(shí)間段間的細(xì)微差異。因此,本文提出用高斯過程混合(GPM)模型預(yù)測網(wǎng)絡(luò)流量。其思路是首先基于網(wǎng)絡(luò)流量序列構(gòu)建學(xué)習(xí)樣本集,然后將樣本集進(jìn)一步細(xì)分成多個(gè)樣本組,對每個(gè)樣本組分配一個(gè)GP模型進(jìn)行學(xué)習(xí)預(yù)測。這樣既能通過大規(guī)模的GPM 協(xié)方差矩陣分解簡化參數(shù)學(xué)習(xí)過程,又精確刻畫了網(wǎng)絡(luò)流量不同時(shí)間段間的差異,提高了預(yù)測準(zhǔn)確度和速度。因此將GPM模型用于網(wǎng)絡(luò)流量預(yù)測可以較好反應(yīng)網(wǎng)絡(luò)流量序列內(nèi)部特性,從而使預(yù)測更加準(zhǔn)確高效。
為了更好地展示兩段序列的規(guī)律性和GPM模型對不同規(guī)律網(wǎng)絡(luò)流量序列的預(yù)測能力,本次實(shí)驗(yàn)分別選取兩個(gè)序列中的前1 600 個(gè)數(shù)據(jù)構(gòu)建樣本集。其中,序列一選取前600 個(gè)作為學(xué)習(xí)樣本,后1 000 個(gè)作為測試樣本;序列二選取前950 個(gè)作為學(xué)習(xí)樣本,后650 個(gè)作為測試樣本。
由于網(wǎng)絡(luò)流量序列為真實(shí)采集的實(shí)驗(yàn)數(shù)據(jù),不可避免會存在奇異值問題,需要對其進(jìn)行歸一化處理。處理后的數(shù)據(jù)將落在(0,1)區(qū)間上。這樣在很大程度上消除了量綱影響,減小了因奇異值而造成的誤差。歸一化完成后,需要將網(wǎng)絡(luò)流量序列轉(zhuǎn)化成可應(yīng)用于高斯過程混合模型回歸預(yù)測的序列對。本文基于相空間重構(gòu)理論[20-21],目的是將網(wǎng)絡(luò)流量序列信息在高維空間中充分展現(xiàn)出來。在重構(gòu)過程中,合適地嵌入維數(shù)d 和時(shí)間延遲τ 對于預(yù)測結(jié)果具有重要意義。它們不僅可以在高維空間中充分展現(xiàn)出網(wǎng)絡(luò)流量序列的信息,以便GPM模型獲得更高的預(yù)測精度,而且還不易引入過大噪聲。由于假近鄰法和自相關(guān)法獲取d 、τ 時(shí)比較耗時(shí),本文通過建立( )d,τ 二元組,采用網(wǎng)格遍歷法取值,通過評價(jià)指標(biāo)得到最優(yōu)的d 和τ。
為了展示GPM 模型預(yù)測效果的好壞,本文采用以下兩個(gè)評價(jià)指標(biāo):
圖2 網(wǎng)絡(luò)流量序列
其中,yp( i )為預(yù)測值,yt( i )為真實(shí)值,ym為預(yù)測樣本均值。 RMSE 為均方根誤差,對過大或過小誤差較靈敏,能夠反映模型的預(yù)測精度,RMSE 越小表示預(yù)測效果越好。 R2為決定系數(shù),反映了模型的擬合程度,R2越大表示預(yù)測效果越好。
GPM 模型用于網(wǎng)絡(luò)流量預(yù)測時(shí),主要待求參數(shù)為模態(tài)數(shù)C,相空間重構(gòu)的嵌入維數(shù)d 和時(shí)間延遲τ。它們的好壞直接影響著GPM模型預(yù)測準(zhǔn)確度。本文采用網(wǎng)格遍歷法獲取最佳參數(shù)。首先固定C 不變,d 從1到8,τ 從1 到6 遍歷取值,通過比較RMSE 和R2大小選擇出最佳的d 和τ,結(jié)果如圖3。
如圖3 所示,參數(shù)d 取7、τ 取1 時(shí)的RMSE 值最小,R2值最大,由此可知在較大嵌入維數(shù)d 和較小時(shí)延τ 下模型的預(yù)測準(zhǔn)確度最優(yōu)。在此參數(shù)取值的前提下,設(shè)置模態(tài)數(shù)C 從1 到6 遍歷取值,通過比較RMSE 和R2大小選出最佳的模態(tài)數(shù)C,結(jié)果如圖4。
圖4 RMSE、R2 隨C 的變化取值
如圖4 所示,模態(tài)數(shù)C=2 時(shí),RMSE 值取得最小,R2值取得最大,此模態(tài)下的預(yù)測效果最佳。在獲得模型最優(yōu)參數(shù)后,對網(wǎng)絡(luò)流量序列一預(yù)測,得到圖5 所示的預(yù)測結(jié)果。圖5(a)中紅色星線為預(yù)測值,藍(lán)色曲線為真實(shí)值。從圖中可以看出真實(shí)值曲線與預(yù)測值曲線的貼合度很高,表明GPM 具有較高的預(yù)測準(zhǔn)確度。圖5(b)為網(wǎng)絡(luò)流量序列一真實(shí)值與預(yù)測值對比點(diǎn)狀圖,橫、縱坐標(biāo)分別表示網(wǎng)絡(luò)流量序列一真實(shí)值和預(yù)測值。圖中藍(lán)色點(diǎn)越接近主對角線說明預(yù)測效果越好。紅色直線為藍(lán)色點(diǎn)擬合直線,坐標(biāo)方程y=0.987 8x+0.003 2,與主對角線方程y=x 非常接近,證明GPM模型的預(yù)測結(jié)果非??煽?。
圖6給出了網(wǎng)絡(luò)流量序列一預(yù)測置信區(qū)間圖,對預(yù)測不確定性范圍給出了定量限制,更好地表示了網(wǎng)絡(luò)流量預(yù)測結(jié)果可信性。其中藍(lán)色曲線代表置信區(qū)間的上界,紅色曲線代表置信區(qū)間的下界。由圖可以看出,在曲線的上升和下降部分置信區(qū)間的貼合度十分緊密,表明此部分的預(yù)測可靠性高、效果好。在曲線拐點(diǎn)部分,由于此處數(shù)據(jù)抖動幅度較大,平穩(wěn)性較差,貼合度弱于上述兩部分,GPM模型的預(yù)測可靠性稍弱。
GPM模型優(yōu)勢是采用多個(gè)GP模型來刻畫數(shù)據(jù),而網(wǎng)絡(luò)流量序列隨著時(shí)間變化存在著時(shí)段間的差異。為了更好展示GPM 模型的預(yù)測效果和網(wǎng)絡(luò)流量序列的特性,圖7給出了測試樣本多模態(tài)預(yù)測效果展示。圖中不同顏色的點(diǎn)代表了網(wǎng)絡(luò)流量不同模態(tài)的數(shù)據(jù)劃分。圖7(a)為C=1 時(shí)模態(tài)效果圖,此時(shí)GPM 模型退化為GP 模型。圖7(b)為C=2 時(shí)模態(tài)效果圖,由圖5 可知,此時(shí)RMSE 最小,R2最大,預(yù)測效果最佳。由于工作日晚上和周末屬于人們休息時(shí)間,網(wǎng)絡(luò)流量的使用相對較少,用紅色模態(tài)來描述。而工作日的白天人們處于工作狀態(tài),大量的互聯(lián)網(wǎng)設(shè)備消耗著巨大的網(wǎng)絡(luò)流量,因此藍(lán)色模態(tài)對其進(jìn)行了很好的描述。圖7(c)中C=3時(shí),對非工作日狀態(tài)下網(wǎng)絡(luò)流量使用的高、低峰值進(jìn)行了模態(tài)劃分。圖7(d)中C=4 時(shí),則又加入了對工作日中網(wǎng)絡(luò)流量使用高、低峰值的模態(tài)劃分。相比于C=2模態(tài),C=3 和C=4 模態(tài)的擬合效果細(xì)碎,反而整體的預(yù)測精度略低于C=2 模態(tài)。
圖5 網(wǎng)絡(luò)流量序列一預(yù)測結(jié)果
圖6 網(wǎng)絡(luò)流量序列一預(yù)測置信區(qū)間
圖7 網(wǎng)絡(luò)流量序列一在不同模態(tài)下的預(yù)測結(jié)果
為了更好地表現(xiàn)出GPM 模型的優(yōu)勢,在不同參數(shù)下將GPM模型與傳統(tǒng)模型分別用于網(wǎng)絡(luò)流量序列一預(yù)測。本文選取的傳統(tǒng)模型為SVM、核回歸(KR)、最大最小概率機(jī)回歸(MPMR)和單個(gè)GP模型。其中SVM[22]是一種非常典型的機(jī)器學(xué)習(xí)模型。它基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,通過有限個(gè)學(xué)習(xí)樣本獲得最小的預(yù)測誤差,已廣泛應(yīng)用于風(fēng)電功率、網(wǎng)絡(luò)流量、股市預(yù)測。KR[23]是一種基于核的預(yù)測模型,通過設(shè)置核函數(shù)作為權(quán)值的分布函數(shù)并優(yōu)化核參數(shù),得到誤差最小的最佳預(yù)測結(jié)果,一直作為預(yù)測模型的基礎(chǔ)。MPMR[24-25]對于序列分布不需要提前假設(shè),是在最大化預(yù)測值介于實(shí)際回歸函數(shù)某個(gè)界的最小概率下建立起來的模型,對于非線性時(shí)間序列具有良好的預(yù)測效果。GP模型是GPM模型的基礎(chǔ),也廣泛用于單一模態(tài)的時(shí)間序列預(yù)測。表1通過選擇8組不同的d 和τ 組合,對比SVM、KR、MPMR、GP 和GPM模型對網(wǎng)絡(luò)流量序列一的預(yù)測效果。
由表1 可以看出,通過比較RMSE 和R2,GPM 模型在網(wǎng)絡(luò)流量序列一中的預(yù)測效果均好于其他四種模型。此外,通過對比發(fā)現(xiàn)隨著d 的增加和τ 的減少,模型的預(yù)測效果越來越好。在d=7、τ=1 時(shí)RMSE 取得最小值為0.020 9,R2取得最大值為0.994 0。
表1 網(wǎng)絡(luò)流量序列一的五種模型預(yù)測對比
如圖8 所示為抽取一個(gè)周期區(qū)間上的五種模型預(yù)測誤差對比曲線圖,通過對比可以更直觀地表現(xiàn)五種模型預(yù)測細(xì)節(jié)與能力。為了更清晰地展示曲線效果,圖8(a)~(d)區(qū)間大小均為35。其中紅色曲線為GPM模型預(yù)測誤差曲線。在多數(shù)情況下,無論在波峰處或波谷處,GPM預(yù)測誤差值都要優(yōu)于其他模型,整體預(yù)測效果最優(yōu)。
圖8 五種模型部分區(qū)間預(yù)測誤差對比
與網(wǎng)絡(luò)流量序列一預(yù)測相同,本實(shí)驗(yàn)同樣采用網(wǎng)格遍歷法取得最佳參數(shù)d=5,τ=1,c=2。然后將GPM模型用于網(wǎng)絡(luò)流量序列二預(yù)測,得到如圖9所示預(yù)測結(jié)果,表明GPM模型仍取得良好的預(yù)測效果。
圖9 網(wǎng)絡(luò)流量序列二預(yù)測結(jié)果
圖10 網(wǎng)絡(luò)流量序列二在不同模態(tài)下的預(yù)測結(jié)果
圖10 為GPM 模型用于網(wǎng)絡(luò)流量序列二預(yù)測時(shí)的多模態(tài)效果圖。模態(tài)數(shù)C=2 時(shí),GPM模型達(dá)到最佳預(yù)測效果。
在最佳d 和τ(d=5,τ=1)下,將5.1節(jié)中五種模型分別用于本實(shí)驗(yàn)的網(wǎng)絡(luò)流量序列二預(yù)測。現(xiàn)將預(yù)測的RMSE 值和R2值列于表2。可以看出GPM模型預(yù)測效果要好于其他四種模型,最佳結(jié)果為RMSE=0.021 2、R2=0.988 1。
表2 網(wǎng)絡(luò)流量序列二的五種模型預(yù)測對比
本文將GPM 模型用于網(wǎng)絡(luò)流量的多模態(tài)預(yù)測,并通過采集的兩組網(wǎng)絡(luò)流量序列驗(yàn)證。模型采用分類迭代學(xué)習(xí)算法,此算法很好地實(shí)現(xiàn)了模態(tài)分配和模型參數(shù)學(xué)習(xí)。對序列進(jìn)行相空間重構(gòu)時(shí),通過網(wǎng)格遍歷法搜尋到最佳d 和τ 。發(fā)現(xiàn)d 的增加和τ 的減少會增加預(yù)測準(zhǔn)確度,當(dāng)增加和減少到合適值時(shí)到達(dá)最佳。模態(tài)數(shù)反映了網(wǎng)絡(luò)流量序列不同部分的內(nèi)在規(guī)律,最優(yōu)模態(tài)數(shù)的選擇沒有明顯規(guī)律,本文通過網(wǎng)格遍歷法得到兩組網(wǎng)絡(luò)流量序列的最佳模態(tài)數(shù)。最后在選取的d 和τ 下,本文將SVM、KR、MPMR和GP模型分別用于兩組網(wǎng)絡(luò)流量序列預(yù)測,并通過RMSE 和R2與GPM模型對比,發(fā)現(xiàn)GPM模型優(yōu)于其他四種模型。