国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARIMA-LSTM組合模型的應(yīng)用系統(tǒng)響應(yīng)時(shí)間預(yù)測(cè)?

2021-06-02 07:28高文俊章玉龍
關(guān)鍵詞:殘差時(shí)刻預(yù)測(cè)

高文俊 李 志 閔 星 章玉龍

(安徽繼遠(yuǎn)軟件有限公司 合肥 230088)

1 引言

隨著計(jì)算機(jī)技術(shù)飛速發(fā)展,數(shù)據(jù)規(guī)模和復(fù)雜度指數(shù)級(jí)增加,人們?cè)絹?lái)越依賴于各種應(yīng)用系統(tǒng)。響應(yīng)時(shí)間是用戶最能直觀感受到的評(píng)價(jià)應(yīng)用系統(tǒng)性能的主要指標(biāo)之一。例如,在搜索網(wǎng)站查詢的響應(yīng)時(shí)間過長(zhǎng),用戶便會(huì)失去耐心而離開;響應(yīng)時(shí)間的一般定義是用戶從發(fā)出服務(wù)請(qǐng)求至接受到反饋信息之間的時(shí)間間隔[1]。在實(shí)際應(yīng)用中,保證應(yīng)用系統(tǒng)的響應(yīng)時(shí)間始終處于用戶可接受的范圍內(nèi)是至關(guān)重要的,而保證的前提則是對(duì)響應(yīng)時(shí)間進(jìn)行準(zhǔn)確的預(yù)測(cè)評(píng)估,實(shí)現(xiàn)提前感知并解決問題。

對(duì)應(yīng)用系統(tǒng)響應(yīng)時(shí)間的預(yù)測(cè),即根據(jù)響應(yīng)時(shí)間的歷史序列數(shù)據(jù)預(yù)測(cè)未來(lái)時(shí)間段的序列值,可借鑒常用的時(shí)間序列預(yù)測(cè)方法和模型。傳統(tǒng)的時(shí)間序列預(yù)測(cè)方法大多基于統(tǒng)計(jì)學(xué)方法,如鄭曉霞等[2]運(yùn)用指數(shù)平滑法對(duì)Web服務(wù)的響應(yīng)時(shí)間進(jìn)行了動(dòng)態(tài)預(yù)測(cè);李明等[3]運(yùn)用ARMA模型對(duì)深滬股市未來(lái)5天的短期指數(shù)進(jìn)行了有效預(yù)報(bào)。近年來(lái),神經(jīng)網(wǎng)絡(luò)模型因其可無(wú)限逼近任何復(fù)雜函數(shù)的特性也逐漸被應(yīng)用到時(shí)序數(shù)據(jù)預(yù)測(cè)模型中。2001年,吳微等[4]運(yùn)用BP神經(jīng)網(wǎng)絡(luò)對(duì)滬市股票市場(chǎng)的漲跌進(jìn)行了有效預(yù)測(cè);王鑫等[5]基于飛機(jī)故障數(shù)據(jù),引入LSTM神經(jīng)網(wǎng)絡(luò)對(duì)故障時(shí)間序列進(jìn)行預(yù)測(cè)。還有其他一些研究者使用增強(qiáng)學(xué)習(xí)和遺傳算法研究了包括響應(yīng)時(shí)間、CPU、網(wǎng)絡(luò)帶寬等的預(yù)測(cè)評(píng)估[6~8]。

應(yīng)用系統(tǒng)的響應(yīng)時(shí)間往往受多種因素影響,其中既包含常規(guī)的線性趨勢(shì)又包含復(fù)雜多變的非線性規(guī)律,使用單一模型進(jìn)行擬合難以兩者兼顧。針對(duì)這一問題,本文提出一種組合模型ARI?MA-LSTM對(duì)應(yīng)用系統(tǒng)的響應(yīng)時(shí)間進(jìn)行預(yù)測(cè)評(píng)估,其中ARIMA模型用以提取響應(yīng)時(shí)間序列數(shù)據(jù)的線性趨勢(shì),再通過LSTM模型擬合ARIMA模型殘差中的非線性規(guī)律。實(shí)驗(yàn)結(jié)果表明,所提方法相比于單一模型的擬合性能更好,預(yù)測(cè)精度更高。

