一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò)流量預(yù)測方法
【專利摘要】本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò)流量預(yù)測方法,首先對(duì)流量數(shù)據(jù)進(jìn)行小波分解并利用經(jīng)典神經(jīng)網(wǎng)絡(luò)方法對(duì)最高層的細(xì)節(jié)分量和近似分量進(jìn)行預(yù)測;然后由高到低逐層完成對(duì)細(xì)節(jié)分量的預(yù)測,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,通過代價(jià)函數(shù)將細(xì)節(jié)分量的層內(nèi)關(guān)聯(lián)性和層間關(guān)聯(lián)性進(jìn)行融合,提高對(duì)各層細(xì)節(jié)分量的預(yù)測精度;最后,通過小波重構(gòu)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的精確預(yù)測。本發(fā)明對(duì)小波神經(jīng)網(wǎng)絡(luò)流量預(yù)測算法中各層分量無關(guān)聯(lián)預(yù)測的缺點(diǎn)進(jìn)行了改進(jìn),考慮了層間相關(guān)性和層內(nèi)相關(guān)性,采用冗余小波方案對(duì)流量進(jìn)行分解,克服了小波變換的移變性;通過修改代價(jià)函數(shù),利用相鄰層的信息來提高對(duì)細(xì)節(jié)分量的預(yù)測精度,從而提高整體流量的預(yù)測精度。
【專利說明】
一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò)流量預(yù)測方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò)流量預(yù) 測方法。
【背景技術(shù)】
[0002] 計(jì)算機(jī)及通信技術(shù)的發(fā)展給人們的生活帶來極大便利,網(wǎng)絡(luò)如今已成為體現(xiàn)社會(huì) 經(jīng)濟(jì)變動(dòng)、改變?nèi)藗兩钚螒B(tài)的關(guān)鍵環(huán)節(jié)。與此同時(shí),如何在有限網(wǎng)絡(luò)資源的約束下滿足用 戶對(duì)于網(wǎng)絡(luò)服務(wù)質(zhì)量越來越高的需求,也成為一個(gè)廣受關(guān)注的問題。網(wǎng)絡(luò)流量是衡量網(wǎng)絡(luò) 服務(wù)性能、記錄用戶行為的重要參數(shù),對(duì)其進(jìn)行精確的預(yù)測對(duì)于網(wǎng)絡(luò)運(yùn)行狀況有指示性作 用,并可以作為流量控制、故障管理以及帶寬分配等工作的依據(jù)。
[0003] 流量預(yù)測的核心問題就是利用歷史數(shù)據(jù)來對(duì)未來某個(gè)時(shí)段或時(shí)刻的流量值進(jìn)行 估計(jì)。隨著不斷發(fā)展的智能算法在各個(gè)領(lǐng)域的成功應(yīng)用,其靈活有效的學(xué)習(xí)方式以及良好 的非線性映射能力,在流量預(yù)測領(lǐng)域的應(yīng)用有著非常巨大的潛力和優(yōu)勢。而人工神經(jīng)網(wǎng)絡(luò) 由于其優(yōu)異的記憶、學(xué)習(xí)以及計(jì)算功能,對(duì)于混沌性網(wǎng)絡(luò)流量預(yù)測有著很好的適應(yīng)性?,F(xiàn)有 研究主要集中在Elman、MLP、BP和、BRF等神經(jīng)網(wǎng)絡(luò)上,與其他算法相比由于預(yù)測步數(shù)對(duì)精度 的影響較小,在長期預(yù)測方面有著極大的優(yōu)勢。然而由于網(wǎng)絡(luò)流量數(shù)據(jù)振蕩范圍過大,單純 的神經(jīng)網(wǎng)絡(luò)算法表現(xiàn)收斂速度慢、易陷入局部極小的缺陷。為克服上述缺點(diǎn),有學(xué)者利用小 波分解與重構(gòu),來加快其收斂速率。然而其在對(duì)各項(xiàng)不同頻率的序列進(jìn)行訓(xùn)練學(xué)習(xí)時(shí),只是 依據(jù)單一層內(nèi)的小波系數(shù)進(jìn)行預(yù)測,并沒有考慮到各層間的關(guān)聯(lián)性,使得預(yù)測精確性有待 提尚。
【發(fā)明內(nèi)容】
[0004] 針對(duì)上述【背景技術(shù)】中提到的問題,本發(fā)明提出了一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò) 流量預(yù)測方法,包括:
[0005] 步驟1:將原始流量數(shù)據(jù)利用冗余小波進(jìn)行J層分解,J為整數(shù),取值為3~5;
[0006] 步驟2:利用經(jīng)典神經(jīng)網(wǎng)絡(luò)預(yù)測方法對(duì)第J層的細(xì)節(jié)分量與近似分量進(jìn)行預(yù)測,并 令j=J;
[0007] 步驟3:建立考慮小波層間關(guān)聯(lián)和層內(nèi)關(guān)聯(lián)的代價(jià)函數(shù);
[0008] 步驟4:將第j層和第j-Ι層的細(xì)節(jié)分量作為神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)完成對(duì)第j-Ι層細(xì) 節(jié)分量的預(yù)測,通過代價(jià)函數(shù)將細(xì)節(jié)分量的層內(nèi)關(guān)聯(lián)性和層間關(guān)聯(lián)性進(jìn)行融合;
[0009] 步驟5:若j>2則令j = j_l,返回步驟4,否則執(zhí)行步驟6;
[0010] 步驟6:通過小波重構(gòu)完成對(duì)流量的預(yù)測。
[0011] 所述步驟3的代價(jià)函數(shù)的計(jì)算公式為:
[001 2 ] E ( j ) = Einter ( j ) +Eintra ( j )
[0013] 其中:
[0014] E(j)為對(duì)第j層細(xì)節(jié)分量進(jìn)行訓(xùn)練時(shí)的代價(jià)函數(shù);
[0015] Einter(j)為代價(jià)函數(shù)的層內(nèi)關(guān)聯(lián)部分;
[0016] Eintra(j)為代價(jià)函數(shù)的層間關(guān)聯(lián)部分。
[0017]所述Einter( j)的計(jì)算公式為:
[0018]
[0019]其中:
[0020] N為輸出層節(jié)點(diǎn)數(shù);
[0021 ] Cl(n)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)實(shí)際輸出;
[0022] r>)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)期望輸出。
[0023]所述步驟4具體包括:
[0024] 步驟4.1:分別確定第j-Ι層各細(xì)節(jié)分量的最大和最小值、各層神經(jīng)元個(gè)數(shù)、傳遞函 數(shù)、訓(xùn)練函數(shù)、權(quán)值和閾值學(xué)習(xí)算法、性能函數(shù)以構(gòu)建新型神經(jīng)網(wǎng)絡(luò);
[0025] 步驟4.2:對(duì)新型神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行初始化;
[0026] 步驟4.3:將第j-Ι層和第j層的細(xì)節(jié)分量作為輸入數(shù)據(jù),對(duì)改變代價(jià)函數(shù)后的神經(jīng) 網(wǎng)絡(luò)進(jìn)行訓(xùn)練;
[0027]步驟4.4:對(duì)第j-Ι層細(xì)節(jié)分量進(jìn)行預(yù)測;
[0028] 步驟4.5:令j = j-Ι,重復(fù)步驟4.1至4.4,直至所有細(xì)節(jié)分量都預(yù)測完畢即j = 1。
[0029] 本發(fā)明的有益效果在于:在小波系數(shù)預(yù)測階段,同時(shí)考慮了層間相關(guān)性和層內(nèi)相 關(guān)性,采用冗余小波方案對(duì)流量進(jìn)行分解,克服了小波變換的移變性;同時(shí),通過修改代價(jià) 函數(shù),利用相鄰層的信息來提高對(duì)細(xì)節(jié)分量的預(yù)測精度,從而最終提高整體流量的預(yù)測精 度。
【附圖說明】
[0030] 圖1是考慮小波跨層關(guān)聯(lián)的網(wǎng)絡(luò)流量預(yù)測方法的流程圖;
[0031 ]圖2是實(shí)際流量變動(dòng)圖;
[0032] 圖3是本發(fā)明與經(jīng)典小波神經(jīng)網(wǎng)絡(luò)的誤差統(tǒng)計(jì)圖。
【具體實(shí)施方式】
[0033] 下面結(jié)合附圖,詳細(xì)說明實(shí)施方案。
[0034] 本發(fā)明對(duì)現(xiàn)有小波神經(jīng)網(wǎng)絡(luò)預(yù)測進(jìn)行了改進(jìn),提出了一種考慮小波跨層關(guān)聯(lián)的網(wǎng) 絡(luò)流量預(yù)測方法,該方法通過將細(xì)節(jié)分量的層內(nèi)關(guān)聯(lián)性和層間關(guān)聯(lián)性進(jìn)行融合構(gòu)成新的代 價(jià)函數(shù),并帶入神經(jīng)網(wǎng)絡(luò)中,由高到低逐層完成對(duì)細(xì)節(jié)分量的預(yù)測,提高了流量預(yù)測精度。 [0035]本發(fā)明包括以下幾個(gè)步驟:
[0036] 步驟1:將原始流量數(shù)據(jù)利用冗余小波進(jìn)行J層分解,J為整數(shù),取值為3~5;
[0037] 步驟2:利用經(jīng)典神經(jīng)網(wǎng)絡(luò)預(yù)測方法對(duì)第J層的細(xì)節(jié)分量與近似分量進(jìn)行預(yù)測,并 令j=J;
[0038] 步驟3:建立考慮小波層間關(guān)聯(lián)和層內(nèi)關(guān)聯(lián)的代價(jià)函數(shù);
[0039] 步驟4:根據(jù)代價(jià)函數(shù)建立一種新型神經(jīng)網(wǎng)絡(luò)預(yù)測方法,將第j層和第j-Ι層的細(xì)節(jié) 分量作為神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)完成對(duì)第j-Ι層細(xì)節(jié)分量的預(yù)測;
[0040] 步驟5:若j>2則令j = j_l,返回步驟4,否則執(zhí)行步驟6;
[0041] 步驟6:通過小波重構(gòu)完成對(duì)流量的預(yù)測。
[0042] 圖1所示為本發(fā)明的具體實(shí)現(xiàn)過程。
[0043]對(duì)原始流量進(jìn)行冗余小波分解,分解層數(shù)為3,得到各層細(xì)節(jié)分量和第三層的近似 分量:
[0044]
[0045] 其中:和山分別是第j個(gè)層上的近似分量和細(xì)節(jié)分量,j = 1,2,3,且原始流量用co 表示。h[_k]和g[_k]分別是低通和高通分解濾波器,分量長度j = l,2,3,…,K,K = L/2j,L = 1024為實(shí)際流量長度。
[0046] 圖2所示為實(shí)際流量。圖中橫坐標(biāo)代表所發(fā)數(shù)據(jù)包個(gè)數(shù),縱坐標(biāo)則代表兩個(gè)數(shù)據(jù)包 之間的時(shí)間間隔。
[0047]對(duì)最高層細(xì)節(jié)分量和近似分量的預(yù)測具體包括以下步驟:
[0048] 1)對(duì)最高層各近似分量和細(xì)節(jié)分量進(jìn)行歸一化處理,確定各層神經(jīng)元個(gè)數(shù)、傳遞 函數(shù)、訓(xùn)練函數(shù)、權(quán)值和閾值學(xué)習(xí)算法、性能函數(shù)以構(gòu)建神經(jīng)網(wǎng)絡(luò);
[0049] 2)對(duì)神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行初始化;
[0050] 3)確定神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率、訓(xùn)練次數(shù)與訓(xùn)練目標(biāo);
[0051] 4)利用第J層近似分量和細(xì)節(jié)分量對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;
[0052] 5)反歸一化,對(duì)第J層近似分量和細(xì)節(jié)分量預(yù)測;
[0053]在已知第J層近似分量和預(yù)測分量的結(jié)果下,為提高預(yù)測精度,其他層細(xì)節(jié)分量的 預(yù)測過程則加入對(duì)層間關(guān)聯(lián)的考量。為此,本發(fā)明提出了融合層內(nèi)關(guān)聯(lián)和層間關(guān)聯(lián)的代價(jià) 函數(shù):
[0054] E ( j ) = Einter ( j ) +Eintra ( j )
[0055]
[0056] 其中:
[0057] E(j)為對(duì)第j層內(nèi)細(xì)節(jié)分量進(jìn)行訓(xùn)練時(shí)的代價(jià)函數(shù);
[0058] Einter(j)為代價(jià)函數(shù)層內(nèi)關(guān)聯(lián)部分;
[0059] Eintra(j)為代價(jià)函數(shù)層間關(guān)聯(lián)部分;
[0060] N為輸出層節(jié)點(diǎn)數(shù);
[0061 ] Cl(n)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)實(shí)際輸出;
[0062] ?(η)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)期望輸出;
[0063] 馬為C,(>)的平均值;
[0064] μ」為Cj (η)的平均值。
[0065] 基于代價(jià)函數(shù),對(duì)其余層內(nèi)細(xì)節(jié)分量的預(yù)測則具體包括以下步驟:
[0066] 1)分別對(duì)第j層細(xì)節(jié)分量進(jìn)行初始化,確定各層神經(jīng)元個(gè)數(shù)、傳遞函數(shù)、訓(xùn)練函數(shù)、 權(quán)值和閾值學(xué)習(xí)算法、性能函數(shù)以構(gòu)建神經(jīng)網(wǎng)絡(luò);
[0067] 2)對(duì)神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值進(jìn)行初始化;
[0068] 3)確定神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率、訓(xùn)練次數(shù)與訓(xùn)練目標(biāo);
[0069] 4)利用第j層細(xì)節(jié)分量對(duì)改變代價(jià)函數(shù)后的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;
[0070] 5)反歸一化,對(duì)第j層細(xì)節(jié)分量進(jìn)行預(yù)測;
[0071] 6)重復(fù)上述步驟,預(yù)測第j-Ι層細(xì)節(jié)分量,直至所有層都預(yù)測完畢。
[0072] 利用此預(yù)測結(jié)果進(jìn)行小波重構(gòu),計(jì)算公式為:
[0073] ^ ^ ..... ^
[0074] 其中:h[_k]和g[_k]分別是低通和高通合成濾波器。
[0075] 為了檢驗(yàn)本發(fā)明提出的考慮小波層關(guān)聯(lián)的網(wǎng)絡(luò)流量預(yù)測方法的優(yōu)越性,將其與小 波神經(jīng)網(wǎng)絡(luò)在相同原始流量數(shù)據(jù)下進(jìn)行仿真并比較。
[0076]采用Matlab作為仿真工具,仿真參數(shù)設(shè)置如下:
[0077] 1)取長度為1024的實(shí)際流量,其中896點(diǎn)用于網(wǎng)絡(luò)的訓(xùn)練,128點(diǎn)用于預(yù)測;
[0078] 2)原始流量的小波變換為5層;
[0079] 3)神經(jīng)網(wǎng)絡(luò)選擇三層BP神經(jīng)網(wǎng)絡(luò),輸入層有128個(gè)神經(jīng)元,隱層含有128個(gè)神經(jīng)元, 輸出層有128個(gè)神經(jīng)元;
[0080] 4)神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)為tansigO,訓(xùn)練函數(shù)為traingdO ;
[0081 ] 5)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率為0.1,訓(xùn)練次數(shù)為1000,訓(xùn)練目標(biāo)為0.001;
[0082]以上參數(shù)并不恒定,對(duì)于不同的仿真內(nèi)容可以根據(jù)需要改變某些參數(shù)。
[0083]圖3為本文模型和小波神經(jīng)網(wǎng)絡(luò)模型誤差統(tǒng)計(jì)圖,其中,圖3(a)為小波-神經(jīng)網(wǎng)絡(luò) 的預(yù)測誤差;圖3(b)為考慮小波層關(guān)聯(lián)的網(wǎng)絡(luò)流量預(yù)測誤差。
[0084] 對(duì)于小波-神經(jīng)網(wǎng)絡(luò)預(yù)測方法,其誤差存在于-0.052~0.093之間,且誤差分布圖 比較均勻。而考慮小波跨層關(guān)聯(lián)的網(wǎng)絡(luò)流量預(yù)測方法的誤差存在于-0.037~0.038之間,且 誤差分布圖表現(xiàn)為越靠近〇處越集中??梢钥闯觯景l(fā)明中的方法能夠有效地降低流量預(yù)測 誤差。
[0085]具體性能參數(shù)如表1所示。由表可知,本文模型的4個(gè)誤差指標(biāo)均小于小波神經(jīng)網(wǎng) 絡(luò)模型,使用考慮小波跨層關(guān)聯(lián)的網(wǎng)絡(luò)流量預(yù)測方法比使用小波神經(jīng)網(wǎng)絡(luò)預(yù)測方法能夠獲 得更精確的結(jié)果。
[0086] 表1性能參數(shù)對(duì)比
[0087]
[0088] 仿真結(jié)果表明,本發(fā)明中的網(wǎng)絡(luò)流量預(yù)測方法可以進(jìn)一步提高對(duì)于小波系數(shù)的預(yù) 測精度,從而有效地提高了網(wǎng)絡(luò)流量預(yù)測的準(zhǔn)確度。
[0089]此實(shí)施例僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種考慮小波跨層關(guān)聯(lián)性的網(wǎng)絡(luò)流量預(yù)測方法,其特征在于,包括: 步驟1:將原始流量數(shù)據(jù)利用冗余小波進(jìn)行J層分解,J為整數(shù),取值為3~5; 步驟2:利用經(jīng)典神經(jīng)網(wǎng)絡(luò)預(yù)測方法對(duì)第J層的細(xì)節(jié)分量與近似分量進(jìn)行預(yù)測,并令j = J; 步驟3:建立考慮小波層間關(guān)聯(lián)和層內(nèi)關(guān)聯(lián)的代價(jià)函數(shù); 步驟4:將第j層和第j-1層的細(xì)節(jié)分量作為神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)完成對(duì)第j-1層細(xì)節(jié)分 量的預(yù)測,通過代價(jià)函數(shù)將細(xì)節(jié)分量的層內(nèi)關(guān)聯(lián)性和層間關(guān)聯(lián)性進(jìn)行融合; 步驟5:若j〉2則令j = j-1,返回步驟4,否則執(zhí)行步驟6; 步驟6:通過小波重構(gòu)完成對(duì)流量的預(yù)測。2. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟3的代價(jià)函數(shù)的計(jì)算公式為: E(j)=Einter(j)Wintra(j) 其中: E(j)為對(duì)第j層細(xì)節(jié)分量進(jìn)行訓(xùn)練時(shí)的代價(jià)函數(shù); Einter(j)為代價(jià)函數(shù)的層內(nèi)關(guān)聯(lián)部分; Eintra(j)為代價(jià)函數(shù)的層間關(guān)聯(lián)部分。 3 .根據(jù)權(quán)利要求2所述方法,其特征在于,所述Einter( j )的計(jì)算公式為:其中: N為輸出層節(jié)點(diǎn)數(shù); Ci(n)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)實(shí)際輸出; 璋知)為第j層細(xì)節(jié)分量預(yù)測時(shí)的第η個(gè)期望輸出。4.根據(jù)權(quán)利要求1所述方法,其特征在于,所述步驟4具體包括: 步驟4.1:分別確定第j-1層各細(xì)節(jié)分量的最大和最小值、各層神經(jīng)元個(gè)數(shù)、傳遞函數(shù)、 訓(xùn)練函數(shù)、權(quán)值和闊值學(xué)習(xí)算法、性能函數(shù)W構(gòu)建新型神經(jīng)網(wǎng)絡(luò); 步驟4.2:對(duì)新型神經(jīng)網(wǎng)絡(luò)權(quán)值和闊值進(jìn)行初始化; 步驟4.3:將第j-1層和第j層的細(xì)節(jié)分量作為輸入數(shù)據(jù),對(duì)改變代價(jià)函數(shù)后的神經(jīng)網(wǎng)絡(luò) 進(jìn)行訓(xùn)練; 步驟4.4:對(duì)第j-1層細(xì)節(jié)分量進(jìn)行預(yù)測; 步驟4.5:令j = j-1,重復(fù)步驟4.1至4.4,直至所有細(xì)節(jié)分量都預(yù)測完畢即j = 1。
【文檔編號(hào)】G06N3/08GK105976020SQ201610274610
【公開日】2016年9月28日
【申請(qǐng)日】2016年4月28日
【發(fā)明人】唐良瑞, 杜施默, 傅德林, 吳潤澤, 樊冰
【申請(qǐng)人】華北電力大學(xué)