姚思佳,桂智明,郭黎敏
(北京工業(yè)大學(xué) 信息學(xué)部,北京 100124)
隨著城市化進(jìn)程的腳步不斷加快,機(jī)動(dòng)車保有量快速增加,隨之而來(lái)的尾氣污染及交通事故等問(wèn)題頻發(fā)[1]。大力提倡乘坐公共交通成為緩解上述問(wèn)題的重要舉措。公交車作為地面公共交通工具,是公共交通中的一個(gè)重要組成部分。吸引更多的人乘坐公交出行,是實(shí)現(xiàn)城市可持續(xù)發(fā)展的一條必由之路。近年來(lái),不斷增加的公交數(shù)據(jù)為公交客流的分析和預(yù)測(cè)帶來(lái)了技術(shù)支持。許多客流預(yù)測(cè)的方法也從傳統(tǒng)的數(shù)據(jù)淺層預(yù)測(cè)[2]方法轉(zhuǎn)變?yōu)榛跀?shù)據(jù)的深層次挖掘的深度學(xué)習(xí)方法[3-4]。但是大多數(shù)的客流預(yù)測(cè)方法只考慮了時(shí)間維度的特征,未考慮空間維度的相關(guān)特征。
目前,時(shí)間序列預(yù)測(cè)最常用的模型是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)以及其變體,即長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[5]和門控循環(huán)單元網(wǎng)絡(luò)(gated recurrent unit,GRU)。楊文淇[6]提出利用LSTM模型對(duì)最新建設(shè)的城市軌道線路周邊的公交客流進(jìn)行預(yù)測(cè),并改進(jìn)激活函數(shù)來(lái)提高預(yù)測(cè)精度。李梅等人[7]利用多種類型數(shù)據(jù)進(jìn)行數(shù)據(jù)特征構(gòu)造,并用深度長(zhǎng)短期記憶網(wǎng)絡(luò)方法預(yù)測(cè)地鐵進(jìn)站客流量。
由于LSTM模型更關(guān)注的是時(shí)間序列,所以此模型在預(yù)測(cè)客流量時(shí)忽略了道路的拓?fù)浣Y(jié)構(gòu)帶來(lái)的空間信息。因此對(duì)時(shí)空特征進(jìn)行挖掘的模型相繼被提出。馮碧玉[8]結(jié)合卷積操作和循環(huán)操作提取軌道交通客流量的時(shí)空特征,并提出了CNN-LSTM組合預(yù)測(cè)模型,該模型提高了軌道交通進(jìn)站客流的預(yù)測(cè)精度。
近年來(lái),圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network,GCN)被廣泛應(yīng)用于社交網(wǎng)絡(luò)[9]、計(jì)算機(jī)視覺(jué)[10]、推薦系統(tǒng)[11]以及自然語(yǔ)言處理[12]等領(lǐng)域。圖卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)相比,其對(duì)于不規(guī)則的圖結(jié)構(gòu)有著出色的挖掘能力[13]。由于交通路網(wǎng)的復(fù)雜性,有時(shí)不能將其表示為一個(gè)規(guī)則的二維結(jié)構(gòu)。此時(shí),圖卷積神經(jīng)網(wǎng)絡(luò)發(fā)揮出其優(yōu)勢(shì),可以挖掘復(fù)雜交通路網(wǎng)的空間信息。Liu等人[14]用多種不同的拓?fù)浣Y(jié)構(gòu)圖為軌道交通系統(tǒng)建模,提出一個(gè)統(tǒng)一的物理-虛擬協(xié)作圖網(wǎng)絡(luò)(PVCGN),其結(jié)合GCN和GRU等網(wǎng)絡(luò)進(jìn)行時(shí)空特征的學(xué)習(xí),實(shí)驗(yàn)表明在上海和杭州兩地的軌道交通客流預(yù)測(cè)中,該方法均能展現(xiàn)其優(yōu)越性。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,注意力機(jī)制成為學(xué)者們關(guān)注的熱點(diǎn)。注意力機(jī)制能夠關(guān)注更重要的特征。Guo等人[15]提出將注意力機(jī)制引入時(shí)間和空間特征的提取模塊中,并結(jié)合圖卷積和一維時(shí)間卷積來(lái)捕捉動(dòng)態(tài)空間和時(shí)間的相關(guān)性,從而提高交通流量的預(yù)測(cè)精度。
基于上述分析,可以看出交通領(lǐng)域預(yù)測(cè)方法正在逐步發(fā)展,但是同樣也存在不足之處。針對(duì)公交客流預(yù)測(cè)方法缺少對(duì)空間特征的運(yùn)用,該文運(yùn)用GCN、LSTM以及注意力機(jī)制技術(shù),提出了基于注意力機(jī)制的圖卷積長(zhǎng)短期記憶網(wǎng)絡(luò)預(yù)測(cè)模型(AGLSTM)。主要貢獻(xiàn)如下:
(1)提出AGLSTM模型,該模型利用GCN對(duì)復(fù)雜公交線網(wǎng)的空間特征進(jìn)行提取,用LSTM提取時(shí)間特征,并利用注意力機(jī)制來(lái)區(qū)分不同時(shí)刻特征的重要性。
(2)在北京公交數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證,并對(duì)比了其他傳統(tǒng)模型,實(shí)驗(yàn)表明提出的模型能夠提高公交客流量的預(yù)測(cè)精度,為公交客流預(yù)測(cè)提供一定的借鑒意義。
AGLSTM組合模型的整體結(jié)構(gòu)如圖1所示,該模型主要分為五個(gè)部分。第一部分為圖的鄰接矩陣以及節(jié)點(diǎn)的特征矩陣組成的輸入部分。第二部分是由圖卷積對(duì)輸入的鄰接矩陣以及特征矩陣進(jìn)行客流量空間特征提取的部分。第三部分將第二部分每個(gè)時(shí)刻的輸出作為輸入,通過(guò)長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行客流量的時(shí)間特征提取。第四部分為對(duì)LSTM網(wǎng)絡(luò)各個(gè)隱藏狀態(tài)進(jìn)行注意力機(jī)制變換,充分考慮每個(gè)隱藏狀態(tài)對(duì)輸出狀態(tài)的影響。第五部分是全連接層,通過(guò)全連接層對(duì)提取的數(shù)據(jù)進(jìn)行變換,得到最終預(yù)測(cè)值。
圖1 AGLSTM組合模型結(jié)構(gòu)
根據(jù)圖卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn),本模型的輸入需要構(gòu)造公交線網(wǎng)的鄰接矩陣以及各節(jié)點(diǎn)的特征矩陣。以下分別為兩個(gè)矩陣的構(gòu)造過(guò)程。
(1)鄰接矩陣的構(gòu)造。
根據(jù)公交路線信息和站點(diǎn)信息對(duì)公交站點(diǎn)構(gòu)造道路拓?fù)浣Y(jié)構(gòu)圖,其中圖表示為G,V表示所有站點(diǎn)的集合,E表示站點(diǎn)相鄰關(guān)系的集合。以鄰接矩陣的形式存儲(chǔ),鄰接矩陣是一個(gè)s*s的二維矩陣,鄰接矩陣的值為0或1。其中s代表公交站點(diǎn)的數(shù)量,行和列分別代表按照公交站點(diǎn)編號(hào)順序排列的站點(diǎn),鄰接矩陣的值中,0代表兩個(gè)站點(diǎn)不相鄰,1代表兩個(gè)站點(diǎn)相鄰,并且鄰接矩陣為對(duì)稱矩陣,這里鄰接矩陣記為A。鄰接矩陣如公式(1)所示:
(1)
其中,eij取值為1時(shí),表示站點(diǎn)vi與站點(diǎn)vj在某條線路上相鄰,eij取值為0時(shí),表示站點(diǎn)vi與站點(diǎn)vj在某條線路上不相鄰。
(2)特征矩陣的構(gòu)造。
針對(duì)原始數(shù)據(jù)進(jìn)行特征提取,統(tǒng)計(jì)得到每個(gè)公交站點(diǎn)在每個(gè)時(shí)段的客流量。為了加快模型訓(xùn)練速度,對(duì)公交客流量數(shù)據(jù)進(jìn)行最大最小歸一化,歸一化計(jì)算如公式(2)所示:
(2)
其中,x表示歸一化后的客流量數(shù)據(jù),f表示原始客流量數(shù)據(jù),fmax表示原始客流量中最大值,fmin表示原始客流量中最小值。f被歸一化到0到1的閉區(qū)間。
構(gòu)建交通數(shù)據(jù)的特征矩陣X,將歸一化后的數(shù)據(jù)表示成特征矩陣的形式,它描述了每個(gè)公交站點(diǎn)的客流量隨時(shí)間的變化,每行代表一個(gè)站點(diǎn)所有時(shí)刻的客流量,每列代表同一時(shí)段不同站點(diǎn)的客流量。特征矩陣中站點(diǎn)的排列順序與鄰接矩陣中站點(diǎn)特征矩陣的排列順序相同。
X構(gòu)建如公式(3)所示:
(3)
其中,橫向表示一個(gè)公交站點(diǎn)的客流量隨時(shí)間的變化,t表示時(shí)刻的個(gè)數(shù),縱向表示所有公交站點(diǎn)在一個(gè)時(shí)刻的客流量數(shù)據(jù),s表示公交站點(diǎn)的個(gè)數(shù),矩陣中的元素xst表示第s個(gè)公交站點(diǎn)在第t個(gè)時(shí)刻的客流量。預(yù)測(cè)模型需要輸入鄰接矩陣A和特征矩陣X的輸入矩陣進(jìn)行模型訓(xùn)練來(lái)輸出公交站點(diǎn)在t+1時(shí)刻的客流量。
某個(gè)公交站點(diǎn)的客流量不僅僅與其自身的歷史客流量有關(guān),還可能與其他站點(diǎn)的客流量有關(guān)。公交線網(wǎng)是一個(gè)不規(guī)則的拓?fù)鋱D結(jié)構(gòu),因此選用能提取不規(guī)則圖結(jié)構(gòu)特征的圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)挖掘交通數(shù)據(jù)的空間特征。為了加強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)時(shí)的數(shù)值穩(wěn)定性,引入拉普拉斯矩陣,可以有效防止多層網(wǎng)絡(luò)優(yōu)化時(shí)出現(xiàn)的梯度消失或爆炸的現(xiàn)象[16]。使用公式(4)表示圖卷積操作:
(4)
文中模型采用兩層GCN結(jié)構(gòu),如公式(5)所示:
(5)
雖然循環(huán)神經(jīng)網(wǎng)絡(luò)能夠建立長(zhǎng)時(shí)間間隔狀態(tài)之間的依賴關(guān)系,但是由于梯度彌散或梯度爆炸問(wèn)題,在實(shí)際應(yīng)用中,只能學(xué)習(xí)到短周期的依賴關(guān)系,這就產(chǎn)生了所謂的長(zhǎng)期依賴問(wèn)題。長(zhǎng)短期記憶循環(huán)單元引入門限機(jī)制來(lái)控制信息的積累速度,并可以選擇遺忘之前部分累積的信息,實(shí)現(xiàn)了信息的長(zhǎng)時(shí)間傳遞,使之前時(shí)刻的信息可以一直參與訓(xùn)練。公式(6)~公式(11)為長(zhǎng)短期記憶循環(huán)單元的計(jì)算過(guò)程:
ft=σ(Wfxt+Ufht-1+bf)
(6)
it=σ(Wixt+Uiht-1+bi)
(7)
(8)
(9)
ot=σ(Woxt+Uoht-1+bo)
(10)
ht=ot⊙tanh(Ct)
(11)
長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)每個(gè)記憶單元都只與前一時(shí)刻隱藏狀態(tài)有關(guān),在時(shí)間序列預(yù)測(cè)中,距離當(dāng)前預(yù)測(cè)時(shí)間遠(yuǎn)的時(shí)間點(diǎn)也很有可能對(duì)當(dāng)前預(yù)測(cè)節(jié)點(diǎn)有影響,所以引入注意力機(jī)制來(lái)對(duì)前面各時(shí)刻的信息進(jìn)行權(quán)重劃分,選擇出對(duì)當(dāng)前影響重大的時(shí)刻。此時(shí),最后一個(gè)時(shí)刻的輸出狀態(tài)就取決于前面所有隱藏狀態(tài)的加權(quán)組合,而不僅僅是最后一個(gè)隱藏狀態(tài)。對(duì)于長(zhǎng)短期記憶循環(huán)單元輸出的t時(shí)刻的隱藏狀態(tài)ht,采用以下注意力機(jī)制的運(yùn)算邏輯進(jìn)行計(jì)算,注意力機(jī)制運(yùn)算過(guò)程如公式(12)~公式(14)所示:
et=Vetanh(Weht+be)
(12)
(13)
(14)
其中,Ve,We為需要學(xué)習(xí)的參數(shù),be為需要學(xué)習(xí)的偏置,et表示第t個(gè)時(shí)刻隱藏狀態(tài)ht對(duì)應(yīng)的注意力評(píng)分值,tanh為激活函數(shù),T表示時(shí)刻總個(gè)數(shù),αt為通過(guò)Softmax函數(shù)對(duì)所有的et歸一化后得到的權(quán)重系數(shù),c為對(duì)長(zhǎng)短期記憶循環(huán)單元各個(gè)時(shí)刻輸出的隱藏狀態(tài)進(jìn)行了加權(quán),作為最終隱藏狀態(tài)的輸出。
根據(jù)上述幾個(gè)小節(jié)對(duì)各模型單元的介紹,結(jié)合AGLSTM組合模型的設(shè)計(jì)結(jié)構(gòu),可以得到GLSTM組合模型的運(yùn)算邏輯,如公式(15)~公式(20)所示:
ft=σ(Wfgc(Xt,A)+Ufht-1+bf)
(15)
it=σ(Wigc(Xt,A)+Uiht-1+bi)
(16)
(17)
ot=σ(Wogc(Xt,A)+Uoht-1+bo)
(18)
(19)
ht=ot⊙tanh(Ct)
(20)
其中,gc(·)表示圖卷積操作,其余參數(shù)的含義與長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)單元相同,此處不再贅述。Xt表示在t時(shí)刻輸入的特征矩陣,A表示鄰接矩陣。
根據(jù)GLSTM組合模型的運(yùn)算邏輯可以得出GLSTM組合模型單元的內(nèi)部結(jié)構(gòu),如圖2所示。
圖2 GLSTM組合模型單元內(nèi)部結(jié)構(gòu)
對(duì)于每個(gè)GLSTM組合模型單元輸出的隱藏狀態(tài),注意力機(jī)制單元會(huì)根據(jù)其運(yùn)算邏輯對(duì)每個(gè)隱藏狀態(tài)進(jìn)行評(píng)分,得出每個(gè)隱藏狀態(tài)重要性的比例,進(jìn)而得到用Softmax函數(shù)歸一化后的權(quán)重系數(shù){αt-n,αt-n+1,…,αt},此權(quán)重系數(shù)對(duì)應(yīng)于每個(gè)隱藏狀態(tài)。最后將各隱藏狀態(tài)的權(quán)重系數(shù)進(jìn)行相乘相加操作,則得到狀態(tài)的最終輸出。圖3為AGLSTM組合模型的內(nèi)部結(jié)構(gòu)示意圖。
該文使用的損失函數(shù)如公式(21)所示:
(21)
圖3 AGLSTM組合模型內(nèi)部結(jié)構(gòu)
為了驗(yàn)證所提出的AGLSTM組合模型的效果,實(shí)驗(yàn)選取北京公交4條線路的站點(diǎn)作為研究對(duì)象。該數(shù)據(jù)集包含了北京公交973路、985路、605路、535路 4條存在相同站點(diǎn)的線路數(shù)據(jù),其中包含上車刷卡數(shù)據(jù)、公交線路數(shù)據(jù)以及公交站位數(shù)據(jù)。4條線路區(qū)分上下行,共8條行駛路線,237個(gè)公交站點(diǎn)。圖4為4條公交線路的線路圖。
圖4 4條公交線路
實(shí)驗(yàn)數(shù)據(jù)集為2017年11月的北京公交刷卡數(shù)據(jù),選取2017年11月中前20個(gè)工作日進(jìn)行實(shí)驗(yàn),并將前16天工作日的刷卡數(shù)據(jù)作為訓(xùn)練集,后4天的刷卡數(shù)據(jù)作為測(cè)試集。該實(shí)驗(yàn)中選取每天5:00至22:30時(shí)間段內(nèi)刷卡數(shù)據(jù),并以15分鐘為時(shí)間間隔統(tǒng)計(jì)刷卡數(shù)據(jù),劃分后每天得到70個(gè)時(shí)間段。
本實(shí)驗(yàn)用前7個(gè)時(shí)間單位的公交客流量對(duì)下一個(gè)時(shí)間單位的客流量進(jìn)行預(yù)測(cè)。根據(jù)1.1節(jié)中對(duì)輸入矩陣的描述,需要對(duì)公交站點(diǎn)按照其相鄰情況構(gòu)造鄰接矩陣,以及構(gòu)造每個(gè)站點(diǎn)的由歷史時(shí)間客流量組成的特征矩陣。
為了更客觀地對(duì)模型預(yù)測(cè)結(jié)果進(jìn)行比較,實(shí)驗(yàn)采用了兩種回歸評(píng)價(jià)指標(biāo)來(lái)評(píng)估預(yù)測(cè)模型的性能,分別為平均絕對(duì)誤差(mean absolute error,MAE)以及均方誤差(root mean square error,RMSE),計(jì)算公式可以表示為公式(22)及公式(23):
(22)
(23)
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果與神經(jīng)網(wǎng)絡(luò)的隱藏層的層數(shù)以及隱藏層節(jié)點(diǎn)數(shù)有很大關(guān)系。隱藏層節(jié)點(diǎn)數(shù)是導(dǎo)致過(guò)擬合的直接原因,隱藏層節(jié)點(diǎn)數(shù)與輸入輸出維度相關(guān),并且每個(gè)模型都是不一樣的。本實(shí)驗(yàn)設(shè)置圖卷積層與LSTM層的隱藏層節(jié)點(diǎn)數(shù)相同。首先控制網(wǎng)絡(luò)中其他超參數(shù)不變,改變LSTM隱藏層節(jié)點(diǎn)個(gè)數(shù),尋找最優(yōu)節(jié)點(diǎn)數(shù)。圖5展示了LSTM隱藏層個(gè)數(shù)變化對(duì)預(yù)測(cè)效果的影響。
圖5 不同LSTM隱藏層節(jié)點(diǎn)個(gè)數(shù)對(duì)模型的影響
其次,批尺寸會(huì)直接影響到模型的優(yōu)化程度和速度,也影響GPU的顯存利用率,對(duì)于模型預(yù)測(cè)準(zhǔn)確率有明顯影響。因此,控制其他超參數(shù)不變,LSTM隱藏層個(gè)數(shù)為48,調(diào)整批尺寸大小,以達(dá)到模型最優(yōu)。圖6展示了不同批尺寸對(duì)模型預(yù)測(cè)結(jié)果的影響。
圖6 不同批尺寸大小對(duì)模型的影響
通過(guò)觀察圖5以及圖6可以發(fā)現(xiàn),LSTM隱藏層節(jié)點(diǎn)個(gè)數(shù)為48,批尺寸為48時(shí),模型的誤差最小,因此,最后將AGLSTM模型的實(shí)驗(yàn)參數(shù)設(shè)置為L(zhǎng)STM隱藏層節(jié)點(diǎn)個(gè)數(shù)為48,批尺寸為48,初始學(xué)習(xí)率為0.001,學(xué)習(xí)衰減率為0.9,迭代次數(shù)為2 000,并采用Adam優(yōu)化器[17]。
將提出的AGLSTM模型與HA模型、SVR模型、CNN模型[18]、LSTM模型以及GLSTM模型進(jìn)行預(yù)測(cè)效率對(duì)比。HA(history average)模型是歷史平均模型,其將前幾個(gè)時(shí)間序列取平均作為下一個(gè)時(shí)間序列的預(yù)測(cè)值。SVR(support vector regression)模型是支持向量機(jī)回歸模型,其利用核函數(shù)來(lái)實(shí)現(xiàn)回歸預(yù)測(cè)。CNN(convolutional neural networks)模型是卷積神經(jīng)網(wǎng)絡(luò)模型,其利用卷積操作和池化操作進(jìn)行特征的提取。LSTM模型是長(zhǎng)短期記憶網(wǎng)絡(luò),是一種常用的時(shí)序預(yù)測(cè)模型,其對(duì)前面時(shí)刻的信息進(jìn)行保留或遺忘,以克服長(zhǎng)期依賴問(wèn)題。GLSTM模型是AGLSTM去掉注意力機(jī)制的模型。表1為各模型的預(yù)測(cè)結(jié)果誤差。
表1 模型預(yù)測(cè)性能對(duì)比
通過(guò)分析表1可知,AGLSTM模型的RMSE和MAE相對(duì)于其他對(duì)比模型都要小,對(duì)比效果較好的LSTM模型,AGLSTM模型的RMSE和MAE分別降低了2.99%和1.60%。相較于其他對(duì)比模型,AGLSTM模型預(yù)測(cè)效果更好。LSTM預(yù)測(cè)模型對(duì)時(shí)間序列的預(yù)測(cè)效果表現(xiàn)較好,但是其忽略了空間上的一些特征,所以預(yù)測(cè)效果不如AGLSTM模型。CNN模型更善于挖掘空間上的特征,但是公交客流更多的是在時(shí)間上有一定規(guī)律,所以預(yù)測(cè)效果不如LSTM模型。對(duì)比基于統(tǒng)計(jì)學(xué)理論的HA模型及機(jī)器學(xué)習(xí)方法SVR來(lái)說(shuō),深度學(xué)習(xí)的方法能夠挖掘深層次的特征,所以其預(yù)測(cè)效果更好一些。提出的GLSTM模型和AGLSTM模型對(duì)比其他模型都有較好的效果,這兩個(gè)模型對(duì)比,可以說(shuō)明引入注意力機(jī)制能夠提高模型的預(yù)測(cè)精度。
針對(duì)以往公交客流量預(yù)測(cè)中不能充分利用時(shí)空特征的問(wèn)題,提出了一種能夠同時(shí)考慮時(shí)間和空間兩個(gè)維度特征的AGLSTM模型,來(lái)預(yù)測(cè)公交站點(diǎn)短時(shí)客流量。該模型首先利用圖卷積神經(jīng)網(wǎng)絡(luò)能夠提取不規(guī)則圖結(jié)構(gòu)特征的特點(diǎn),來(lái)捕獲復(fù)雜的公交線網(wǎng)中各站點(diǎn)的空間聯(lián)系。其次,將圖卷積神經(jīng)網(wǎng)絡(luò)提取出的空間特征輸入LSTM中,進(jìn)一步進(jìn)行時(shí)間維度特征的提取。由于循環(huán)神經(jīng)網(wǎng)絡(luò)單元只輸出最后一個(gè)時(shí)刻的隱藏狀態(tài),所以引入注意力機(jī)制來(lái)計(jì)算不同時(shí)刻特征對(duì)輸出時(shí)刻特征影響的重要性。經(jīng)過(guò)分析該模型與其他對(duì)比模型的預(yù)測(cè)結(jié)果,證明該模型能夠提高預(yù)測(cè)精度。