2 相關(guān)理論基礎(chǔ)

2.1 ARIMA模型

ARIMA模型(Autoregressive Integrated Moving Average model)由博克思(Box)和詹金斯(Jenkins)于70年代初提出,它的基本思想是時(shí)間序列的當(dāng)前時(shí)刻值與過去時(shí)刻值、隨機(jī)干擾量呈線性關(guān)系,通過找到擬合這種線性關(guān)系的線性函數(shù)即可根據(jù)歷史序列數(shù)據(jù)對(duì)未來(lái)時(shí)刻序列值進(jìn)行預(yù)測(cè)。ARI?MA模型本質(zhì)是ARMA模型的轉(zhuǎn)化,其數(shù)學(xué)表達(dá)式為

其中,Xt為序列當(dāng)前時(shí)刻值,Xt-j(j=1,2,…,p)是過去p個(gè)時(shí)刻的序列值,φi(i=1,2,…,p)表示各階自回歸項(xiàng)系數(shù),μt為殘差,θi(i=1,2,…q)表示回歸系數(shù),Θ(L)為q階移動(dòng)平均系數(shù)多項(xiàng)式,記作ARMA(p,q)。ARMA模型只能處理平穩(wěn)序列,對(duì)于非平穩(wěn)序列需通過差分處理轉(zhuǎn)換成平穩(wěn)序列,在ARMA模型的基礎(chǔ)上經(jīng)差分處理過的模型被稱為ARIMA模型,記作ARIMA(p,d,q),其中d為差分階次。

ARIMA模型的建模過程一般分四個(gè)步驟:

1)序列平穩(wěn)化處理:一般可通過觀察法觀測(cè)或單位根法來(lái)檢測(cè)時(shí)間序列樣本的平穩(wěn)性,若為非平穩(wěn)序列,則需經(jīng)過差分處理以使序列平穩(wěn)化。

2)模型定階:ARIMA(p,d,q)模型有三個(gè)參數(shù)需要確定,步驟1)中已確定參數(shù)d,可通過觀察樣本的ACF圖和PACF圖來(lái)選取參數(shù)p和q。一般以ACF圖和PACF圖中各自截尾的位置作為p和q的最大值,得到多種參數(shù)組合,再利用BIC信息量準(zhǔn)則從中選擇一組最優(yōu)的模型參數(shù)。

3)模型檢驗(yàn):可通過檢驗(yàn)?zāi)P蜌埐钍欠駷榘自肼曅蛄衼?lái)驗(yàn)證該模型是否充分有效。

4)預(yù)測(cè):根據(jù)歷史時(shí)間序列數(shù)據(jù)對(duì)序列未來(lái)時(shí)刻值進(jìn)行預(yù)測(cè)。

2.2 LSTM模型

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)因其擬合非線性時(shí)間序列的良好性能而被廣泛研究和應(yīng)用,但其在實(shí)際應(yīng)用中會(huì)呈現(xiàn)“記憶遺失”特性,即著名的梯度消失問題[9]。為解決這一問題,Hochreiter和Schmidhuber于1997年提出了RNN的改進(jìn)版——LSTM神經(jīng)網(wǎng)絡(luò)模型[10](Long Short-Term Memory)。RNN保存記憶的核心結(jié)構(gòu)“隱藏層”被重新設(shè)計(jì),在原本只有一個(gè)狀態(tài)的隱藏層中又添加一個(gè)單元狀態(tài)(cell state)來(lái)保存長(zhǎng)期記憶,并通過一個(gè)稱作“門”的結(jié)構(gòu)讓信息選擇式通過。LSTM隱藏層網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 LSTM隱藏層網(wǎng)絡(luò)結(jié)構(gòu)圖

圖1中的加粗部分即是添加的單元狀態(tài)C,通過三個(gè)控制開關(guān)(三個(gè)門)來(lái)對(duì)C中保存的長(zhǎng)期信息進(jìn)行控制。首先,通過“遺忘門”來(lái)控制上一時(shí)刻的單元狀態(tài)Ct-1有多少信息保留到當(dāng)前時(shí)刻Ct,遺忘門的控制計(jì)算如式(2)所示。

