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