文章編號: 2095-2163(2018)03-0188-04中圖分類號: 文獻標志碼: A
摘要: 關(guān)鍵詞: (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:
作者簡介:
收稿日期: 引言
應(yīng)用系統(tǒng)存儲負荷預測主要用于預測未來一周內(nèi)的存儲負荷,讓系統(tǒng)管理員及時了解當前和未來應(yīng)用系統(tǒng)的存儲負載情況,以便提前預防,確保系統(tǒng)安全穩(wěn)定運行。準確的存儲負荷預測可以利于全局統(tǒng)籌分配應(yīng)用系統(tǒng)的存儲空間,保證數(shù)據(jù)中心的長期持續(xù)與經(jīng)濟運行,合理安排應(yīng)用系統(tǒng)存儲空間擴容計劃,并科學控制數(shù)據(jù)中心存儲成本,是數(shù)據(jù)中心優(yōu)化和自動控制的前提,能有效降低數(shù)據(jù)中心PUE指數(shù),對綠色數(shù)據(jù)中心建設(shè)具有重要的意義。
目前應(yīng)用系統(tǒng)的存儲負荷預警多數(shù)采用設(shè)定存儲空間已使用比率閾值的方式,當存儲空間占用率超出設(shè)定的閾值大小時,向系統(tǒng)管理員發(fā)送警報,但不能進行存儲負載情況的短期預測。ARIMA模型考慮了序列的依存性和隨機波動的干擾性,數(shù)據(jù)類型不受限制,具有短期預測效果出眾的特點。同時,存儲空間隨時間變化存在很強的關(guān)聯(lián)性,歷史數(shù)據(jù)對未來的發(fā)展有一定的影響,故可使用ARIMA模型對存儲系統(tǒng)已使用空間進行短期預測,為數(shù)據(jù)中心存儲系統(tǒng)良性可靠運行提供科學依據(jù)。
1ARIMA模型
ARIMA(p,d,q)模型的全稱是差分自回歸移動平均模型,實質(zhì)是差分運算與ARMA模型的組合。其中,p表示自回歸項;d表示該序列轉(zhuǎn)化成平穩(wěn)序列過程中需調(diào)用差分運算的次數(shù);q表示移動平均項。
ARIMA模型是目前最常用的擬合非平穩(wěn)序列模型,又可進一步細分為自回歸、移動回歸和自回歸移動平均模型。對其研究得到闡釋解析如下。
1.1AR模型
具有如下結(jié)構(gòu)的模型為p階自回歸模型,記為AR(p)。數(shù)學公式可見如下:
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模型
具有如下結(jié)構(gòu)的模型為q階自回歸模型,記為MA(q)。數(shù)學公式可見如下:
xt =μ + εt - θ1εt-1- θ2εt-2 - … -θqεt-q (2)
其中,在t時刻的隨機變量Xt的取值xt是前q期的隨機擾動εt-1,εt-2,…,εt-q的多元線性函數(shù),誤差項為當期的隨機干擾ε,為零均值白噪聲序列。
1.3ARMA模型
具有如下結(jié)構(gòu)的模型為自回歸移動平均模型,記為ARMA(p,q)。數(shù)學公式可見如下:
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所示。這里,將給出各步驟內(nèi)容詳見如下。[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]原始序列的平穩(wěn)化處理。時間序列ARMA[JP]模型必須在平穩(wěn)時間序列的基礎(chǔ)上建立模型,但大多數(shù)序列都是非平穩(wěn)的,許多非平穩(wěn)序列差分后即成為平穩(wěn)序列。平穩(wěn)性檢驗的方法有時序圖檢驗、自相關(guān)檢驗和單位根檢驗。(2)白噪聲檢驗。判斷時間序列是否為純隨機序列。如果一個序列是純隨機序列,在其序列值之間沒有任何關(guān)系,可以停止對該序列的分析。常用的檢驗統(tǒng)計量有Q統(tǒng)計量、LB統(tǒng)計量。(3)模型識別方法一:對非平穩(wěn)白噪聲序列做自相關(guān)圖(ACF)和偏自相關(guān)圖(PACF),根據(jù)圖中數(shù)值的變化趨勢,確定模型中的p,q這2個參數(shù)。方法二:采用BIC準則對模型進行定階,從而選擇最優(yōu)模型。(4)模型檢驗。使用acorr_ljungbox()函數(shù)計算模型殘差白噪聲。(5)預測走勢。[BT4]2應(yīng)用ARIMA模型的存儲負載預測[BT5]2.1數(shù)據(jù)來源與處理研究節(jié)選了某高校數(shù)據(jù)中心2017年5月1日至6月16日從存儲系統(tǒng)中每天定時抽取的存儲內(nèi)容數(shù)據(jù),在原始數(shù)據(jù)的基礎(chǔ)上剔除重復數(shù)據(jù),從中提取sys_name、used_space、collect_time這3列數(shù)據(jù),其中存儲已使用空間單位為GB。預處理后的存儲負荷部分數(shù)據(jù)如圖2所示。
利用python中的Matplotlib庫對5月1日至6月16日的存儲負荷做時序圖,設(shè)計繪制效果如圖3所示。通過觀察圖形特征可知,存儲使用情況不具備周期性,表現(xiàn)出緩慢增長趨勢,序列非平穩(wěn)。[BT5]2.2ARIMA建模2.2.1序列平穩(wěn)性和白噪聲檢驗構(gòu)建ARIMA模型前,需要對存儲負荷序列進行平穩(wěn)性檢驗。本次研究采用單位根(ADF)的方法對數(shù)據(jù)進行平穩(wěn)性檢驗,經(jīng)檢驗p=0.721 2,單位根檢驗統(tǒng)計量對應(yīng)的p值顯著大于0.05,結(jié)合存儲負荷時序圖(見圖3),說明該時間序列不平穩(wěn)。對原始序列展開一階差分處理處理,再將一階差分序列提送ADF檢驗,p=1.336 8e-08,p值小于0.05,說明經(jīng)過一階差分后的序列平穩(wěn)。利用python StatsModels庫中的accrr_ljungbox( )函數(shù)進行序列白噪聲檢測,lb=6.97,p=0.008 28,輸出的p值遠小于0.05,因此一階差分后的序列就是平穩(wěn)非白噪聲序列。2.2.2模型識別一階差分后自相關(guān)圖顯示出一階截尾,偏自相關(guān)圖顯示出拖尾性,運行效果則如圖4所示。同時,采用極大似然比方法進行模型的參數(shù)估計,利用python StatsModels庫中的ARIMA( )函數(shù)基于BIC最小化原則進行自動篩選,確定p、q參數(shù),研究結(jié)果顯示ARIMA(0,1,1)模型的BIC最小,其值為408.366 015。最終確定ARIMA(0,1,1)為最優(yōu)模型。
參考文獻[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] 何書元. 應(yīng)用時間序列分析[M]. 北京:北京大學出版社,2007.
[3] 王燕. 應(yīng)用時間序列分析[M]. 4版. 北京:中國人民大學出版社,2015.
[4] 王振龍. 時間序列分析[M]. 北京:中國統(tǒng)計出版社,2002.
[5] 張良均,王路,譚立云,等. Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)[M]. 北京:機械工業(yè)出版社,2015.
[6] 崔和瑞,彭旭. 基于ARIMAX模型的夏季短期電力負荷預測[J]. 電力系統(tǒng)保護與控制,2015,43(4):108-114.
[7] 麥鴻坤,肖堅紅,吳熙辰,等. 基于R語言的負荷預測ARIMA模型并行化研究[J]. 電網(wǎng)技術(shù),2015,39(11):3216-3220.[ZK)][FL)]