其中,通過“輸入門”來(lái)控制當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入xt有多少保存到單元狀態(tài)Ct,輸入門的控制計(jì)算如式(3)所示。

再根據(jù)上一次的輸出和本次輸入來(lái)計(jì)算當(dāng)前輸入的單元狀態(tài),計(jì)算如式(4)所示。

經(jīng)遺忘門操作已過濾掉Ct-1中該被丟棄的信息,經(jīng)輸入門操作獲取了當(dāng)前時(shí)刻輸入信息中該被加入進(jìn)來(lái)的新信息。至此可以更新當(dāng)前時(shí)刻的單元狀態(tài)Ct,計(jì)算如式(5)所示。

最后,通過“輸出門”來(lái)控制單元狀態(tài)Ct有多少輸出到LSTM的當(dāng)前輸出值ht,輸出門的控制計(jì)算和輸出信息計(jì)算如式(6)和式(7)所示。

在式(2)~式(7)中,Wf、Wi、Wc、Wo為各控制門的權(quán)重矩陣,bf、bi、bc、bo為各控制門的偏置項(xiàng);σ和tanh分別是激活函數(shù)sigmoid和tanh函數(shù),描述各控制門允許多少信息量通過。

LSTM模型的建模過程分為以下幾個(gè)步驟:

1)輸入數(shù)據(jù)預(yù)處理

首先,將輸入數(shù)據(jù)按時(shí)間窗的大小轉(zhuǎn)換成二維矩陣形式;其次,對(duì)輸入數(shù)據(jù)做歸一化處理,本文采用z-score標(biāo)準(zhǔn)化指標(biāo)對(duì)輸入數(shù)據(jù)歸一化。

2)初始化LSTM模型

LSTM模型的初始化包含很多事項(xiàng),其中激活函數(shù)的選取和采用何種措施來(lái)避免過擬合現(xiàn)象直接影響了模型的最終結(jié)果。本文選取具有梯度穩(wěn)定性的ReLU函數(shù)作為L(zhǎng)STM網(wǎng)絡(luò)的激活函數(shù);選擇均方誤差MSE函數(shù)作為模型訓(xùn)練的損失函數(shù),并對(duì)損失函數(shù)進(jìn)行L2正則化處理,通過L2正則化限制模型權(quán)重的大小來(lái)有效防止過擬合現(xiàn)象的發(fā)生。

3)梯度訓(xùn)練確定權(quán)值

梯度訓(xùn)練的優(yōu)化算法有很多,如隨機(jī)梯度下降[11]、AdaGrad[12]、RMSProp[13]等。本文采用對(duì)學(xué)習(xí)率具有動(dòng)態(tài)約束功能的Adam(Adaptive Moment Es?timation)算法[14]對(duì)學(xué)習(xí)率進(jìn)行優(yōu)化。Adam算法融合了AdaGrad和RMSProp算法的優(yōu)勢(shì),能夠動(dòng)態(tài)計(jì)算并調(diào)整不同參數(shù)的學(xué)習(xí)率。

4)訓(xùn)練輸出并反歸一化

訓(xùn)練模型得到的輸出值并不是最終結(jié)果,需將其反歸一化處理以得到模型的實(shí)際預(yù)測(cè)結(jié)果值。

3 ARIMA-LSTM組合模型構(gòu)建

應(yīng)用系統(tǒng)響應(yīng)時(shí)間的變化規(guī)律復(fù)雜多變,其中既含有線性趨勢(shì),又包含非線性規(guī)律,僅使用單一模型進(jìn)行預(yù)測(cè)難以完全擬合。本文基于這樣的思想構(gòu)建組合模型,響應(yīng)時(shí)間的歷史數(shù)據(jù)首先經(jīng)過ARIMA模型過濾掉序列數(shù)據(jù)中的線性趨勢(shì),那么非線性規(guī)律則包含在ARIMA模型的殘差中;再將殘差輸入LSTM模型以提取其中的非線性規(guī)律;最后,將ARIMA模型的預(yù)測(cè)結(jié)果與LSTM模型的預(yù)測(cè)結(jié)果相疊加得到最終的預(yù)測(cè)結(jié)果。組合模型的流程框架如圖2所示。

