基于加权改进的AR模型的负载预测研究
2016-11-17张宗华张海全牛新征
张宗华,张海全,魏 驰,牛新征
(1.南京南瑞集团公司 流程与信息管理中心,南京 211106; 2.南京南瑞集团公司 流程与信息管理中心建设部,南京 211106; 3.电子科技大学 信息与软件工程学院,成都 610054; 4.电子科技大学 计算机科学与工程学院,成都 611731)
基于加权改进的AR模型的负载预测研究
张宗华1,张海全2,魏 驰3,牛新征4
(1.南京南瑞集团公司 流程与信息管理中心,南京 211106; 2.南京南瑞集团公司 流程与信息管理中心建设部,南京 211106; 3.电子科技大学 信息与软件工程学院,成都 610054; 4.电子科技大学 计算机科学与工程学院,成都 611731)
负载预测在故障管理中有着十分重要的作用,通过对CPU负载以及内存使用率的预测可以对系统进行实时监控,预知未来时间段资源的可用性,发出异常告警;文中提出一种加权改进的自回归模型,通过对最小二乘法求出的参数进行加权处理,结合时间序列分析理论,建立一个负载预测模型,用于CPU负载和内存使用率的预测;实验证明,对AR模型的参数进行加权的方法优化了参数估计,预测误差减小了60%~80%。
负载预测;时间序列;自回归模型;最小二乘法
0 引言
负载预测主要用于资源管理以及故障管理,实时监控,对异常情况进行告警。国内外相关研究成果采用过下列方法:时间序列[1]、神经网络[2]、支持向量机[3]、集成学习[4]等。神经网络模型适用于处理信息模糊以及因素条件较多的情况但它存在局部极小点的问题。支持向量机虽然能够避免神经网络结构选择以及局部极小点的问题但目前还没有成熟的方法来选择理想的参数。集成学习则需要通过多次的训练得到预测函数。而时间序列在国内外应用研究最为广泛,如天气预报、股价指数预测、机械故障预测等,时间序列预测未来结果跟现在、过去的各个因素有较强的联系,数据处理简单,效果较好。它是选取过去时间段内的一段历史数据,依据对该数据的分析计算来预测未来时刻的数值。时间序列预测需要使用某种模型来对未来数据进行预测。自回归模型(AR)[1]常用来预测各种自然现象,滑动平均模型(MA)[5]通过最近一组时间序列,逐次推移计算,得到未来趋势,自回归滑动平均模型(ARMA)[6]由自回归模型和滑动平均模型迭加形成,差分自回归滑动平均模型(ARIMA)[7]形式跟ARMA类似。PeterA.Dinda[7]等人对几种模型进行了评估,实验结果证明,自回归的预测效果最好。其建模简单,容易实现。除此之外,自回归模型稳定,而且计算复杂度较低,计算速度快,消耗的运行时间比其他模型少。通过对AR模型的进一步研究,发现国内外将AR模型应用于多种领域的预测,例如,功率谱估计、股票价格预测、主机负载预测等。
本文将AR模型用于负载预测中,使用AIC准则确定模型的阶数,然后通过最小二乘的方法估计AR模型的参数,再选取一个权值矩阵来对参数进行优化,改进传统的AR模型误差得到了大幅度减少。
1 负载预测模型
基于加权改进的AR预测模型如图1所示。
图1 负载预测模型
其中,X1到Xk是前k个时间序列值,经过加权优化的最小二乘AR模型后得到下一个时刻的预测值Xk+1。
自回归模型是最常用的一种线性模型,它使用历史的输出数据来预测未来的数据。
AR模型表示[8]:
(1)
(2)
其中:X为时间序列,an是白噪声,φi(i=1,2…p)是AR模型的参数,该参数是通过某一种参数估计的方式得出。
在使用观测记录得到的数据进行预测前,由于数据波动过大,直接使用在AR模型上效果不佳,所以需要对数据进行预处理。常用的预处理方法有差分法[9]和数据标准化[10],本文将两种方法结合来对数据做预处理,消除数据的趋势性以及平滑数据。
1.1 负载预测模型阶数的确定
AR模型定阶的方法有FPE准则[11]、 BIC准则[12]、AIC准则[13-14],本文选取AIC准则来确定AR模型的阶数。赤池信息准则(AIC)是日本统计学家赤池弘次提出的。AIC准则简便且易实现,减少了繁琐的步骤,方便了模型的建立。虽然AIC准则在数学表达式上是简单的,但它却能解决复杂的模型建立问题。
AIC准则函数:
AIC=nloge+2p
(3)
其中:p为AR模型的阶数,p∈(1-n),n为时间序列的个数,e为方差系数。
利用循环求解各个p值对应的AIC值,从中选取最小的AIC值所对应的p值,并使用该p值作为AR模型的阶数来完成后面的建模步骤。
1.2 负载预测模型的参数估计
为了建立加权最小二乘AR模型,除了模型的定阶以外,还需要求出AR模型的参数φi(i=1,2…p)。参数估计的方法有两大类,分别为直接法和间接法。本文先采用直接法中的最小二乘法进行参数估计,然后再选取加权矩阵来优化参数估计。
1.2.1 最小二乘参数估计
最小二乘法的精度高,参数估计无偏差,而且简单易实现,也是最常用的一种参数估计的方法。
对于最小二乘的矩阵形式[15]:
(4)
其中,
(5)
(6)
(7)
p为AIC准则确定的AR模型阶数,X为时间序列,φ为需要求解的参数,n为时间序列的个数。
(8)
1.2.2 加权优化参数估计
采用最小二乘法进行参数估计虽然简单方便,但是它只是考虑了Y的观测值中所含有的误差,这样会导致估计出的参数也存在一定误差,本文选取加权矩阵[16]的方法来优化最小二乘法的参数估计,可消除异方差,改善误差情况。
此处我们选取残差的平方来构建一个对角矩阵作为权值矩阵。
(9)
(10)
e为使用最小二乘参数估计得出的误差值,W为选取的权值矩阵,β为加权最小二乘参数估计。加权优化后的参数值见表1和表2。
表1 CPU负载数据加权优化后的参数
表2 部分内存使用率数据加权优化后的参数
1.3 误差计算
建模完成后,为了对比加权最小二乘法参数估计的AR模型与传统的一阶AR模型,本文采用平均绝对误差(MeanAbsoluteError)[17]来求解误差。这种方法比平均误差更好,更能反映预测值的误差情况,因为它避免了正负误差的相互抵消的情况。
ei=Fi-Xi
(11)
(12)
其中:Fi表示第i个预测值,Xi表示第i个观测数据,ei表示第i个预测值的误差,MAE为平均绝对误差。
算法1:加权最小二乘AR模型算法。
1)通过SNPM协议取出不同时间点不同CPU以及内存的情况并生成时间序列,获取数据后对数据进行差分和标准化的预处理;
2)通过AIC准则求出最小的AIC对应的p值作为模型的阶数;
3)用最小二乘法求解出AR模型的参数φ,再选取一个权值矩阵对参数进行优化,得到优化后的AR模型参数β。
4)将参数带入AR模型的表达式,得到预测值。
5)进行误差计算。
2 实验结果
为了验证该负载预测模型的可行性以及优化性,实验使用matlab进行仿真,分别对CPU负载以及内存使用率进行预测。CPU负载的数据采取在4个不同编号的CPU上进行观测,每5分钟记录一次。内存使用率的数据来源于4个不同资源ID在不同时刻的内存使用情况。实验用小型机配置参数表见表3。
表3 实验用小型机配置参数
2.1 数据预处理结果
在对模型定阶求参数之前先对数据进行预处理,少量原始数据与预处理数据对比表见表4和表5。预处理后的数据波动范围得到了减小。
表4 CPU负载数据预处理结果
表5 内存使用率数据预处理结果
2.2 CPU负载预测结果
选取第一组CPU负载数据分别使用一阶AR模型和加权最小二乘AR模型对CPU观测值进行拟合,拟合结果如图2~3。
图2 CPU负载AR(1)拟合图
图3 CPU负载WLS+AR拟合图
从拟合效果图中我们可以看出,经过改进后的模型能够更准确的预测波动很大的数据点,拟合效果得到改善。
由于CPU负载序列的数据量太大,从拟合效果图中不能清楚的看到预测效果。所以,我们提取一部分的预测值进行的对比,效果如图4。
图4 AR(1)与WLS+AR负载预测对比
从预测对比图中我们可以看出一阶AR模型的预测值和实际的观测值偏差稍大,而经过参数优化后的AR模型,也就是加权最小二乘参数估计的AR模型,其预测值的趋势跟实际观测值一致,误差也比一阶AR模型小很多。
2.3 内存使用率预测结果
分别使用一阶AR模型和加权最小二乘参数估计的AR模型对内存使用率进行拟合,其拟合结果如图5~6。拟合效果图表明,加权改进后的模型预测更精准。
图5 内存使用率AR(1)拟合图
图6 内存使用率WLS+AR拟合图
使用一阶AR模型和加权最小二乘AR模型预测内存使用率的情况如图7。对比图显示,改进后的模型几乎能精准预测每个值。
图7 AR(1)与WLS+AR内存预测对比
2.4 精度估计
2.4.1CPU负载预测误差
通过对四组CPU负载数据分别采用AR(1)、最小二乘参数估计的AR以及加权最小二乘参数估计的AR进行预测,计算得出的误差对比见表5。
表5 CPU负载预测误差
2.4.2 内存使用率预测误差
通过对四组不同内存使用率的数据进行3种方法的预测,计算出误差对比见表6。
表6 内存使用率预测误差
从表5和表6中我们可以发现,经过加权改进后的AR模型在进行CPU负载预测和内存使用率预测时,平均绝对误差下降了很多,证明该模型的精确度更高。
2.5 负载模型的实际应用结果
通过将负载预测算法模型运用在自动化运维监控系统上,预测出CPU负载以及内存负载在未来时刻的数值,效果如图8和图9。
图8 自动化运维监控系统CPU预测
图9 自动化运维监控系统内存预测
3 结束语
本文采用加权最小二乘法来进行AR模型的参数估计,相比一阶AR模型,改善后的模型对不同的测试数据能求出最适合的阶数,从而使预测更精准。相比使用最小二乘法进行参数估计,加权最小二乘AR模型消除了异方差,预测效果得到了改善。由于每组CPU负载的数据以及内存使用率的数据存在一定的差别,所以每组数据预测出来的误差也存在一定差异,但差别较小。从实验中可得加权最小二乘AR模型在负载预测上的效果要明显优于传统一阶AR模型。
[1]GeorgeEPBox,GwilymM.Jenkins,GregoryC.Reinsel,TimeseriesAnalysis:ForecasingandControl[M].Wiley,2008.
[2] 杨 立,左 春,王裕国.保险洪灾损失预测模型[J].计算机学报,2005, 17(11):2523-2529.
[3] 姜慧研,宗 茂,刘相莹.基于ACO-SVM的软件缺陷预测模型的研究[J].计算机学报,2011,34(6):1148-1154.
[4] 张春霞,张讲社.选择性集成学习算法综述[J].计算机学报,2011,34(8):1139-1410.
[5] 张善文, 雷英杰, 冯有前.MATLAB在时间序列分析中的应用[M]. 西安:西安电子科技大学出版社,2007.
[6] 胡泽文,肖明清.基于时间序列模型的故障预测研究[J].计算机测量与控制,2013,21(6):1421-1427.
[7] 付继文.分布式环境中的性能预测方法[D].上海:上海交通大学,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] 马立平.统计数据标准化—无量纲化方法[J].北京统计,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] 魏峰远, 郭继发, 李卫贤. 基于AIC准则的回归方法在建筑物变形分析中的应用[J]. 工程勘察,2007,7:46-52.
[15] 刘书静, 罗海勇,吴 彬,等. 基于最小二乘测距定位算法信标最优部署模型[J]. 计算机学报,2013,36(3):546-556.
[16] 任 杰,刘家瑛,白 蔚,等.基于隐形式分段自回归模型的图像插值算法[J].软件学报,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-), 男, 四川成都人, 工程师, 硕士, 主要从事电力信息化研究、建设工作方向的研究。
1671-4598(2016)03-0248-04DOI:10.16526/j.cnki.11-4762/tp
TP
A