鄧 萍,劉淑龍
(1.重慶交通大學 交通運輸學院,重慶 400074;2.重慶交通大學 經濟與管理學院,重慶 400074)
港口作為綜合交通運輸樞紐,是經濟社會發展的戰略資源和重要支撐。而港口吞吐量是體現港口生產經營活動成果的重要數量指標。港口吞吐量預測在確定港口建設計劃和生產計劃方面都具有極其重要的作用。為此,有必要對港口吞吐量預測問題進行研究,以提出精度更高的預測港口吞吐量的方法,從而為政府和港口企業制定正確決策提供理論支持。
目前,國內外關于港口吞吐量預測的方法有很多,如BP神經網絡[1-2]、時間序列分析法[3]、支持向量機(SVM)預測[4-5]、灰色預測[6-7]、組合預測[8-9]等。陳旭等[4]、宋長利等[5]利用改進的SVM模型對港口吞吐量進行預測;黃躍華等[6]提出基于正弦和具有自適應背景值的GM(1,1)優化模型,將其應用于港口吞吐量的預測;杜柏松等[7]建立了一種優化的灰色馬爾科夫動態模型應用于港口吞吐量的預測;王振振等[8]在對數據進行加權灰色關聯分析后,將三次指數平滑法與馬爾科夫模型相組合對港口吞吐量進行了預測;柯橋等[9]將誘導有序加權幾何平均算子賦權應用于基于改進的灰色模型和神經網絡的組合預測模型進行三峽樞紐過壩貨運量預測。由此看出,優化后的單個預測模型或者改進的組合模型更能提高港口吞吐量的預測效果。鑒于灰色預測模型中,相比整數階累加GM(1,1)模型,分數階累加GM(1,1)模型〔FGM(1,1)〕通過將分數階累加代替整數階累加,更能弱化原始數據序列的隨機性,使灰色預測模型解的擾動性變小,實現最少信息的最大挖掘;SVM法基于結構風險最小化原理構造算法,在非線性小樣本預測中表現較為領先,并且適應港口吞吐量非線性的特點。為充分利用各單項預測模型挖掘的數據信息,提高預測精度,筆者建立基于FGM(1,1)預測和支持向量回歸(SVR)的組合預測模型進行港口吞吐量的預測。但是傳統的組合預測模型存在賦權上的局限性,即通過計算確定各單一預測模型的權重來對組合預測模型進行賦權,各單項預測模型在各個時點上的權重不變。這種賦權方法沒有兼顧各單項預測模型在各個時點上預測能力的強弱,從而會影響組合預測模型的預測精度[10-12]。為彌補這一缺陷,筆者將基于誘導有序加權平均(IOWA)算子的賦權方法應用于FGM(1,1)和SVR的組合預測模型,以誤差平方和最小為準則建立新的組合預測模型對重慶港的港口吞吐量進行預測,并將預測結果與相同數據下FGM(1,1)和SVR各單項模型的預測結果進行比較。
設港口歷史貨物吞吐量為:
X(0)={x(0)(1),x(0)(2),…,x(0)(j),…,x(0)(n)}
(1)
式中:x(0)(j)≥0,j=1,2,…,n。
對港口原始貨物吞吐量進行一階累加,得到序列X(0)的一次累加生成序列如式(2):
X(1)={x(1)(1),x(1)(2),…,x(1)(j),…,x(1)(n)}
(2)

根據X(1)序列生成緊鄰均值序列為:
Z(1)={z(1)(1),z(1)(2),…,z(1)(j),…,z(1)(n)}
(3)
式中:z(1)(j)=(1-λ)x(1)(j)+λx(1)(j-1),λ=0.5,j=2,3,…,n。
則傳統GM(1,1)模型的基本形式為:
x(0)(j)+az(1)(j)=b
(4)
式中:a為發展系數;b為灰色作用量。
a、b均為待辨識參數,可根據最小二乘方法得到,因此傳統GM(1,1)模型的白化方程為:
(5)
求解式(5),得到式(4)的時間響應公式為:
(6)
式中:j=1,2,…,n-1。
式(6)作一階累減還原,最終還原式為:
(7)
式中:j=1,2,…,n。
設港口原始吞吐量如式(1),原始序列X(0)的r階累加生成序列如式(8):
X(r)={x(r)(1),x(r)(2),…,x(r)(n)},r∈R+
(8)
港口歷史吞吐量序列X(0)的r階灰色生成算子如式(9):
(9)
式中:j=1,2,…,n。
X(r)的緊鄰均值生成序列為:
Z(r)={z(r)(1),z(r)(2),…,z(r)(j),…,z(r)(n)}^
(10)
式中:z(r)(j)=[x(r)(j)+x(r)(j-1)]/2,j=2,3,…,n。
則FGM(1,1)模型為:
x(r)(j)-x(r)(j-1)+cz(r)(j)=d
(11)
式中:c、d均為待辨識參數。
根據最小二乘法,可得FGM(1,1)模型參數滿足式(12):
(12)