圖2 ARIMA-LSTM組合模型流程圖

上圖所示組合模型流程的數(shù)學(xué)描述如下。假設(shè)序列數(shù)據(jù)yt可由式(8)表示:

其中,Lt描述序列數(shù)據(jù)中的線性成分,Nt代表序列數(shù)據(jù)中的非線性成分。則組合模型建模的流程為

1)先利用ARIMA模型對(duì)序列數(shù)據(jù)建模,獲取其線性成分的預(yù)測(cè)值。非線性成分則包含在殘差中。其數(shù)學(xué)表達(dá)如下:

其中,et表示包含非線性成分的殘差,為ARI?MA模型的預(yù)測(cè)值。

2)得到殘差et后,利用LSTM模型對(duì)其建模,獲取非線性成分的預(yù)測(cè)值,其數(shù)學(xué)表達(dá)如下:

其中,f(·)為L(zhǎng)STM模型建立的關(guān)系函數(shù),εt是隨機(jī)誤差。

3)最后,將和相加得到最終預(yù)測(cè)結(jié)果,即:

值得注意的是,為了保證LSTM模型對(duì)ARIMA模型殘差的預(yù)測(cè)精度,本文采取迭代預(yù)測(cè)方法,即對(duì)每下一時(shí)刻序列值的預(yù)測(cè)都在經(jīng)上一時(shí)刻預(yù)測(cè)值變更后的新模型上進(jìn)行預(yù)測(cè),而不是使用測(cè)試數(shù)據(jù)預(yù)測(cè)未來(lái)每個(gè)時(shí)刻的序列值。

4 仿真研究

4.1 數(shù)據(jù)來(lái)源

為了驗(yàn)證所提組合模型的有效性,本節(jié)結(jié)合一個(gè)應(yīng)用系統(tǒng)的響應(yīng)時(shí)間預(yù)測(cè)實(shí)例進(jìn)行實(shí)驗(yàn)論證。實(shí)驗(yàn)數(shù)據(jù)來(lái)源于對(duì)國(guó)家電網(wǎng)網(wǎng)絡(luò)大學(xué)平臺(tái)的響應(yīng)時(shí)間監(jiān)測(cè)數(shù)據(jù),數(shù)據(jù)集的時(shí)間覆蓋范圍為2018-06-01~2018-06-10,采集頻率為5min,每天有288個(gè)數(shù)據(jù),10天共有2880個(gè)。由于受偶然因素影響(包括斷網(wǎng)或服務(wù)器故障),原始數(shù)據(jù)可能存在異常值,這會(huì)對(duì)時(shí)間序列的預(yù)測(cè)產(chǎn)生誤導(dǎo)。為了降低這些異常值對(duì)預(yù)測(cè)過程的影響,本文采用經(jīng)典的箱線圖法來(lái)識(shí)別異常值,并將超過1.5倍四分位數(shù)差之和與第3四分位數(shù)的序列值作為異常點(diǎn)去除。對(duì)于被剔除異常值的個(gè)別時(shí)刻上的數(shù)據(jù)缺失,采取將該時(shí)刻前后鄰接的兩個(gè)時(shí)刻序列值的平均值作為填充值。觀察數(shù)據(jù)集會(huì)發(fā)現(xiàn),數(shù)據(jù)在每天下午的6點(diǎn)到12點(diǎn)的波動(dòng)性很大,這與人們一般在下班后上網(wǎng)絡(luò)大學(xué)平臺(tái)進(jìn)行學(xué)習(xí)的習(xí)性相符。因此將最后一天下午6點(diǎn)到12點(diǎn)的共72個(gè)數(shù)據(jù)作為測(cè)試集,其余共2808個(gè)數(shù)據(jù)作為訓(xùn)練集。

4.2 評(píng)價(jià)指標(biāo)

本文采用三種具有代表性的評(píng)測(cè)誤差標(biāo)準(zhǔn)來(lái)評(píng)估預(yù)測(cè)的精確度,分別是均方根誤差(RMSE)、平均絕對(duì)百分比誤差(MAPE)和平均絕對(duì)偏差(MAE),它們的數(shù)學(xué)表達(dá)如下:

其中,F(xiàn)i表示第i個(gè)預(yù)測(cè)值,Ri是第i個(gè)真實(shí)值,n是序列長(zhǎng)度(樣本點(diǎn)個(gè)數(shù))。RMSE、MAPE以及MAE的值越小表明模型的預(yù)測(cè)誤差越小,精度越高,則模型的擬合能力越好。

4.3 結(jié)果分析

4.3.1 響應(yīng)時(shí)間預(yù)測(cè)的ARIMA模型建立

圖3為監(jiān)測(cè)數(shù)據(jù)的時(shí)間序列圖,其中圖3(a)為經(jīng)預(yù)處理后的原始數(shù)據(jù)圖,從中可看出,數(shù)據(jù)具有一定的周期性,且為非平穩(wěn)序列。圖3(b)為經(jīng)一階差分處理后的序列圖,從中可看出序列數(shù)據(jù)已基本平穩(wěn)化,經(jīng)ADF校驗(yàn)表明數(shù)據(jù)確已達(dá)到平穩(wěn)條件,因此設(shè)定模型參數(shù)d=1。

圖3 監(jiān)測(cè)數(shù)據(jù)的時(shí)間序列圖

然后根據(jù)ACF圖和PACF圖對(duì)模型參數(shù)p和q進(jìn)行初判斷,圖4(a)和圖4(b)分別展示了序列數(shù)據(jù)的ACF圖和PACF圖。從圖4(a)和圖4(b)中可看出,ACF圖在滯后1階之后截尾,而PACF圖在3階后截尾,則ARIMA模型參數(shù)q的最大值設(shè)為1,參數(shù)p的最大值設(shè)為3,適合的模型參數(shù)組合共有8種,既(p,d,q)=(0,1,0)、(0,1,1)、(0,1,2)、(0,1,3)、(1,1,0)、(1,1,1)、(1,1,2)、(1,1,3)。再分別計(jì)算各模型組合的BIC值,計(jì)算結(jié)果為參數(shù)組合(1,1,2)的BIC值最小,為171.15,則選擇(1,1,2)參數(shù)組合構(gòu)建ARIMA模型,并對(duì)響應(yīng)時(shí)間數(shù)據(jù)的測(cè)試集進(jìn)行預(yù)測(cè)。

4.3.2 LSTM預(yù)測(cè)ARIMA殘差的參數(shù)設(shè)置

實(shí)驗(yàn)平臺(tái)采用Keras框架,根據(jù)經(jīng)驗(yàn)和多次殘差實(shí)驗(yàn)對(duì)比,確定LSTM模型的參數(shù)進(jìn)行如下設(shè)置。輸入神經(jīng)元個(gè)數(shù)為4,隱藏層設(shè)置為具有300個(gè)神經(jīng)元的單隱藏層,迭代次數(shù)epochs為2000,batch_size為50。為進(jìn)一步防止過擬合現(xiàn)象的發(fā)生,模型訓(xùn)練中用到了dropout技術(shù)[15]。本實(shí)驗(yàn)?zāi)P偷膩G失率設(shè)置為0.1,即每輪權(quán)值更新時(shí)選擇10%的節(jié)點(diǎn)丟棄。損失函數(shù)為均方誤差MSE,激活函數(shù)為Relu,優(yōu)化器參數(shù)為rmsprop。

圖4 序列數(shù)據(jù)的自相關(guān)分析和偏自相關(guān)分析

4.3.3 不同模型預(yù)測(cè)結(jié)果對(duì)比

