楊國(guó)麗
(北方工業(yè)大學(xué),北京 100043)
隨著我國(guó)經(jīng)濟(jì)的不斷發(fā)展,我們的生活也變得越來(lái)越便捷,生活水平的顯著提高,使得對(duì)城鎮(zhèn)的管道系統(tǒng)的要求逐漸加大[1];同時(shí)交通事業(yè)的迅猛發(fā)展,使得交通道路的堵塞情況愈加嚴(yán)峻,造成通行率低下、交通安全事故頻頻發(fā)生的問(wèn)題;并且計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展也促進(jìn)了各類應(yīng)用的產(chǎn)生,這對(duì)網(wǎng)絡(luò)的性能及服務(wù)質(zhì)量有了更高的要求等,于是各種問(wèn)題也漸漸凸顯了出來(lái)。
不論是管道流量、交通流量還是網(wǎng)絡(luò)流量,全面準(zhǔn)確地流量分析與預(yù)測(cè),對(duì)于之后的優(yōu)化及其服務(wù)質(zhì)量抑或是管控工作都是極其重要的,是實(shí)現(xiàn)服務(wù)質(zhì)量保證的一種重要基礎(chǔ)技術(shù),也是發(fā)揮大數(shù)據(jù)輔助決策功能的重要基礎(chǔ),所以我們進(jìn)行實(shí)時(shí)、準(zhǔn)確的流量預(yù)測(cè)研究是具有非常重要的現(xiàn)實(shí)意義。為給排水管道、交通路線優(yōu)化,抑或是網(wǎng)絡(luò)基站站址的規(guī)劃提供依據(jù),我們對(duì)傳統(tǒng)的時(shí)間序列預(yù)測(cè)進(jìn)行了介紹和對(duì)比,基于深度學(xué)習(xí)的建模的準(zhǔn)確性是流量預(yù)測(cè)的關(guān)鍵。
不論哪種流量形式我們都可從時(shí)間維度來(lái)考慮將其看作時(shí)間序列問(wèn)題相關(guān)的預(yù)測(cè),而不管交通流量、管道流量還是網(wǎng)絡(luò)流量,這些流量的變化形式都是一個(gè)實(shí)時(shí)、非平穩(wěn)的一個(gè)隨機(jī)的過(guò)程,并且都具有復(fù)雜性和不穩(wěn)定性等時(shí)間序列數(shù)據(jù)的基本特征,所以針對(duì)序列數(shù)據(jù)的特征如何提高流量預(yù)測(cè)精度一直是眾多學(xué)者一直關(guān)注并在研究的問(wèn)題。
Kalpakis等人提出了運(yùn)用自回歸移動(dòng)平均模型求和來(lái)表示時(shí)間序列,并為這個(gè)表示方法定義了一個(gè)相似性度量方式[2];王婷婷等人提出了利用灰色馬爾科夫模型對(duì)機(jī)場(chǎng)的進(jìn)出流量進(jìn)行了預(yù)測(cè)[3];R.Vinayakumar, K.P.Soman and P. Poornachandran提出了應(yīng)用LSTM長(zhǎng)短期記憶網(wǎng)絡(luò)模型對(duì)骨干網(wǎng)流量去進(jìn)行預(yù)測(cè)[4];覃明貴是提出了將神經(jīng)網(wǎng)絡(luò)與交通流量序列分割組合起來(lái)的一種組合預(yù)測(cè)模型,及時(shí)準(zhǔn)確的預(yù)測(cè)出道路交通狀態(tài)[5];芮蘭蘭,李欽銘設(shè)計(jì)了基于極限學(xué)習(xí)機(jī)和交通流量序列分割的一種組合模型[6],他們是先用K-means對(duì)交通流量數(shù)據(jù)序列在時(shí)間上進(jìn)行一個(gè)序列分割,其次利用ELM預(yù)測(cè)了短時(shí)交通流量序列進(jìn)行;總之,現(xiàn)階段時(shí)間序列數(shù)據(jù)它正以一種難以估計(jì)的速度產(chǎn)生于生活的每個(gè)領(lǐng)域,國(guó)內(nèi)外學(xué)者關(guān)于時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法一直不斷進(jìn)步與更新,隨著社會(huì)與工業(yè)的不斷發(fā)展,時(shí)間序列數(shù)據(jù)在不同環(huán)境,不同狀況下存在很大的差異,且大數(shù)據(jù)時(shí)代的急劇增長(zhǎng),數(shù)據(jù)規(guī)模的越來(lái)越大,這使得我們對(duì)時(shí)間序列數(shù)據(jù)的預(yù)測(cè)精度有了更高的要求,我們需要建立一套準(zhǔn)確的模型。
我們傳統(tǒng)的流量預(yù)測(cè)方式主要都是將流量數(shù)據(jù)整形成一個(gè)流量的時(shí)間序列,即將流量預(yù)測(cè)問(wèn)題規(guī)劃成基于時(shí)間序列的預(yù)測(cè)問(wèn)題。時(shí)間序列預(yù)測(cè)主要是根據(jù)已有的時(shí)間序列數(shù)據(jù)預(yù)測(cè)該數(shù)據(jù)未來(lái)某個(gè)時(shí)間段的變化趨勢(shì),通過(guò)對(duì)擁有的時(shí)間序列數(shù)據(jù)進(jìn)行分析以及特征的提取,提取出來(lái)其中的變化特征,建立一個(gè)合適的數(shù)學(xué)模型,并將其運(yùn)用到我們要預(yù)測(cè)的數(shù)據(jù)中去,由此規(guī)律來(lái)預(yù)測(cè)未來(lái)的數(shù)據(jù)可能會(huì)發(fā)生的變化趨勢(shì)[7]。
針對(duì)流量預(yù)測(cè)問(wèn)題,已有國(guó)內(nèi)外學(xué)者展開了深入的研究,且取得不錯(cuò)的工作成果,針對(duì)流量預(yù)測(cè)這類時(shí)間序列的預(yù)測(cè)問(wèn)題,我們傳統(tǒng)的預(yù)測(cè)方法大致有兩種[8],一種是經(jīng)典的線性回歸模型,比如差分自回歸移動(dòng)平均模型,另一種是非線性預(yù)測(cè)模型,主要是基于機(jī)器學(xué)習(xí)的預(yù)測(cè)模型,比如神經(jīng)網(wǎng)絡(luò),梯度提升回歸樹,主持向量機(jī)等,且眾多實(shí)驗(yàn)顯示線性預(yù)測(cè)方法的預(yù)測(cè)效果遠(yuǎn)沒有非線性預(yù)測(cè)方法好。
時(shí)間序列就是按照時(shí)間的順序記錄的一系列有序的數(shù)據(jù),這些有序數(shù)又可以分為平穩(wěn)不平穩(wěn),基于時(shí)間序列的線性模型有比較多的種類,例如自回歸滑動(dòng)平均模型ARMA、移動(dòng)平均模型(MA)、自回歸模型AR等平穩(wěn)序列模型以及非平穩(wěn)序列ARIMA模型等[9-10]。
線性預(yù)測(cè)模型的理論基礎(chǔ)是對(duì)于平穩(wěn)非白噪聲序列,我們通常會(huì)構(gòu)建一個(gè)線性序列模型,接著要去擬合它的發(fā)展,然后以此來(lái)提煉并獲取到序列數(shù)據(jù)中蘊(yùn)含的有用信息。在針對(duì)平穩(wěn)序列{xt}進(jìn)行預(yù)測(cè)時(shí),其自回歸移動(dòng)平均(ARMA)模型可表示為:
我們?cè)谶\(yùn)用ARMA模型進(jìn)行預(yù)測(cè)的前提是序列要求是穩(wěn)定的,并且序列的均值和方差不會(huì)隨著時(shí)間變化。在許多實(shí)際問(wèn)題中,觀察到的時(shí)間序列不是穩(wěn)定的序列,不過(guò)可以通過(guò)以下方式進(jìn)行轉(zhuǎn)換:對(duì)不平穩(wěn)的序列進(jìn)行差分處理,就能轉(zhuǎn)化為相對(duì)穩(wěn)定的序列。我們常使用的方法是先差分在進(jìn)行ARMA建模,這就是ARIMA模型[11]。
但此種預(yù)測(cè)模型通常在短時(shí)間序列數(shù)據(jù)中計(jì)算比較簡(jiǎn)單,隨著我們需要預(yù)測(cè)的數(shù)據(jù)量逐漸增大,數(shù)據(jù)也愈加復(fù)雜,數(shù)據(jù)中時(shí)間序列的非線性特征更加明顯,由于流量的復(fù)雜性和不確定性,傳統(tǒng)方法的預(yù)測(cè)精度遠(yuǎn)遠(yuǎn)不夠。
機(jī)器學(xué)習(xí)其實(shí)就是人們讓機(jī)器去解析數(shù)據(jù)并找到規(guī)律,然后通過(guò)它找到的規(guī)律去對(duì)新的序列數(shù)據(jù)進(jìn)行處理,從中提取到某種有用的信息和規(guī)律,并利用學(xué)習(xí)到的規(guī)律對(duì)未知的數(shù)據(jù)進(jìn)行預(yù)測(cè)。作為一種數(shù)據(jù)驅(qū)動(dòng)算法,它具有高度擬合以及非線性估計(jì)能力的機(jī)器學(xué)習(xí)模型正成為流量預(yù)測(cè)的主流技術(shù),比如循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、人工神經(jīng)網(wǎng)絡(luò)(ANN)、支持向量機(jī)(SVR)等,其中神經(jīng)網(wǎng)絡(luò)是一種大的非線性機(jī)器學(xué)習(xí)模型。在神經(jīng)網(wǎng)絡(luò)中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的最主要特點(diǎn)就是在時(shí)間維度上建模,每個(gè)輸入變量都對(duì)應(yīng)一個(gè)時(shí)間步和多個(gè)特征,它是通過(guò)在網(wǎng)絡(luò)中構(gòu)建循環(huán)來(lái)對(duì)數(shù)據(jù)的時(shí)間維度建模,這樣一來(lái)它在時(shí)間序列數(shù)據(jù)中就可以展現(xiàn)出來(lái)更好的適應(yīng)性[12]。
長(zhǎng)短期記憶模型(LSTM)它是一種特殊的RNN模型,它主要是為了解決RNN模型梯度消失這一問(wèn)題而提出的[13],其主要特點(diǎn)是它的時(shí)間記憶單元中具有多層隱藏層,通過(guò)門機(jī)制來(lái)控制信息傳遞的累積速度,且可以有選擇地從前一時(shí)間狀態(tài)中去遺忘或加入新的信息,可以有效地改進(jìn)原始RNN存在的長(zhǎng)依賴問(wèn)題,以此來(lái)增強(qiáng)數(shù)據(jù)擬合的效果。
它是在RNN的隱藏層中添一個(gè)長(zhǎng)短期記憶單元,循環(huán)結(jié)構(gòu)中有著一組記憶單元與三種門結(jié)構(gòu)來(lái)對(duì)歷史信息進(jìn)行添加或刪除,這三個(gè)門分別稱為遺忘門、輸出門和輸入門,LSTM神經(jīng)網(wǎng)絡(luò)如圖1所示:
圖1 LSTM結(jié)構(gòu)圖
在上圖所示結(jié)構(gòu)里,f(t)是遺忘門的輸出信息遺忘門功能是來(lái)決定在上一時(shí)間狀態(tài)中傳遞過(guò)來(lái)的信息有哪些信息是可以被丟棄掉的。輸入門是決定添加哪些信息,它有兩部分組成:一部分是使用了sigmoid函數(shù),它的輸出為i(t);而另一部分是使用tanh激活函數(shù)得到備選信息g(t)。計(jì)算公式如下:
下面再對(duì)s(t-1)更新,就構(gòu)成了新的長(zhǎng)期狀態(tài)信息s(t),它是通過(guò)遺忘門來(lái)選擇忘記從上一步傳來(lái)的舊信息,通過(guò)輸入門選擇更新添加一部分新的信息獲取到的。S(t)的計(jì)算公式為:
s(t)=S(t-1)⊙f(t)+i(t)⊙g(t)
輸出門的作用在于有它控制的記憶有多少可以用于下一狀態(tài)的信息更新中O(t)和將要傳遞給下一步的短期隱藏狀態(tài)信息h(t),當(dāng)前神經(jīng)元O(t)的計(jì)算公式為:
最終輸出結(jié)果則要利用上一時(shí)間狀態(tài)的短期狀態(tài)值,長(zhǎng)期狀態(tài)值和當(dāng)前輸入值的保留部分來(lái)綜合計(jì)算得出。公式如下:
h(t)=O(t)⊙tanh(s(t))
其中Wf,Uf,bf遺忘門隱藏層的神經(jīng)元權(quán)重和偏置量,Wi,Ui,bi,Wg,Ug,bg為輸入門的隱藏層權(quán)重和偏置量,Wo,Uo,bo為輸出層的隱藏層權(quán)重和偏置量,用⊙表示Hadarmad乘積,在一定程度上LSTM的門機(jī)制可以過(guò)濾掉一些與常規(guī)信息不同的內(nèi)容,由此我們就可以消除掉訓(xùn)練數(shù)據(jù)中那些隨機(jī)的偶然信息對(duì)測(cè)試數(shù)據(jù)預(yù)測(cè)精度的影響。
由于流量的復(fù)雜和不規(guī)律的曲線形態(tài)以及其突發(fā)性,采用單一模型進(jìn)行預(yù)測(cè)的效果不會(huì)很理想,目前能夠?qū)α髁窟M(jìn)行一個(gè)好的預(yù)測(cè)的算法大都是基于深度學(xué)習(xí)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的算法的混合模型,能夠更加有效的利用各種模型的優(yōu)點(diǎn)[14]。
黃國(guó)倫[15]等人新提出一種基于支持向量回歸(SVR)和長(zhǎng)短期記憶(LSTM)的新型組合預(yù)測(cè)模型,這一模型主要針對(duì)網(wǎng)絡(luò)流量數(shù)據(jù)的隨機(jī)性和波動(dòng)性特點(diǎn),來(lái)提高流量預(yù)測(cè)的精度。這一模型的預(yù)測(cè)過(guò)程主要是,它首先通過(guò)變分模態(tài)分解(VMD)對(duì)流量序列的固有模態(tài)進(jìn)行提取,以此來(lái)減少噪聲的隨機(jī)性影響,再利用 LSTM模型對(duì)各本征模態(tài)進(jìn)行擬合,學(xué)習(xí)到流量數(shù)據(jù)在時(shí)間上的分布規(guī)律,最后再分析它在流量方面的影響因素,利用 SVR 去擬合殘差余量,讓所有子預(yù)測(cè)模型進(jìn)行一個(gè)整合疊加,如此一來(lái)該模型就可以有效將模型預(yù)測(cè)精度提高。
針對(duì)流量的突發(fā)性以及隨機(jī)性特征,黃林、王電鋼等人提出了一種基于LSTM的并行LSTM預(yù)測(cè)器。他們主要針對(duì)的是在具有強(qiáng)突發(fā)性特征的短期流量預(yù)測(cè)中預(yù)測(cè)性能明顯下降的問(wèn)題,他們讓其中一個(gè)作為主預(yù)測(cè)器,另一個(gè)用于檢測(cè)流量數(shù)據(jù)變化中的突發(fā)時(shí)刻,然后讓這兩個(gè)預(yù)測(cè)器進(jìn)行內(nèi)部狀態(tài)的一個(gè)交換,由此來(lái)對(duì)預(yù)測(cè)精度進(jìn)行一個(gè)改進(jìn)。現(xiàn)階段在時(shí)間序列預(yù)測(cè)問(wèn)題中,有越來(lái)越多的學(xué)者使用了LSTM與RNN或其他傳統(tǒng)神經(jīng)網(wǎng)絡(luò)混合起來(lái)的模型,比如江務(wù)學(xué)針對(duì)網(wǎng)絡(luò)流量進(jìn)行預(yù)測(cè)提出了改進(jìn)的雙線性化遞歸神經(jīng)網(wǎng)絡(luò)模型方法[16]。總而言之,多個(gè)實(shí)驗(yàn)表明組合模型預(yù)測(cè)作為一組相對(duì)比較新穎的模型,它要比單個(gè)模型的預(yù)測(cè)效果要更好,組合模型預(yù)測(cè)方法也將是未來(lái)提高流量預(yù)測(cè)精度的趨勢(shì)。
隨著我們對(duì)流量預(yù)測(cè)工作的研究,本文闡述并對(duì)比了經(jīng)典的線性流量預(yù)測(cè)方法與基于機(jī)器學(xué)習(xí)算法的非線性預(yù)測(cè)模型算法。時(shí)間序列與方法雖然經(jīng)歷了長(zhǎng)時(shí)間的發(fā)展,但數(shù)據(jù)規(guī)模的急劇增長(zhǎng),給傳統(tǒng)的預(yù)測(cè)方法帶來(lái)了極大的挑戰(zhàn),流量序列的復(fù)雜性和不確定性以及隨機(jī)突發(fā)性等基本特征,傳統(tǒng)的時(shí)間序列預(yù)測(cè)方法的預(yù)測(cè)精度遠(yuǎn)遠(yuǎn)不夠,近年來(lái)的研究成果表明,基于LSTM的預(yù)測(cè)模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的組合模型較于單一預(yù)測(cè)模型有著更理想的預(yù)測(cè)效果,組合模型的預(yù)測(cè)已然成為新的預(yù)測(cè)趨勢(shì),也為進(jìn)一步的研究指明了方向,其勢(shì)必將得到越來(lái)越廣泛的研究與應(yīng)用,也需要研究者進(jìn)一步努力。