文章编号: 2095-2163(2018)03-0188-04中图分类号: 文献标志码: A
摘要: 关键词: (1 Department of Computer Engineering, Shanxi Architectural College, Taiyuan 030006, China;
2 Department of Information Technology, Shanxi Professional College of Finance, Taiyuan 030008, China)
Abstract: High load rate of data center storage can cause performance reduction of application system and even lead to paralysis. So predicting storage load situation of the future could effectively avoid the system failure of application system due to exhaustion of storage capacity. In this paper, time series analysis is used to analyze the storage performance history data, and the ARIMA model of storage capacity prediction constructed based on python is used to realize the automatic warning of storage load.
Key words:
作者簡介:
收稿日期: 引言
应用系统存储负荷预测主要用于预测未来一周内的存储负荷,让系统管理员及时了解当前和未来应用系统的存储负载情况,以便提前预防,确保系统安全稳定运行。准确的存储负荷预测可以利于全局统筹分配应用系统的存储空间,保证数据中心的长期持续与经济运行,合理安排应用系统存储空间扩容计划,并科学控制数据中心存储成本,是数据中心优化和自动控制的前提,能有效降低数据中心PUE指数,对绿色数据中心建设具有重要的意义。
目前应用系统的存储负荷预警多数采用设定存储空间已使用比率阈值的方式,当存储空间占用率超出设定的阈值大小时,向系统管理员发送警报,但不能进行存储负载情况的短期预测。ARIMA模型考虑了序列的依存性和随机波动的干扰性,数据类型不受限制,具有短期预测效果出众的特点。同时,存储空间随时间变化存在很强的关联性,历史数据对未来的发展有一定的影响,故可使用ARIMA模型对存储系统已使用空间进行短期预测,为数据中心存储系统良性可靠运行提供科学依据。
1ARIMA模型
ARIMA(p,d,q)模型的全称是差分自回归移动平均模型,实质是差分运算与ARMA模型的组合。其中,p表示自回归项;d表示该序列转化成平稳序列过程中需调用差分运算的次数;q表示移动平均项。
ARIMA模型是目前最常用的拟合非平稳序列模型,又可进一步细分为自回归、移动回归和自回归移动平均模型。对其研究得到阐释解析如下。
1.1AR模型
具有如下结构的模型为p阶自回归模型,记为AR(p)。数学公式可见如下:
xt = 0 +1 xt-1 +2 xt-2+ … +p xt-p+ εt(1)
其中,在t时刻的随机变量Xt的取值xt是前p期xt-1,xt-2…,xt-p的多元线性回归,误差项为当期的随机干扰ε,为零均值白噪声序列。
1.2MA模型
具有如下结构的模型为q阶自回归模型,记为MA(q)。数学公式可见如下:
xt =μ + εt - θ1εt-1- θ2εt-2 - … -θqεt-q (2)
其中,在t时刻的随机变量Xt的取值xt是前q期的随机扰动εt-1,εt-2,…,εt-q的多元线性函数,误差项为当期的随机干扰ε,为零均值白噪声序列。
1.3ARMA模型
具有如下结构的模型为自回归移动平均模型,记为ARMA(p,q)。数学公式可见如下:
xt =[ZK(] 0 +1 xt-1 + 2 xt-2+… +p xt-p + εt -θ1εt-1- θ2εt-2 - …… -θqεt-q[ZK)][JY](3)综上可知,这是ARIMA模型的一般形式。xt是受过去p期的序列值和过去q期的误差项的共同影响。当q=0时,是AR(p)模型;当p=0时,是MA(q)模型。[BT5]1.4ARIMA模型建模过程研究得到ARIMA模型的建模步骤流程如图1所示。这里,将给出各步骤内容详见如下。[PS李刚1.EPS;S*3;X*3,BP#][HT6H][ST6HZ][WT6HZ][JZ]图1时间序列ARIMA模型建模步骤[JZ]Fig. 1Time series ARIMA model modeling steps[HT5SS][ST5BZ][WT5BZ](1)[JP2]原始序列的平稳化处理。时间序列ARMA[JP]模型必须在平稳时间序列的基础上建立模型,但大多数序列都是非平稳的,许多非平稳序列差分后即成为平稳序列。平稳性检验的方法有时序图检验、自相关检验和单位根检验。(2)白噪声检验。判断时间序列是否为纯随机序列。如果一个序列是纯随机序列,在其序列值之间没有任何关系,可以停止对该序列的分析。常用的检验统计量有Q统计量、LB统计量。(3)模型识别方法一:对非平稳白噪声序列做自相关图(ACF)和偏自相关图(PACF),根据图中数值的变化趋势,确定模型中的p,q这2个参数。方法二:采用BIC准则对模型进行定阶,从而选择最优模型。(4)模型检验。使用acorr_ljungbox()函数计算模型残差白噪声。(5)预测走势。[BT4]2应用ARIMA模型的存储负载预测[BT5]2.1数据来源与处理研究节选了某高校数据中心2017年5月1日至6月16日从存储系统中每天定时抽取的存储内容数据,在原始数据的基础上剔除重复数据,从中提取sys_name、used_space、collect_time这3列数据,其中存储已使用空间单位为GB。预处理后的存储负荷部分数据如图2所示。
利用python中的Matplotlib库对5月1日至6月16日的存储负荷做时序图,设计绘制效果如图3所示。通过观察图形特征可知,存储使用情况不具备周期性,表现出缓慢增长趋势,序列非平稳。[BT5]2.2ARIMA建模2.2.1序列平稳性和白噪声检验构建ARIMA模型前,需要对存储负荷序列进行平稳性检验。本次研究采用单位根(ADF)的方法对数据进行平稳性检验,经检验p=0.721 2,单位根检验统计量对应的p值显著大于0.05,结合存储负荷时序图(见图3),說明该时间序列不平稳。对原始序列展开一阶差分处理处理,再将一阶差分序列提送ADF检验,p=1.336 8e-08,p值小于0.05,说明经过一阶差分后的序列平稳。利用python StatsModels库中的accrr_ljungbox( )函数进行序列白噪声检测,lb=6.97,p=0.008 28,输出的p值远小于0.05,因此一阶差分后的序列就是平稳非白噪声序列。2.2.2模型识别一阶差分后自相关图显示出一阶截尾,偏自相关图显示出拖尾性,运行效果则如图4所示。同时,采用极大似然比方法进行模型的参数估计,利用python StatsModels库中的ARIMA( )函数基于BIC最小化原则进行自动筛选,确定p、q参数,研究结果显示ARIMA(0,1,1)模型的BIC最小,其值为408.366 015。最终确定ARIMA(0,1,1)为最优模型。
参考文献[1] [ZK(#〗[HJ*2] ROUT M, MAJHI B, MAJHI R, et al. Forecasting of currency exchange rates using an adaptive ARMA model with differential evolution based training[J]. Journal of King Saud University-Computer and Information Sciences, 2014, 26 (1): 7-18.
[2] 何书元. 应用时间序列分析[M]. 北京:北京大学出版社,2007.
[3] 王燕. 应用时间序列分析[M]. 4版. 北京:中国人民大学出版社,2015.
[4] 王振龙. 时间序列分析[M]. 北京:中国统计出版社,2002.
[5] 张良均,王路,谭立云,等. Python数据分析与挖掘实战[M]. 北京:机械工业出版社,2015.
[6] 崔和瑞,彭旭. 基于ARIMAX模型的夏季短期电力负荷预测[J]. 电力系统保护与控制,2015,43(4):108-114.
[7] 麦鸿坤,肖坚红,吴熙辰,等. 基于R语言的负荷预测ARIMA模型并行化研究[J]. 电网技术,2015,39(11):3216-3220.[ZK)][FL)]