張宗華,張海全,魏 馳,牛新征
(1.南京南瑞集團公司 流程與信息管理中心,南京 211106; 2.南京南瑞集團公司 流程與信息管理中心建設(shè)部,南京 211106; 3.電子科技大學(xué) 信息與軟件工程學(xué)院,成都 610054; 4.電子科技大學(xué) 計算機科學(xué)與工程學(xué)院,成都 611731)
?
基于加權(quán)改進的AR模型的負載預(yù)測研究
張宗華1,張海全2,魏 馳3,牛新征4
(1.南京南瑞集團公司 流程與信息管理中心,南京 211106; 2.南京南瑞集團公司 流程與信息管理中心建設(shè)部,南京 211106; 3.電子科技大學(xué) 信息與軟件工程學(xué)院,成都 610054; 4.電子科技大學(xué) 計算機科學(xué)與工程學(xué)院,成都 611731)
負載預(yù)測在故障管理中有著十分重要的作用,通過對CPU負載以及內(nèi)存使用率的預(yù)測可以對系統(tǒng)進行實時監(jiān)控,預(yù)知未來時間段資源的可用性,發(fā)出異常告警;文中提出一種加權(quán)改進的自回歸模型,通過對最小二乘法求出的參數(shù)進行加權(quán)處理,結(jié)合時間序列分析理論,建立一個負載預(yù)測模型,用于CPU負載和內(nèi)存使用率的預(yù)測;實驗證明,對AR模型的參數(shù)進行加權(quán)的方法優(yōu)化了參數(shù)估計,預(yù)測誤差減小了60%~80%。
負載預(yù)測;時間序列;自回歸模型;最小二乘法
負載預(yù)測主要用于資源管理以及故障管理,實時監(jiān)控,對異常情況進行告警。國內(nèi)外相關(guān)研究成果采用過下列方法:時間序列[1]、神經(jīng)網(wǎng)絡(luò)[2]、支持向量機[3]、集成學(xué)習(xí)[4]等。神經(jīng)網(wǎng)絡(luò)模型適用于處理信息模糊以及因素條件較多的情況但它存在局部極小點的問題。支持向量機雖然能夠避免神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選擇以及局部極小點的問題但目前還沒有成熟的方法來選擇理想的參數(shù)。集成學(xué)習(xí)則需要通過多次的訓(xùn)練得到預(yù)測函數(shù)。而時間序列在國內(nèi)外應(yīng)用研究最為廣泛,如天氣預(yù)報、股價指數(shù)預(yù)測、機械故障預(yù)測等,時間序列預(yù)測未來結(jié)果跟現(xiàn)在、過去的各個因素有較強的聯(lián)系,數(shù)據(jù)處理簡單,效果較好。它是選取過去時間段內(nèi)的一段歷史數(shù)據(jù),依據(jù)對該數(shù)據(jù)的分析計算來預(yù)測未來時刻的數(shù)值。時間序列預(yù)測需要使用某種模型來對未來數(shù)據(jù)進行預(yù)測。自回歸模型(AR)[1]常用來預(yù)測各種自然現(xiàn)象,滑動平均模型(MA)[5]通過最近一組時間序列,逐次推移計算,得到未來趨勢,自回歸滑動平均模型(ARMA)[6]由自回歸模型和滑動平均模型迭加形成,差分自回歸滑動平均模型(ARIMA)[7]形式跟ARMA類似。PeterA.Dinda[7]等人對幾種模型進行了評估,實驗結(jié)果證明,自回歸的預(yù)測效果最好。其建模簡單,容易實現(xiàn)。除此之外,自回歸模型穩(wěn)定,而且計算復(fù)雜度較低,計算速度快,消耗的運行時間比其他模型少。通過對AR模型的進一步研究,發(fā)現(xiàn)國內(nèi)外將AR模型應(yīng)用于多種領(lǐng)域的預(yù)測,例如,功率譜估計、股票價格預(yù)測、主機負載預(yù)測等。
本文將AR模型用于負載預(yù)測中,使用AIC準則確定模型的階數(shù),然后通過最小二乘的方法估計AR模型的參數(shù),再選取一個權(quán)值矩陣來對參數(shù)進行優(yōu)化,改進傳統(tǒng)的AR模型誤差得到了大幅度減少。
基于加權(quán)改進的AR預(yù)測模型如圖1所示。
圖1 負載預(yù)測模型
其中,X1到Xk是前k個時間序列值,經(jīng)過加權(quán)優(yōu)化的最小二乘AR模型后得到下一個時刻的預(yù)測值Xk+1。
自回歸模型是最常用的一種線性模型,它使用歷史的輸出數(shù)據(jù)來預(yù)測未來的數(shù)據(jù)。
AR模型表示[8]:
(1)
(2)
其中:X為時間序列,an是白噪聲,φi(i=1,2…p)是AR模型的參數(shù),該參數(shù)是通過某一種參數(shù)估計的方式得出。
在使用觀測記錄得到的數(shù)據(jù)進行預(yù)測前,由于數(shù)據(jù)波動過大,直接使用在AR模型上效果不佳,所以需要對數(shù)據(jù)進行預(yù)處理。常用的預(yù)處理方法有差分法[9]和數(shù)據(jù)標準化[10],本文將兩種方法結(jié)合來對數(shù)據(jù)做預(yù)處理,消除數(shù)據(jù)的趨勢性以及平滑數(shù)據(jù)。
1.1 負載預(yù)測模型階數(shù)的確定
AR模型定階的方法有FPE準則[11]、 BIC準則[12]、AIC準則[13-14],本文選取AIC準則來確定AR模型的階數(shù)。赤池信息準則(AIC)是日本統(tǒng)計學(xué)家赤池弘次提出的。AIC準則簡便且易實現(xiàn),減少了繁瑣的步驟,方便了模型的建立。雖然AIC準則在數(shù)學(xué)表達式上是簡單的,但它卻能解決復(fù)雜的模型建立問題。
AIC準則函數(shù):
AIC=nloge+2p
(3)
其中:p為AR模型的階數(shù),p∈(1-n),n為時間序列的個數(shù),e為方差系數(shù)。
利用循環(huán)求解各個p值對應(yīng)的AIC值,從中選取最小的AIC值所對應(yīng)的p值,并使用該p值作為AR模型的階數(shù)來完成后面的建模步驟。
1.2 負載預(yù)測模型的參數(shù)估計
為了建立加權(quán)最小二乘AR模型,除了模型的定階以外,還需要求出AR模型的參數(shù)φi(i=1,2…p)。參數(shù)估計的方法有兩大類,分別為直接法和間接法。本文先采用直接法中的最小二乘法進行參數(shù)估計,然后再選取加權(quán)矩陣來優(yōu)化參數(shù)估計。
1.2.1 最小二乘參數(shù)估計
最小二乘法的精度高,參數(shù)估計無偏差,而且簡單易實現(xiàn),也是最常用的一種參數(shù)估計的方法。
對于最小二乘的矩陣形式[15]:
(4)
其中,
(5)
(6)
(7)
p為AIC準則確定的AR模型階數(shù),X為時間序列,φ為需要求解的參數(shù),n為時間序列的個數(shù)。
(8)
1.2.2 加權(quán)優(yōu)化參數(shù)估計
采用最小二乘法進行參數(shù)估計雖然簡單方便,但是它只是考慮了Y的觀測值中所含有的誤差,這樣會導(dǎo)致估計出的參數(shù)也存在一定誤差,本文選取加權(quán)矩陣[16]的方法來優(yōu)化最小二乘法的參數(shù)估計,可消除異方差,改善誤差情況。
此處我們選取殘差的平方來構(gòu)建一個對角矩陣作為權(quán)值矩陣。
(9)
(10)
e為使用最小二乘參數(shù)估計得出的誤差值,W為選取的權(quán)值矩陣,β為加權(quán)最小二乘參數(shù)估計。加權(quán)優(yōu)化后的參數(shù)值見表1和表2。
表1 CPU負載數(shù)據(jù)加權(quán)優(yōu)化后的參數(shù)
表2 部分內(nèi)存使用率數(shù)據(jù)加權(quán)優(yōu)化后的參數(shù)
1.3 誤差計算
建模完成后,為了對比加權(quán)最小二乘法參數(shù)估計的AR模型與傳統(tǒng)的一階AR模型,本文采用平均絕對誤差(MeanAbsoluteError)[17]來求解誤差。這種方法比平均誤差更好,更能反映預(yù)測值的誤差情況,因為它避免了正負誤差的相互抵消的情況。
ei=Fi-Xi
(11)
(12)
其中:Fi表示第i個預(yù)測值,Xi表示第i個觀測數(shù)據(jù),ei表示第i個預(yù)測值的誤差,MAE為平均絕對誤差。
算法1:加權(quán)最小二乘AR模型算法。
1)通過SNPM協(xié)議取出不同時間點不同CPU以及內(nèi)存的情況并生成時間序列,獲取數(shù)據(jù)后對數(shù)據(jù)進行差分和標準化的預(yù)處理;
2)通過AIC準則求出最小的AIC對應(yīng)的p值作為模型的階數(shù);
3)用最小二乘法求解出AR模型的參數(shù)φ,再選取一個權(quán)值矩陣對參數(shù)進行優(yōu)化,得到優(yōu)化后的AR模型參數(shù)β。
4)將參數(shù)帶入AR模型的表達式,得到預(yù)測值。
5)進行誤差計算。
為了驗證該負載預(yù)測模型的可行性以及優(yōu)化性,實驗使用matlab進行仿真,分別對CPU負載以及內(nèi)存使用率進行預(yù)測。CPU負載的數(shù)據(jù)采取在4個不同編號的CPU上進行觀測,每5分鐘記錄一次。內(nèi)存使用率的數(shù)據(jù)來源于4個不同資源ID在不同時刻的內(nèi)存使用情況。實驗用小型機配置參數(shù)表見表3。
表3 實驗用小型機配置參數(shù)
2.1 數(shù)據(jù)預(yù)處理結(jié)果
在對模型定階求參數(shù)之前先對數(shù)據(jù)進行預(yù)處理,少量原始數(shù)據(jù)與預(yù)處理數(shù)據(jù)對比表見表4和表5。預(yù)處理后的數(shù)據(jù)波動范圍得到了減小。
表4 CPU負載數(shù)據(jù)預(yù)處理結(jié)果
表5 內(nèi)存使用率數(shù)據(jù)預(yù)處理結(jié)果
2.2 CPU負載預(yù)測結(jié)果
選取第一組CPU負載數(shù)據(jù)分別使用一階AR模型和加權(quán)最小二乘AR模型對CPU觀測值進行擬合,擬合結(jié)果如圖2~3。
圖2 CPU負載AR(1)擬合圖
圖3 CPU負載WLS+AR擬合圖
從擬合效果圖中我們可以看出,經(jīng)過改進后的模型能夠更準確的預(yù)測波動很大的數(shù)據(jù)點,擬合效果得到改善。
由于CPU負載序列的數(shù)據(jù)量太大,從擬合效果圖中不能清楚的看到預(yù)測效果。所以,我們提取一部分的預(yù)測值進行的對比,效果如圖4。
圖4 AR(1)與WLS+AR負載預(yù)測對比
從預(yù)測對比圖中我們可以看出一階AR模型的預(yù)測值和實際的觀測值偏差稍大,而經(jīng)過參數(shù)優(yōu)化后的AR模型,也就是加權(quán)最小二乘參數(shù)估計的AR模型,其預(yù)測值的趨勢跟實際觀測值一致,誤差也比一階AR模型小很多。
2.3 內(nèi)存使用率預(yù)測結(jié)果
分別使用一階AR模型和加權(quán)最小二乘參數(shù)估計的AR模型對內(nèi)存使用率進行擬合,其擬合結(jié)果如圖5~6。擬合效果圖表明,加權(quán)改進后的模型預(yù)測更精準。
圖5 內(nèi)存使用率AR(1)擬合圖
圖6 內(nèi)存使用率WLS+AR擬合圖
使用一階AR模型和加權(quán)最小二乘AR模型預(yù)測內(nèi)存使用率的情況如圖7。對比圖顯示,改進后的模型幾乎能精準預(yù)測每個值。
圖7 AR(1)與WLS+AR內(nèi)存預(yù)測對比
2.4 精度估計
2.4.1CPU負載預(yù)測誤差
通過對四組CPU負載數(shù)據(jù)分別采用AR(1)、最小二乘參數(shù)估計的AR以及加權(quán)最小二乘參數(shù)估計的AR進行預(yù)測,計算得出的誤差對比見表5。
表5 CPU負載預(yù)測誤差
2.4.2 內(nèi)存使用率預(yù)測誤差
通過對四組不同內(nèi)存使用率的數(shù)據(jù)進行3種方法的預(yù)測,計算出誤差對比見表6。
表6 內(nèi)存使用率預(yù)測誤差
從表5和表6中我們可以發(fā)現(xiàn),經(jīng)過加權(quán)改進后的AR模型在進行CPU負載預(yù)測和內(nèi)存使用率預(yù)測時,平均絕對誤差下降了很多,證明該模型的精確度更高。
2.5 負載模型的實際應(yīng)用結(jié)果
通過將負載預(yù)測算法模型運用在自動化運維監(jiān)控系統(tǒng)上,預(yù)測出CPU負載以及內(nèi)存負載在未來時刻的數(shù)值,效果如圖8和圖9。
圖8 自動化運維監(jiān)控系統(tǒng)CPU預(yù)測
圖9 自動化運維監(jiān)控系統(tǒng)內(nèi)存預(yù)測
本文采用加權(quán)最小二乘法來進行AR模型的參數(shù)估計,相比一階AR模型,改善后的模型對不同的測試數(shù)據(jù)能求出最適合的階數(shù),從而使預(yù)測更精準。相比使用最小二乘法進行參數(shù)估計,加權(quán)最小二乘AR模型消除了異方差,預(yù)測效果得到了改善。由于每組CPU負載的數(shù)據(jù)以及內(nèi)存使用率的數(shù)據(jù)存在一定的差別,所以每組數(shù)據(jù)預(yù)測出來的誤差也存在一定差異,但差別較小。從實驗中可得加權(quán)最小二乘AR模型在負載預(yù)測上的效果要明顯優(yōu)于傳統(tǒng)一階AR模型。
[1]GeorgeEPBox,GwilymM.Jenkins,GregoryC.Reinsel,TimeseriesAnalysis:ForecasingandControl[M].Wiley,2008.
[2] 楊 立,左 春,王裕國.保險洪災(zāi)損失預(yù)測模型[J].計算機學(xué)報,2005, 17(11):2523-2529.
[3] 姜慧研,宗 茂,劉相瑩.基于ACO-SVM的軟件缺陷預(yù)測模型的研究[J].計算機學(xué)報,2011,34(6):1148-1154.
[4] 張春霞,張講社.選擇性集成學(xué)習(xí)算法綜述[J].計算機學(xué)報,2011,34(8):1139-1410.
[5] 張善文, 雷英杰, 馮有前.MATLAB在時間序列分析中的應(yīng)用[M]. 西安:西安電子科技大學(xué)出版社,2007.
[6] 胡澤文,肖明清.基于時間序列模型的故障預(yù)測研究[J].計算機測量與控制,2013,21(6):1421-1427.
[7] 付繼文.分布式環(huán)境中的性能預(yù)測方法[D].上海:上海交通大學(xué),2013.
[8]MohammadMirzavand&RezaGhazavi,AStochasticModellingTechniqueforGroundwaterLevelForecastinginanAridEnvironmentUsingTimeSeriesMethods[J].WaterResourManage,2015,29:1315-1328.
[9]DingyuYang,JianCao,ChengYu,JingXiao,AMulti-step-aheadCPULoadPredictionApproachinDistrubted[A]. 2012SecondInternationalConferenceonCloudandGreenComputing[C]. 2012,206-213.
[10] 馬立平.統(tǒng)計數(shù)據(jù)標準化—無量綱化方法[J].北京統(tǒng)計,2000,3(121):34-35.
[11] 楊書玲,李艷斌.基于AR模型的載頻測量[J].無線電工程,2006,36(9):23-25.
[12]FrancescoFusco,JohnV.Short-TermWaveForecastingwithARmodelsinReal-TimeOptimalControlofWaveEnergyConverters[A].IndustrialElectronics(ISIE), 2010IEEEInternationalSymposiumon[C]. 2010,2475-2480.
[13]MahmoodKarimi,FiniteSampleAICForAutoregressiveModelOrder[A].IEEEInternationalConferenceonSignalProcessingandCommunications[C]. 2007,24-27.
[14] 魏峰遠, 郭繼發(fā), 李衛(wèi)賢. 基于AIC準則的回歸方法在建筑物變形分析中的應(yīng)用[J]. 工程勘察,2007,7:46-52.
[15] 劉書靜, 羅海勇,吳 彬,等. 基于最小二乘測距定位算法信標最優(yōu)部署模型[J]. 計算機學(xué)報,2013,36(3):546-556.
[16] 任 杰,劉家瑛,白 蔚,等.基于隱形式分段自回歸模型的圖像插值算法[J].軟件學(xué)報,2012,23(5):1248-1259.
[17]CPULoadPredictionUsingSupportVectorRegressionandKalmanSmootherforCloud[A].IEEEInternationalConferenceonDistributedComputingSystemsWorkshops[C]. 2013,88-92.
Load Prediction Based on an Improved AR Model with Weighting
Zhang Zonghua1, Zhang Haiquan2, Wei Chi3, Niu Xinzheng4
(1.NARI Group Corporation, Nanjing 211106, China; 2.NARI Group Corporation, Nanjing 211106, China; 3.School of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu 610054,China; 4.School of Computer Science and Engineering, University of Electronic Science and Technology of China,Chengdu 611731,China)
Load prediction is very important in fault management, forecasting CPU load and memory usage can monitor the system in time, and it can know if the resource is available in the future, then give the malfunction alarm. This article came up with an improved AR model for load prediction, it based on the parameters of least square with weighting and combined with time series theory to build load prediction model. The model can predict CPU load and memory usage. The results prove that the method of weighting has optimized parameters and the prediction error has reduced 60%~80%.
load prediction; time series; AR model; least square method
2015-10-01;
2015-11-11。
張宗華(1977-), 男, 四川成都人, 工程師, 碩士, 主要從事電力信息化研究、建設(shè)工作方向的研究。
1671-4598(2016)03-0248-04DOI:10.16526/j.cnki.11-4762/tp
TP
A