為直觀地看出各算法預(yù)測(cè)結(jié)果的優(yōu)劣,圖5給出了不同模型的預(yù)測(cè)結(jié)果圖。其中橫坐標(biāo)“time”表示從2016-06-10下午6點(diǎn)到下午12點(diǎn)(共6個(gè)小時(shí),72個(gè)時(shí)間點(diǎn),每個(gè)時(shí)間點(diǎn)的間隔為5min)的時(shí)間節(jié)點(diǎn),縱坐標(biāo)為對(duì)應(yīng)每個(gè)時(shí)間點(diǎn)的響應(yīng)時(shí)間值。從圖5中可看出,ARIMA算法預(yù)測(cè)結(jié)果的滯后性較大,且隨著時(shí)間推移,如時(shí)間點(diǎn)54以后,算法的擬合性驟降。BP模型的表現(xiàn)優(yōu)于ARIMA算法,但擬合性還是LSTM模型和ARIMA-LSTM組合模型相對(duì)更優(yōu),這也從側(cè)面說(shuō)明了LSTM模型在單預(yù)測(cè)模型中的突出表現(xiàn)。而與單模型LSTM相比,組合模型ARIMA-LSTMA的擬合性相對(duì)更好,預(yù)測(cè)精度更高。

表1給出了各模型預(yù)測(cè)結(jié)果的RMSE、MAPE和MAE值對(duì)比,從表1可看出,BP模型與ARIMA模型的預(yù)測(cè)精度相近。LSTM模型在各指標(biāo)上的值均低于BP模型和ARIMA模型,且差值較大,可見LSTM模型在時(shí)序預(yù)測(cè)方面的表現(xiàn)優(yōu)于前兩個(gè)模型。而ARIMA-LSTM組合模型在RMSE和MAE上的值明顯低于LSTM模型,在MAPE上的值也比LSTM模型略低,可見組合模型ARIMA-LSTM的預(yù)測(cè)精度高于LSTM模型。整體來(lái)看,所提組合模型ARIMA-LSTM的預(yù)測(cè)精度最高,性能最優(yōu)。

圖5 不同模型的預(yù)測(cè)結(jié)果對(duì)比

表1 不同模型預(yù)測(cè)結(jié)果的比較

5 結(jié)語(yǔ)

本文提出一種基于ARIMA-LSTM組合模型的應(yīng)用系統(tǒng)響應(yīng)時(shí)間預(yù)測(cè)方法。該方法利用ARIMA模型提取響應(yīng)時(shí)間序列數(shù)據(jù)中的線性成分,再通過LSTM模型擬合ARIMA模型殘差以捕獲序列數(shù)據(jù)中的非線性成分,最后集成得到最終預(yù)測(cè)結(jié)果。以國(guó)家電網(wǎng)網(wǎng)絡(luò)大學(xué)平臺(tái)中打開首頁(yè)的響應(yīng)時(shí)間預(yù)測(cè)實(shí)例進(jìn)行了實(shí)證研究,實(shí)驗(yàn)結(jié)果表明,相比于經(jīng)典的BP、ARIMA以及LSTM單一模型,所提組合模型ARIMA-LSTM的預(yù)測(cè)精度更高,擬合性更優(yōu),所提模型可行且有效。

猜你喜歡
殘差時(shí)刻預(yù)測(cè)
多級(jí)計(jì)分測(cè)驗(yàn)中基于殘差統(tǒng)計(jì)量的被試擬合研究*
基于改進(jìn)殘差網(wǎng)絡(luò)的熱軋帶鋼表面缺陷研究
選修2—2期中考試預(yù)測(cè)卷(B卷)
選修2—2期中考試預(yù)測(cè)卷(A卷)
用于處理不努力作答的標(biāo)準(zhǔn)化殘差系列方法和混合多層模型法的比較*
冬“傲”時(shí)刻
捕獵時(shí)刻
連續(xù)型過程的二元?dú)埐頣2控制圖
一天的時(shí)刻
《福彩3D中獎(jiǎng)公式》:提前一月預(yù)測(cè)號(hào)碼的驚人技巧!
洛宁县| 廊坊市| 莲花县| 尉氏县| 东光县| 金昌市| 龙游县| 大化| 隆安县| 论坛| 罗山县| 尼勒克县| 宜昌市| 弥勒县| 延边| 博客| 西青区| 商城县| 福建省| 丰城市| 宝丰县| 卫辉市| 霍邱县| 正蓝旗| 江达县| 丰城市| 甘肃省| 蒙自县| 长兴县| 清徐县| 清丰县| 鞍山市| 揭东县| 肃北| 孙吴县| 浏阳市| 丁青县| 股票| 乌什县| 和静县| 青海省|