文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190146
中文引用格式: 姚榮歡. 基于小波神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)中心KPI預(yù)測(cè)[J].電子技術(shù)應(yīng)用,2019,45(6):46-49,53.
英文引用格式: Yao Ronghuan. Data center KPI prediction based on wavelet neural network[J]. Application of Electronic Technique,2019,45(6):46-49,53.
0 引言
隨著軟件和微服務(wù)的發(fā)展,智能運(yùn)維越來(lái)越受到人們的重視。在大量的運(yùn)維數(shù)據(jù)里,最不可忽視的就是各種關(guān)鍵性能指標(biāo)數(shù)據(jù)(Key Performance Indicators,KPI),它們?cè)跀?shù)學(xué)上都可以被表達(dá)為時(shí)間序列的形式。在一個(gè)大型軟件系統(tǒng)里,往往每分鐘能產(chǎn)生百萬(wàn)數(shù)量級(jí)的時(shí)間序列,如何從這些海量數(shù)據(jù)里發(fā)現(xiàn)規(guī)律,指導(dǎo)運(yùn)維并將其智能化,成為了下一代運(yùn)維中最重要的環(huán)節(jié)之一。智能運(yùn)維的一個(gè)主要挑戰(zhàn)是根據(jù)具體需求評(píng)判應(yīng)用哪些機(jī)器學(xué)習(xí)算法,并適配或改造。智能數(shù)據(jù)中心關(guān)鍵性能指標(biāo)數(shù)據(jù)異常檢測(cè)是智能運(yùn)維的重要環(huán)節(jié),可以作為運(yùn)維人員的可靠助手,從而大大減少人力投入并增加運(yùn)維安全性。而時(shí)間序列預(yù)測(cè)是時(shí)間序列異常檢測(cè)的重要組成部分。本文利用小波神經(jīng)網(wǎng)絡(luò)對(duì)時(shí)間序列進(jìn)行預(yù)測(cè),并采用動(dòng)量梯度下降算法和粒子群優(yōu)化算法對(duì)小波神經(jīng)網(wǎng)絡(luò)進(jìn)行了優(yōu)化,在一定程度上提高了時(shí)間序列預(yù)測(cè)的準(zhǔn)確性。
1 KPI概述
1.1 時(shí)間序列特點(diǎn)
(1)長(zhǎng)期趨勢(shì)(Trend):現(xiàn)象在較長(zhǎng)時(shí)期內(nèi)受某種根本性因素作用而形成的總的變動(dòng)趨勢(shì);
(2)循環(huán)變動(dòng)\周期性(Cyclic):現(xiàn)象以若干年為周期所呈現(xiàn)出的波浪起伏形態(tài)的有規(guī)律的變動(dòng);
(3)季節(jié)性變化(Seasonal variation):現(xiàn)象隨著季節(jié)的變化而發(fā)生的有規(guī)律的周期性變動(dòng);
(4)不規(guī)則變化(Irregular movement):是一種無(wú)規(guī)律可循的變動(dòng),包括嚴(yán)格的隨機(jī)變動(dòng)和不規(guī)則的突發(fā)性影響很大的變動(dòng)兩種類型[1]。
1.2 KPI特點(diǎn)
KPI是一種特殊的時(shí)序數(shù)據(jù),與普通時(shí)序數(shù)據(jù)相比,存在更多的形狀變化。常見的形狀變化主要包括以下幾種:
(1)噪聲和異常:曲線上與正常值不符的波動(dòng)。
(2)振幅差異:KPI曲線可能具有不同量級(jí)的振幅,例如同一服務(wù)的兩個(gè)相關(guān)但不同模塊的每秒查詢率曲線。
(3)相位偏差:兩條KPI曲線之間的整體相位偏移。例如,同一系統(tǒng)調(diào)用鏈上的一組KPI可能具有相似的形狀,但存在一定的時(shí)延,從而產(chǎn)生相位偏差。
2 小波神經(jīng)網(wǎng)絡(luò)
2.1 小波神經(jīng)網(wǎng)絡(luò)原理
小波變換針對(duì)傅里葉變換的不足發(fā)展而來(lái)。傅里葉變換把信號(hào)按三角正、余弦基展開,能較好地刻畫信號(hào)的頻率特性,但在時(shí)域或空域上卻無(wú)任何分辨,不能做局部分析。而小波變換有一個(gè)靈活可變的時(shí)間-頻率窗,在時(shí)域和頻域同時(shí)具有良好的局部化特性。
小波神經(jīng)網(wǎng)絡(luò)是基于小波變換以及小波構(gòu)造理論所搭建的多分辨率、多層的神經(jīng)網(wǎng)絡(luò),即用小波基來(lái)取代常用的Logistic傳遞函數(shù)[2]。
2.2 小波神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)
(1)小波變換通過(guò)平移和伸縮變換對(duì)信號(hào)進(jìn)行多尺度分析,能有效提取信號(hào)的多尺度信息;
(2)神經(jīng)網(wǎng)絡(luò)具有容錯(cuò)性、自學(xué)習(xí)、自適應(yīng)等特點(diǎn),是一類通用的函數(shù)逼近器;
(3)小波神經(jīng)網(wǎng)絡(luò)的基元和整個(gè)結(jié)構(gòu)由小波分析理論確定,可避免BP神經(jīng)網(wǎng)絡(luò)等在結(jié)構(gòu)設(shè)計(jì)上的盲目性;
(4)小波神經(jīng)網(wǎng)絡(luò)精度更高,學(xué)習(xí)性更強(qiáng);
(5)小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,收斂速度更快。
2.3 小波神經(jīng)網(wǎng)絡(luò)類型
(1)松散型:小波分析對(duì)神經(jīng)網(wǎng)絡(luò)的輸入進(jìn)行初步處理,使得輸入信號(hào)更利于神經(jīng)網(wǎng)絡(luò)處理;
(2)融合型:神經(jīng)網(wǎng)絡(luò)與小波直接融合,用小波元代替神經(jīng)元,輸入層到隱含層的權(quán)值及隱含層閾值分別由小波函數(shù)的尺度和平移參數(shù)確定[3-4]。
2.4 拓?fù)浣Y(jié)構(gòu)
本文構(gòu)造的三層小波神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。圖中,X為輸入,Y為輸出,Ψa,b(t)為隱藏層。
2.5 神經(jīng)元節(jié)點(diǎn)數(shù)確定
小波神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)由輸入數(shù)據(jù)特征向量的維數(shù)決定,輸出層神經(jīng)元個(gè)數(shù)由網(wǎng)絡(luò)預(yù)測(cè)值個(gè)數(shù)決定。隱藏層節(jié)點(diǎn)數(shù)沒(méi)有具體確定的計(jì)算方法。隱藏層節(jié)點(diǎn)數(shù)太少則可能出現(xiàn)欠擬合,隱藏層節(jié)點(diǎn)個(gè)數(shù)太多則容易過(guò)擬合,并且訓(xùn)練時(shí)間增加。假設(shè)輸入層有L個(gè)節(jié)點(diǎn),輸出層有N個(gè)節(jié)點(diǎn)。則隱藏層節(jié)點(diǎn)個(gè)數(shù)選擇可參考公式有:
式中,M為隱藏層節(jié)點(diǎn)個(gè)數(shù),a為0~10之間的常數(shù)。
實(shí)際應(yīng)用時(shí)可根據(jù)參考公式確定隱藏節(jié)點(diǎn)數(shù)的大概范圍,然后使用誤差率調(diào)整節(jié)點(diǎn)個(gè)數(shù)。本文選擇式(2)。
2.6 傳遞函數(shù)
2.6.1 隱藏層傳遞函數(shù)
本文構(gòu)造的神經(jīng)網(wǎng)絡(luò)隱含層采用的小波基函數(shù)為Morlet母小波基函數(shù),數(shù)學(xué)公式為:
函數(shù)圖形如圖2所示。
因此隱含層輸出計(jì)算公式為:
式中,hj為隱含層第j個(gè)節(jié)點(diǎn)輸出值,wij為輸入層到隱含層的連接權(quán)值,bj為小波基函數(shù)的時(shí)移因子,aj為小波基函數(shù)的頻率因子。
2.6.2 輸出層傳輸函數(shù)
本文構(gòu)造的神經(jīng)網(wǎng)絡(luò)輸出層采用線性函數(shù),數(shù)學(xué)公式為:
函數(shù)圖形如圖3所示。
因此輸出層計(jì)算公式為:
式中,Ok為輸出層第k個(gè)節(jié)點(diǎn)輸出值,wjk為隱含層到輸出層的連接權(quán)值,hj為隱藏層輸出[5-7]。
2.7 附加動(dòng)量梯度修正法
梯度學(xué)習(xí)優(yōu)化算法因其學(xué)習(xí)速率的不變性致使神經(jīng)網(wǎng)絡(luò)收斂速率很慢并且容易陷入局部最優(yōu),可以通過(guò)附加動(dòng)量法提高網(wǎng)絡(luò)學(xué)習(xí)效率。
即k+1次迭代動(dòng)量項(xiàng)為上k次和k-1次參數(shù)取值之差。
3 粒子群算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)
3.1 粒子群算法簡(jiǎn)介
粒子群(PSO)算法從鳥類種群捕食行為特征得到啟發(fā),算法每個(gè)粒子代表一個(gè)潛在解,粒子速度代表了粒子移動(dòng)方向和距離,速度根據(jù)自身及其他粒子的經(jīng)驗(yàn)動(dòng)態(tài)調(diào)整。
具有D個(gè)參數(shù)的優(yōu)化問(wèn)題構(gòu)成D維搜索空間,初始化N個(gè)粒子組成種群X=(X1,X2,…,XN),第i個(gè)粒子Xi=(xi1,xi2,…,xiD)。根據(jù)優(yōu)化目標(biāo)計(jì)算粒子適應(yīng)度,第i個(gè)粒子的速度Vi=(vi1,vi2,…,viD),每次迭代記錄個(gè)體極值Pi=(pi1,pi2,…,piD)(從開始迭代到本次迭代個(gè)體粒子使用度最佳位置),以及種群群體極值Pg=(pg1,pg2,…,pgD)。粒子根據(jù)個(gè)體極值和群體極值的啟發(fā)式信息更新位置,公式如下:
3.2 粒子群算法優(yōu)化過(guò)程
3.2.1 基本思想
基于粒子群優(yōu)化算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)的基本思想:將各連接權(quán)值和小波伸縮以及時(shí)移參數(shù)作為粒子群算法的微粒向量,每一個(gè)微粒向量經(jīng)過(guò)解碼到各個(gè)系數(shù)。網(wǎng)絡(luò)將訓(xùn)練樣本輸入,計(jì)算輸出和誤差,將誤差的倒數(shù)作為適應(yīng)度函數(shù)(誤差越小,適應(yīng)度越大)。然后將粒子群算法的最優(yōu)值賦給小波神經(jīng)網(wǎng)絡(luò)以代替小波神經(jīng)網(wǎng)絡(luò)初始隨機(jī)賦值,最后小波神經(jīng)網(wǎng)絡(luò)根據(jù)反向傳播算法訓(xùn)練直至收斂[8-9]。
3.2.2 算法步驟及流程
算法主要分為3個(gè)階段:
(1)構(gòu)建小波神經(jīng)網(wǎng)絡(luò);
(2)使用粒子群算法訓(xùn)練網(wǎng)絡(luò);
(3)將粒子群算法訓(xùn)練得到的最優(yōu)解作為網(wǎng)絡(luò)參數(shù)初始值,使用反向傳播算法訓(xùn)練網(wǎng)絡(luò)。
算法流程如圖4所示。
3.2.3 粒子解碼
假設(shè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為輸入層L個(gè)節(jié)點(diǎn),隱藏層M個(gè)節(jié)點(diǎn),輸出層N個(gè)節(jié)點(diǎn)。則網(wǎng)絡(luò)輸入層到隱藏層L×M個(gè)權(quán)值參數(shù),隱藏層到輸出層有M×N個(gè)權(quán)值,隱藏層每個(gè)節(jié)點(diǎn)還有一個(gè)時(shí)移參數(shù)和一個(gè)頻率參數(shù)共2×N個(gè)參數(shù),因此共L×M+2×N+M×N個(gè)參數(shù)。粒子向量編碼順序?yàn)榍癓×M個(gè)參數(shù)為輸入層到隱藏層L×M個(gè)權(quán)值,然后N個(gè)參數(shù)為頻率參數(shù),其次N個(gè)參數(shù)為時(shí)移參數(shù),其余參數(shù)為隱藏層到輸出層的M×N個(gè)權(quán)值[10-13]。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)操作系統(tǒng)為L(zhǎng)inux-3.13.0-57-generic-x86_64-with-Ubuntu-14.04-trusty,開發(fā)語(yǔ)言為MATLAB 7.9.0(R2009b),在Vim開發(fā)環(huán)境下進(jìn)行。
4.2 數(shù)據(jù)集描述
為驗(yàn)證本文算法的有效性,選取某數(shù)據(jù)中心KPI指標(biāo)1 210個(gè)。其中,905個(gè)作為小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),305個(gè)作為預(yù)測(cè)數(shù)據(jù)。數(shù)據(jù)集部分示例如表1所示。
4.3 評(píng)價(jià)準(zhǔn)則
針對(duì)預(yù)測(cè)結(jié)果,本文采用兩種度量標(biāo)準(zhǔn):
(1)平均絕對(duì)誤差,公式如下:
(2)皮爾森相關(guān)系數(shù),公式如下:
4.4 實(shí)驗(yàn)結(jié)果
小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)實(shí)驗(yàn)結(jié)果如圖5、圖6所示。
由圖5、圖6可以看出小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果與原KPI序列相似程度較高,具體數(shù)值與趨勢(shì)性預(yù)測(cè)均較為準(zhǔn)確。
本文利用傳統(tǒng)Arima(Autoregressive Integrated Moving Average Model)算法進(jìn)行了對(duì)比試驗(yàn)[14],實(shí)驗(yàn)結(jié)果如圖7、圖8所示。
由圖7、圖8可以看出傳統(tǒng)Arima模型也能較好地預(yù)測(cè)KPI數(shù)值及趨勢(shì),具體性能對(duì)比由表2所示。
由表2可以看出,小波神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)Arima算法在平均絕對(duì)誤差上表現(xiàn)出一定優(yōu)勢(shì),說(shuō)明小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值更加貼近原序列真實(shí)值。而在皮爾森相關(guān)系數(shù)的表現(xiàn)上,小波神經(jīng)網(wǎng)絡(luò)呈現(xiàn)出極大的優(yōu)勢(shì),說(shuō)明小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果與原時(shí)間序列相關(guān)性更高,更加可信。
5 結(jié)論
本文提出利用粒子群算法優(yōu)化小波神經(jīng)網(wǎng)絡(luò)并用附加動(dòng)量梯度修正法加速小波神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率來(lái)解決智能數(shù)據(jù)中心KPI預(yù)測(cè)的方法。該方法能以較高準(zhǔn)確率和相關(guān)性對(duì)KPI時(shí)間序列進(jìn)行預(yù)測(cè),在與傳統(tǒng)Arima算法的對(duì)比中顯示了較為明顯的優(yōu)勢(shì)。這將為數(shù)據(jù)中心KPI異常檢測(cè)提供算法技術(shù)支持。
參考文獻(xiàn)
[1] 張玲,劉波.基于殘差統(tǒng)計(jì)的時(shí)間序列加性離群點(diǎn)檢測(cè)算法研究[J].電子技術(shù)應(yīng)用,2015,41(9):85-87.
[2] 劉建成,蔡湛宇.基于神經(jīng)網(wǎng)絡(luò)的腦電信號(hào)的非線性預(yù)測(cè)[J].電子技術(shù)應(yīng)用,1999(7):14-15.
[3] 李靜雯,楊善紅.基于灰色Verhulst-小波神經(jīng)網(wǎng)絡(luò)的裝備故障預(yù)測(cè)研究[J].電子技術(shù)應(yīng)用,2014,40(8):91-93.
[4] 李銀國(guó),張幫禮.小波神經(jīng)網(wǎng)絡(luò)及其結(jié)構(gòu)設(shè)計(jì)方法[J].模式識(shí)別與人工智能,1997(3):197-205.
[5] 臧川,江冰,薛心怡,等.基于小波優(yōu)化神經(jīng)網(wǎng)絡(luò)的故障定位算法研究[J].電子技術(shù)應(yīng)用,2014,40(6):55-58.
[6] 吳祖堂.基于神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)器的傳感器數(shù)據(jù)證實(shí)技術(shù)研究[J].電子技術(shù)應(yīng)用,2001,27(1):22-25.
[7] 劉毅睿,謝芊,呂述望.白噪聲序列檢驗(yàn)的小波分析方法[J].電子技術(shù)應(yīng)用,2005,31(10):48-49.
[8] 魯旭陽(yáng),劉廣怡,張效義.基于改進(jìn)粒子群優(yōu)化的節(jié)點(diǎn)定位算法[J].電子技術(shù)應(yīng)用,2012,38(11):112-115.
[9] 李世文,張紅梅,張向利,等.基于二進(jìn)制粒子群與遺傳算法的數(shù)據(jù)分配研究[J].電子技術(shù)應(yīng)用,2016,42(7):122-125.
[10] 張朝龍,江巨浪,江善和,等.基于改進(jìn)PSO算法的LSSVM入侵檢測(cè)模型[J].電子技術(shù)應(yīng)用,2010(10):132-135.
[11] 陳雙葉,徐文政,丁雙春,等.改進(jìn)PSO-TSFNN智能家居室內(nèi)空氣質(zhì)量檢測(cè)與評(píng)價(jià)[J].電子技術(shù)應(yīng)用,2017(1):84-87,91.
[12] 郝杰.基于改進(jìn)小波神經(jīng)網(wǎng)絡(luò)的上證指數(shù)預(yù)測(cè)研究[D].廣州:華南理工大學(xué),2014.
[13] 趙學(xué)智,鄒春華,陳統(tǒng)堅(jiān),等.小波神經(jīng)網(wǎng)絡(luò)的參數(shù)初始化研究[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,31(2):77-79,84.
[14] 涂小萌,陳強(qiáng)國(guó).基于ARIMA-LSSVM混合模型的犯罪時(shí)間序列預(yù)測(cè)[J].電子技術(shù)應(yīng)用,2015,41(2):160-162.
作者信息:
姚榮歡1,2
(1.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083;2.中軟信息系統(tǒng)工程有限公司,北京100081)