則FGM(1,1)模型的白化微分方程為:
(13)
求解式(13),得到時間響應式為:
j=1,2,…,n
(14)
j=2,3,…,n
(15)
支持向量回歸(support vector regression,SVR)是一種基于統計學習理論提出的機器學習方法,是在支持向量機(support vector machine,SVM)的基礎上發展起來的回歸問題。SVR是一種基于核函數的線性可分模型,可以將線性不可分的數據轉化成高維空間的線性可分。SVR原理見圖1。

圖1 SVR結構
對于訓練樣本D=[(x1,y1),(x2,y2),…,(xm,ym)],xi∈Rn為輸入量,yi∈R為輸出量,設在高維特征空間中建立的線性回歸函數為:
f(x)=wφ(x)+g
(16)
式中:φ(x)為非線性映射函數;w為回歸權重;g為閾值。則線性不敏感損失函數為:
L(f(x),y,ε)=
(17)
式中:f(x)為SVR預測值;y為真實值。
引入松弛變量ξi、ξ*,則SVR的目標函數與約束條件分別如式(18)、式(19):
(18)
(19)
式中:C為懲罰因子,C越大表示對訓練誤差大于ε的樣本懲罰越大;ε規定了回歸函數的誤差要求,ε越小表示回歸函數的誤差越小。
則回歸問題轉化成求待定參數的凸二次規劃問題,利用對偶原理及拉格朗日函數將原問題轉化對偶形式為:
max(α,α*)=
(20)
(21)
式中:K(xi,xj)=φ(xi)φ(xj)為核函數。通過引入核函數解決維數問題,可在不知映射函數的情況下實現回歸估計。
常用的核函數有多項式核函數、張量積核函數、高斯徑向基函數等,使用高斯徑向基函數(RBF)將核函數代入式(20)得到SVR的非線性回歸函數,如式(22):
(22)
根據IOWA算子[13]賦權原理,以單項預測模型預測精度為誘導值對單項模型進行有序賦權,在某時點預測精度高的單項模型將被賦予較大權重,預測精度低的單項模型將被賦予較小權重。組合模型建立流程見圖2。

圖2 組合模型建立流程
設第i種單項預測模型在t時期的預測精度為ait,則表示為:
(23)
式中:ait∈[0,1];xt為實際值。將ait看作預測值vit的誘導值,則n種單項預測方法的預測精度與其對應的預測值就構成了n個二維數組{(a1t,v1t),(a2t,v2t),…,(ant,vnt)}。

(24)

(25)
(26)
以重慶港2005—2020年港口吞吐量為樣本數據(表1),分別建立FGM(1,1)和SVR各單項預測模型和基于IOWA算子的組合預測模型對港口吞吐量進行預測與分析。將2005—2017年樣本數據作為建模數據,2018—2020年樣本數據作為預測模型驗證數據,并對重慶港2021—2024年港口吞吐量進行預測。

表1 2005—2020年重慶港港口吞吐量
以表1的樣本數據為原始數據,按照上述建模過程,利用Anaconda中的Spyder對原始數據分別進行傳統GM(1,1)和FGM(1,1)模型求解。在分數階累加灰色預測模型預測中,當r=0.3時,r∈[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0],模型的平均絕對百分比誤差(EMAP)最小,如式(27):
(27)


表2 2005—2017年各模型預測數據比較
支持向量回歸模型的求解最終轉化為一個帶約束的二次規劃問題,筆者利用libsvm軟件包中的函數svmtrain實現SVR回歸模型的訓練與創建。主要預測過程為:
1)產生訓練集和測試集。為了滿足libsvm軟件包相關函數調用格式的要求,產生的訓練集和測試集應進行相應的轉換。
2)利用libsvm軟件包中的svmtrain函數實現對SVR回歸模型的創建和訓練。并綜合衡量歸一化、核函數的類型以及參數的取值對回歸模型的性能影響程度展開設計。
3)利用libsvm軟件包中的svmpredict函數實現對SVR回歸模型的仿真測試,返回的第1個參數為對應的預測值,第2個參數中記錄了測試集的均方誤差E和決定系數R2。
4)利用svmpredict函數返回的均方誤差E和決定系數R2,對所建立的SVR回歸模型的性能進行評價。若性能沒有達到要求,則可以通過修改模型參數、核函數類型等方法重新建立回歸模型,直到滿足要求為止。
傳統的運用SVR預測模型預測港口吞吐量除了吞吐量樣本數據作為輸入指標外,一般只考慮了時間。但是后續研究發現[4],將港口吞吐量影響因素和吞吐量樣本數據同時作為輸入指標更能提高模型的預測精度。因此,為了更好地發揮SVR預測模型的預測效果,筆者將港口吞吐量影響因素和吞吐量樣本數據同時作為輸入指標來預測重慶港口吞吐量。影響港口吞吐量的因素較為復雜,通常受到港口所在地區經濟與貿易發展水平、港口自身基礎設施條件以及所在地區貨運量需求等因素的影響。選取國內生產總值(GDP)、進出口貿易總額、固定投資總增長情況、社會消費品零售總額、常住人口總量、城市化率、港口堆場總面積、生產用港口碼頭泊位數、公路貨運量、鐵路貨運量共10個影響因素指標(表3)和重慶港2005—2020年港口吞吐量作為SVR模型預測過程中的輸入指標。由此構建的SVR模型預測結果見表2,SVR模型港口吞吐量平均預測精度為97.68%。

