王鳳武,張曉博,吉 哲,王 樂
(大連海事大學(xué) 航海學(xué)院,遼寧 大連 116026)
港口的貨物吞吐量在一定程度上反映出了該地區(qū)經(jīng)濟(jì)的發(fā)展?fàn)顩r及該港口的發(fā)展程度與規(guī)模,是衡量一個港口綜合實力的重要指標(biāo),也是進(jìn)行港口建設(shè)規(guī)劃的重要參考,數(shù)據(jù)表明,港口貨物運(yùn)輸貿(mào)易總量約占到全球運(yùn)輸貿(mào)易總量的80%以上[1]。由于集裝箱運(yùn)輸具有標(biāo)準(zhǔn)化、高效化等優(yōu)勢,所以以集裝箱為主的運(yùn)輸體系現(xiàn)已經(jīng)逐漸成為海上運(yùn)輸?shù)闹饕绞?。因此對港口集裝箱吞吐量的準(zhǔn)確預(yù)測有利于港口的合理規(guī)劃與建設(shè)。
目前常用的港口集裝箱吞吐量預(yù)測方法主要包括自回歸差分移動平均(autoregressive integrated moving average, ARIMA)模型、灰色預(yù)測法、指數(shù)平滑法、BP神經(jīng)網(wǎng)絡(luò)等。文獻(xiàn)[2]~文獻(xiàn)[5]分別使用上述4種方法建立相應(yīng)的模型并加以改進(jìn),通過對港口貨物吞吐量歷史數(shù)據(jù)進(jìn)行分析預(yù)測,將預(yù)測結(jié)果與其他傳統(tǒng)預(yù)測模型進(jìn)行對比,驗證所改進(jìn)后的模型所適應(yīng)的范圍和精確性。
雖然上述預(yù)測方法已經(jīng)取得了一定的成果,但在實際預(yù)測中往往表現(xiàn)并不理想。例如,有些預(yù)測方法不考慮影響集裝箱吞吐量的因素,僅僅用吞吐量本身的數(shù)據(jù)進(jìn)行預(yù)測由于僅基于歷史吞吐量數(shù)據(jù)進(jìn)行預(yù)測的局限性,在復(fù)雜、高波動條件下的預(yù)測效果不理想,還有一些方法在預(yù)測時僅考慮港口所歸屬地區(qū)的經(jīng)濟(jì)、政策、周邊港口競爭等因素對港口吞吐量產(chǎn)生的線性影響,沒有考慮到影響因素非線性作用的情況,使得預(yù)測結(jié)果有較大偏差。由于港口集裝箱吞吐量影響因素相互作用導(dǎo)致吞吐量呈現(xiàn)非線性變化的特點,而基于深度學(xué)習(xí)技術(shù)的LSTM模型因其在處理時序數(shù)據(jù)方面較傳統(tǒng)預(yù)測模型精度提高很多,在時間序列預(yù)測方面顯示出了巨大潛力,已在不同領(lǐng)域被廣泛用于提取數(shù)據(jù)的時間特征。蒲悅逸等[6]利用LSTM模型來獲取分析交通流量數(shù)據(jù)的特征并對北京市城市區(qū)域交通流量進(jìn)行預(yù)測,驗證結(jié)果表明,LSTM模型比傳統(tǒng)模型準(zhǔn)確性更高;連靜等[7]、YAN Haoran等[8]利用改進(jìn)后的LSTM模型分別對行人軌跡和機(jī)械設(shè)備齒輪剩余壽命進(jìn)行預(yù)測,預(yù)測結(jié)果表明,改進(jìn)后的模型有效提高了預(yù)測精度,模型魯棒性和收斂速度更好。
綜上所述,通過對國內(nèi)外研究現(xiàn)狀的梳理可以發(fā)現(xiàn),由于影響港口集裝箱吞吐量的因素眾多,所以吞吐量預(yù)測是復(fù)合型預(yù)測問題。目前對港口貨物吞吐量預(yù)測的方法有很多,但是使用傳統(tǒng)預(yù)測方法不能夠很好地擬合時間序列的特點,因此筆者基于影響港口與集裝箱吞吐量的多重因素選取了深度學(xué)習(xí)理論中的LSTM模型對青島港集裝箱吞吐量進(jìn)行預(yù)測。
LSTM(long short-term memory)全稱為長短時記憶網(wǎng)絡(luò)[9],它是在深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)基礎(chǔ)上進(jìn)行改進(jìn)的,屬于RNN的一種,如圖1。RNN是包含循環(huán)的神經(jīng)網(wǎng)絡(luò),允許信息的持久化[10]。圖1(a)可以看作神經(jīng)網(wǎng)絡(luò)的一個縮影,接受某時刻的輸入xt,然后輸出對應(yīng)的結(jié)果ht,一個回路可以允許信息從一步傳遞到另一步。常規(guī)的RNN對時間序列數(shù)據(jù)預(yù)測會出現(xiàn)梯度消失或梯度爆炸的問題,有用信息與預(yù)測點相隔較遠(yuǎn),預(yù)測效果不太理想。相比于RNN簡單和重復(fù)的神經(jīng)網(wǎng)絡(luò)層,LSTM模型對信息的長期傳遞有著很好的效果,如圖1(b),在LSTM模型中,使用了4個神經(jīng)網(wǎng)絡(luò)層并且彼此之間以一種特殊的關(guān)系進(jìn)行交互。
圖1 模型結(jié)構(gòu)
LSTM模型在RNN基礎(chǔ)上引入了門控機(jī)制概念,通過遺忘門、輸入門和輸出門對數(shù)據(jù)信息流動進(jìn)行控制,如圖2。圖2中:遺忘門決定有多少信息被去掉,多少信息需要保留;輸入門決定輸入多少信息可以保留到記憶單元Ct中;輸出門需要控制當(dāng)前的數(shù)據(jù)信息,決定輸出到Ot有多少成分輸出到隱藏層ht。正是因為LSTM模型保留了RNN分析時間序列的優(yōu)勢,而且具有長期預(yù)測更加平穩(wěn)、速度更快的特點,在預(yù)測中得到了廣泛應(yīng)用。
圖2 LSTM模型門控機(jī)制
參照LSTM模型門控機(jī)制(圖2),其遺忘門、輸入門和輸出門關(guān)系如式(1)~式(3):
ft=σ(Wf·[ht-1,xt]+bf)
(1)
(2)
ht=Ot×tanh(Ct)
(3)
式中:σ(·)為Sigmoid函數(shù);ht-1為t-1時刻的輸出;xt為t時刻本層的輸入;bf為遺忘門的偏置項;bi和bC分別為輸入層與候選值的偏置項;Wf為此時前一層隱藏神經(jīng)元在遺忘門輸出時的權(quán)重;Wi為t時刻輸入層的權(quán)重;WC為t時刻隱藏層的權(quán)重;Ot為t時刻輸出層上的狀態(tài);Ct為經(jīng)過輸入門和遺忘門之后的狀態(tài)。
通過以上3個門對信息流動的控制,完成了1個神經(jīng)元的內(nèi)部處理,使得LSTM模型可以有效利用輸入數(shù)據(jù),對過去長時期的數(shù)據(jù)形成記憶,進(jìn)而預(yù)測未來數(shù)據(jù)。
通過對LSTM模型原理的論述,可以清楚地了解到該模型的內(nèi)部結(jié)構(gòu)和網(wǎng)絡(luò)結(jié)構(gòu),筆者構(gòu)建了一個全連接層的網(wǎng)絡(luò)結(jié)構(gòu),如圖3。具體操作步驟如下:
圖3 多變量LSTM模型預(yù)測流程
1)首先進(jìn)行多因素選取,由于影響港口集裝箱吞吐量因素眾多,且各自變量之間具有多重共線性,故采用系統(tǒng)聚類法,找出獨(dú)立且有代表性的自變量,篩選出典型影響因素。
2)對典型影響因素數(shù)據(jù)及歷史吞吐量數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)建數(shù)據(jù)集。將處理后數(shù)據(jù)劃分為訓(xùn)練集與測試集兩部分并將數(shù)據(jù)歸一化,作為模型的輸入xt。
3)進(jìn)行模型定階,確定模型層數(shù)及隱藏節(jié)點的個數(shù),選取激活函數(shù)和損失函數(shù)。
4)進(jìn)行模型預(yù)測及結(jié)果評估,將預(yù)測結(jié)果進(jìn)行反歸一化,使用評價指標(biāo)比較預(yù)測值與實際值的誤差來評估預(yù)測效果。
由于影響港口集裝箱吞吐量的因素較多,吞吐量預(yù)測是一個復(fù)合型預(yù)測問題,所以建立預(yù)測模型時應(yīng)考慮多方面因素。筆者以青島港集裝箱吞吐量數(shù)據(jù)及其影響因素為基礎(chǔ)進(jìn)行吞吐量預(yù)測。青島港位于山東半島南岸,地理位置優(yōu)越,是山東沿海港口群的核心[11],同時也是“一帶一路”重要的節(jié)點城市之一,在世界港口貨物吞吐量排名中占第6位。自1976年青島港第一次開始開展集裝箱業(yè)務(wù)以來,港口集裝箱吞吐量持續(xù)增長,2017年青島港全自動化集裝箱碼頭率先投入運(yùn)營,裝卸效率顯著提高,目前青島港每月集裝箱航班達(dá)500多班,2020年集裝箱吞吐量達(dá)到2 201萬TEU,同比增幅4.7%。港口的發(fā)展離不開合理的決策,而科學(xué)合理的決策需要準(zhǔn)確的預(yù)測,因此對其集裝箱吞吐量進(jìn)行預(yù)測可以為港口的合理規(guī)劃和發(fā)展提供相應(yīng)的建議。
為了更加有效的驗證筆者所使用的多變量LSTM模型的預(yù)測精度,筆者基于相同數(shù)據(jù)同時選用了單變量LSTM模型以及傳統(tǒng)ARIMA模型進(jìn)行預(yù)測,并通過建立評價指標(biāo)平均絕對百分比誤差(MAPE)以及均方根誤差(RMSE)對預(yù)測結(jié)果進(jìn)行比較分析。
集裝箱吞吐量預(yù)測是指通過對港口的歷史觀察數(shù)據(jù)(如歷年貨物吞吐量、腹地GDP值、進(jìn)出口總額等)進(jìn)行統(tǒng)計、處理和分析,并通過一定的方法找出其規(guī)律,根據(jù)該規(guī)律來預(yù)測未來港口的吞吐量。港口集裝箱吞吐量受多重因素影響,如政治、經(jīng)濟(jì)、自然條件、港口的發(fā)展情況等都會對其產(chǎn)生影響,僅對歷史吞吐量數(shù)據(jù)進(jìn)行預(yù)測并不能完全反映其真實走向。通過查找現(xiàn)有文獻(xiàn)發(fā)現(xiàn),可以將影響港口貨物吞吐量的因素分為宏觀因素和微觀因素。宏觀因素主要包括全球經(jīng)濟(jì)活動、該地區(qū)經(jīng)濟(jì)政策、經(jīng)濟(jì)發(fā)展水平、進(jìn)出口總額和運(yùn)價指數(shù)等;微觀因素主要是指港口本身發(fā)展情況,包括碼頭泊位個數(shù)、碼頭長度、港口管理模式等方面[12]。筆者構(gòu)建的多變量LSTM模型適用于普遍性因素對港口集裝箱吞吐量產(chǎn)生影響時進(jìn)行預(yù)測。因此在選取影響港口貨物吞吐量的因素上,基于可定量分析的考慮并結(jié)合相關(guān)文獻(xiàn)分析,選取了宏觀因素中的社會消費(fèi)品零售總額、青島市GDP、固定資產(chǎn)投資額、第一、二、三產(chǎn)業(yè)產(chǎn)值等相關(guān)經(jīng)濟(jì)指標(biāo)作為主要影響因素。筆者選擇了2010—2019年青島港集裝箱吞吐量影響因素年度數(shù)據(jù)進(jìn)行分析,由于影響因素月度數(shù)據(jù)較難獲取,因此筆者將青島市年度數(shù)據(jù)均值作為月度數(shù)據(jù),年度統(tǒng)計數(shù)據(jù)如表1。
表1 2010—2019年青島港集裝箱吞吐量影響因素數(shù)據(jù)
2.1.1 系統(tǒng)聚類法選擇影響因素
系統(tǒng)聚類[13]是國內(nèi)外普遍使用的變量聚類方法。此方法將變量看作類,通過計算類與類之間的距離矩陣來選擇距離最接近的幾類合并為新的一類,然后計算新類與其他類之間的距離,再合并為新類,以此類推,直至所有變量合并為一類。筆者選用了平方歐式距離來計算各變量之間的距離,使用組間連接的聚類方法得到譜系如圖4。
根據(jù)圖4,在平方歐式距離為5時,此時與AB線相交的橫線左側(cè)所對應(yīng)的影響因素就是一類,可以將7種影響因素分為3類,結(jié)果如表2。
表2 影響因素分類結(jié)果
圖4 青島港集裝箱吞吐量影響因素系統(tǒng)聚類譜系
2.1.2 確定典型因素
當(dāng)一類中具有多個影響因素時,為了縮減指標(biāo)和避免多重共線性,可以選取一種典型因素代表這一類因素。筆者選用了Pearson相關(guān)系數(shù)來確定典型因素,Pearson相關(guān)系數(shù)是研究變量之間線性相關(guān)程度的量,一般用r表示,r取值區(qū)間為[-1,1]。r越大,說明變量之間相關(guān)程度越強(qiáng);r=0表示變量之間不相關(guān);r=-1表示變量之間完全負(fù)相關(guān)。r計算公式如式(4):
(4)
式中:Cov(X1,X2)為變量X1與X2的協(xié)方差;Var[X1]、Var[X2]為變量X1與X2的方差。
由于系統(tǒng)聚類后的第一類影響因素中的變量較多,所以筆者對第一類中各變量之間的Pearson相關(guān)系數(shù)進(jìn)行計算,結(jié)果如表3。
表3 Pearson相關(guān)系數(shù)
綜上所述,通過以上對相關(guān)影響因素的系統(tǒng)聚類分析和典型因素的確定,可以得出對青島港集裝箱吞吐量的典型影響因素為:GDP、進(jìn)出口總額、固定資產(chǎn)投資額。
筆者使用的歷史集裝箱吞吐量數(shù)據(jù)為青島港2010—2019年共計120個月的數(shù)據(jù),數(shù)據(jù)來自中國港口集裝箱網(wǎng),原始數(shù)據(jù)如表4。
表4 2010—2019年青島港集裝箱吞吐量
LSTM模型對數(shù)據(jù)比較敏感,在利用模型進(jìn)行預(yù)測前,需要對數(shù)據(jù)進(jìn)行處理。首先,對數(shù)據(jù)進(jìn)行差分處理,使數(shù)據(jù)保持相同的量級;其次,構(gòu)建訓(xùn)練集和測試集。
2.3.1 數(shù)據(jù)差分處理
為了使數(shù)據(jù)保持一致性,提高模型的收斂速度以及預(yù)測精度,筆者在輸入數(shù)據(jù)時進(jìn)行了歸一化處理,使數(shù)據(jù)落在[0,1]區(qū)間,在輸出時反歸一化,歸一化公式如式(5):
(5)
式中:x為輸入數(shù)據(jù);xmin為輸入數(shù)據(jù)的最小值;xmax為輸入數(shù)據(jù)的最大值;x′為歸一化后的輸入數(shù)據(jù)。
2.3.2 數(shù)據(jù)構(gòu)建
為了充分發(fā)揮數(shù)據(jù)的作用,同時提高模型的預(yù)測精度,筆者采用連續(xù)3個月歷史數(shù)據(jù)遞歸預(yù)測下一個月數(shù)據(jù)進(jìn)行構(gòu)建LSTM模型樣本數(shù)據(jù),即采用1—3月的歷史數(shù)據(jù)預(yù)測第4個月的吞吐量,采用2—4月的歷史數(shù)據(jù)預(yù)測第5個月的吞吐量,總共可構(gòu)建117組樣本數(shù)據(jù),并將前90組作為數(shù)據(jù)訓(xùn)練集,將后27組作為測試集,樣本數(shù)據(jù)構(gòu)建方法如表5。
表5 數(shù)據(jù)構(gòu)建
為了更好地評價筆者構(gòu)建的多變量LSTM模型對多因素影響下青島港集裝箱吞吐量的預(yù)測效果,選用了時間序列預(yù)測方法中常用的MAPE以及RMSE兩項評價指標(biāo)來評價預(yù)測值與實際值之間的差距[14]。其中:MAPE是相對誤差絕對值之和的平均值,反映了預(yù)測誤差的平均水平,常用來表示模型的優(yōu)劣程度;RMSE表示誤差平方的期望值,反映預(yù)測值與真實值的平均偏離程度,該值越小越好。評價指標(biāo)MAPE和RMSE如式(6)~式(7):
(6)
(7)
式中:dfj為港口集裝箱吞吐量第j個預(yù)測值;dmj為港口集裝箱吞吐量第j個實際值。
2.5.1 模型參數(shù)設(shè)置
筆者使用了Adam算法對數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練次數(shù)為100次。為了使多變量LSTM模型的預(yù)測性能達(dá)到最好,需要對網(wǎng)絡(luò)模型的隱含層層數(shù)、神經(jīng)元個數(shù)以及學(xué)習(xí)率等參數(shù)進(jìn)行設(shè)置。使用歷史數(shù)據(jù)對模型進(jìn)行多次嘗試預(yù)測,根據(jù)預(yù)測結(jié)果分析發(fā)現(xiàn),當(dāng)隱含層層數(shù)為10,神經(jīng)元個數(shù)為4,學(xué)習(xí)率為0.001時,模型的擬合效果最好。
2.5.2 預(yù)測結(jié)果分析
筆者分別采用了多變量LSTM模型、單變量LSTM模型以及ARIMA模型對青島港集裝箱吞吐量進(jìn)行預(yù)測,預(yù)測結(jié)果如圖5。
圖5 3種模型預(yù)測結(jié)果對比
由圖5可以發(fā)現(xiàn),與其它兩種模型的預(yù)測結(jié)果相比,多變量LSTM模型預(yù)測值與實際值更加吻合,波動性更加平穩(wěn),擬合性更好。為了更加深入地比較3種模型預(yù)測精度,分別對3種模型預(yù)測值的誤差、評價指標(biāo)MAPE和RMSE進(jìn)行了計算,誤差如表6,指標(biāo)評價結(jié)果如表7。
表6 3種模型預(yù)測值及誤差
表7 指標(biāo)評價結(jié)果
通過對比3種模型預(yù)測結(jié)果的誤差以及MAPE、RMSE發(fā)現(xiàn):
1)將單變量LSTM模型預(yù)測結(jié)果與ARIMA模型預(yù)測結(jié)果進(jìn)行比較:單變量LSTM模型預(yù)測值最大誤差為20.69,最小誤差為0.29;ARIMA模型預(yù)測值最大誤差為23.10,最小誤差為0.80;單變量LSTM模型預(yù)測值的MAPE和RMSE均比ARIMA模型要小。分析結(jié)果表明,LSTM模型同樣適用于港口集裝箱吞吐量預(yù)測,且預(yù)測值誤差相比傳統(tǒng)預(yù)測模型更小。
2)將多變量LSTM模型預(yù)測結(jié)果與單變量LSTM模型預(yù)測結(jié)果進(jìn)行比較,多變量LSTM模型預(yù)測值最大誤差為17.92,最小誤差為0.12,MAPE降低到4.170%,RMSE降低到7.736,說明因為綜合考慮了多種因素相互影響關(guān)系同時結(jié)合歷史吞吐量數(shù)據(jù)后,使用多變量作為輸入可以有效提高LSTM模型對港口集裝箱吞吐量的預(yù)測精度。
筆者建立了一種使用多變量輸入的LSTM模型,并用該模型對青島港集裝箱吞吐量進(jìn)行預(yù)測;使用系統(tǒng)聚類方法分析港口集裝箱吞吐量的多種影響因素進(jìn)而篩選出典型因素;結(jié)合歷史港口集裝箱吞吐量數(shù)據(jù)生成多變量共同輸入到模型中。對預(yù)測結(jié)果分析表明,使用多變量輸入的模型預(yù)測結(jié)果誤差更小,擬合度更高。目前研究大多僅僅使用單變量輸入到模型中進(jìn)行預(yù)測,預(yù)測效果往往不佳。筆者考慮了多種因素對集裝箱吞吐量的影響,使預(yù)測更加科學(xué)、合理。科學(xué)準(zhǔn)確的港口集裝箱吞吐量預(yù)測對港口規(guī)劃、經(jīng)濟(jì)研究及合理決策等方面具有重要的意義。將該模型應(yīng)用到港口規(guī)劃管理中,不僅可以促進(jìn)深度學(xué)習(xí)技術(shù)在港口集裝箱吞吐量預(yù)測方面的應(yīng)用,同時為港口的合理決策與規(guī)劃提供參考。