表3 港口吞吐量影響因素指標
根據式(25)與表2計算得出基于IOWA算子的組合模型預測值,由FGM(1,1)與SVR模型的預測值可得組合模型預測值為:
(28)
同理,可求得其他年份基于IOWA算子的組合模型預測值。將式(28)代入到式(25),運用lingo軟件求解,求得ω1=0.987 3,ω2=0.012 7。組合模型預測平均精度為99.47%(表2),較FGM(1,1)、SVR模型預測精度分別提高了1.71%、1.79%。
為驗證基于IOWA算子組合預測模型比FGM(1,1)和SVR各單項預測模型預測效果更好,先假設2018—2020年重慶港港口吞吐量實際數據未知,然后根據組合模型預測特征,在預測未來時刻n+1,n+2,…,n+k時,第i種單項模型預測精度qi可用式(29)計算:
(29)
式中:qit表示第i種預測方法在t時刻的預測精度。
根據式(29)分別計算出單項預測模型FGM(1,1)和SVR在2018—2020年各年的預測精度,最后再利用最優組合權重ω1=0.987 3,ω2=0.012 7以及各單項模型的預測值計算求得基于IOWA組合預測模型2018—2020年的港口吞吐量預測值,見表4。

表4 2018—2020年各模型預測數據比較
由表4可知,基于IOWA算子的組合預測模型比各單項預測模型FGM(1,1)和SVR預測效果更優。
分析預測結果可知,基于IOWA算子的組合預測模型比FGM(1,1)和SVR各單項模型預測精度更高。FGM(1,1)和SVR兩種單項預測模型和基于IOWA算子的組合模型的預測值與實際值對比見圖3。

圖3 單項預測與組合模型預測結果對比
由圖3知,基于IOWA算子的組合預測模型預測值與實際值擬合度更高,預測值更接近實際值,這充分說明組合預測模型預測的精度要優于各單項預測模型,能夠更好的反映數據自身特征。基于IOWA算子的組合預測模型在2018—2020年預測值平均精度為97.27%,相較于FGM(1,1)模型平均預測精度提高了4.32%,相較于SVR模型平均預測精度提高了0.41%。
為了進一步說明組合預測模型優于單項預測模型,選取均方根誤差ERMS、平均絕對誤差EMA和平均絕對百分比誤差EMAP對單一預測模型預測值和組合預測模型預測值進行檢驗,其計算公式如式(30):
(30)
ERMS、EMA、EMAP計算結果見表5。由表5可知,基于IOWA組合預測模型的均方根誤差、平均絕對誤差和平均絕對百分比誤差均明顯優于各單一預測模型,由此證明了組合預測方法的有效性。

表5 誤差檢驗
運用重慶港2005—2020年港口吞吐量實際值,通過FGM(1,1)和SVR各單項預測模型以及基于IOWA算子的組合預測模型預測得到重慶港2021—2024年港口吞吐量的預測值(表6),以供未來參考。

表6 2021—2024年各模型港口吞吐量預測值
鑒于灰色預測和支持向量機方法在港口吞吐量預測方面具有的優勢,筆者提出建立FGM(1,1)和SVR的組合預測模型,針對傳統組合預測模型在賦權上的局限性,提出基于IOWA算子賦權的新的組合預測模型。經實例分析表明,模型FGM(1,1)和SVR均可以很好地擬合重慶港港口吞吐量,但是基于IOWA算子的FGM-SVR新的組合預測模型比各單項預測模型的預測效果更優,預測精度更高。該新的組合預測模型是有效的,能夠較好地結合FGM(1,1)和SVR這兩種單一預測模型,為港口吞吐量預測提供一種新的方法。