丁天明,潘 寧,杜柏松,艾萬(wàn)政
(浙江海洋大學(xué) 船舶與海運(yùn)學(xué)院,浙江 舟山 316022)
港口貨物吞吐量決定著港口資源分配的效率,直接影響著港口發(fā)展規(guī)劃的合理性、科學(xué)性與先進(jìn)性。對(duì)未來(lái)港口的長(zhǎng)期發(fā)展規(guī)劃和決策來(lái)說(shuō),預(yù)測(cè)是至關(guān)重要的一步[1],因此提高港口貨物吞吐量的預(yù)測(cè)精確度就顯得尤為重要。目前對(duì)吞吐量的預(yù)測(cè)方法有時(shí)間序列[2]、概率統(tǒng)計(jì)[3]、指數(shù)平滑[4]、灰色理論[5]、支持向量機(jī)[6]、神經(jīng)網(wǎng)絡(luò)[7]以及組合預(yù)測(cè)等。其中,組合預(yù)測(cè)方法應(yīng)用較多:李長(zhǎng)安等[8]將反向傳播神經(jīng)網(wǎng)絡(luò)模型在蟻群算法的改進(jìn)下進(jìn)行吞吐量預(yù)測(cè),加快了原始模型的收斂速度,提高了預(yù)測(cè)的精度,但是當(dāng)數(shù)據(jù)不充分時(shí),神經(jīng)網(wǎng)絡(luò)處于失效狀態(tài),因此該算法還有待提高;徐勇[9]通過(guò)灰色理論構(gòu)建了原始預(yù)測(cè)模型,在分析吞吐量時(shí)間序列的趨勢(shì)之后,實(shí)現(xiàn)了其精準(zhǔn)預(yù)測(cè)的目的;TANG Shuang等[10]選取了5種影響因素,使用數(shù)據(jù)集建立多元線性模型和反向傳播神經(jīng)網(wǎng)絡(luò)模型分別對(duì)上海港和連云港進(jìn)行了預(yù)測(cè)評(píng)估;翁志堅(jiān)等[11]針對(duì)灰色系統(tǒng)在預(yù)測(cè)有較大波動(dòng)的數(shù)據(jù)序列過(guò)程中存在的缺陷,在馬爾可夫理論基礎(chǔ)上建立了新維灰色預(yù)測(cè)模型;王振振等[12]將各季度影響吞吐量的程度用加權(quán)灰色關(guān)聯(lián)分析進(jìn)行了排序,再結(jié)合三次指數(shù)平滑法與馬爾科夫模型,大幅度提高了預(yù)測(cè)精度。
由于港口貨物吞吐量的樣本數(shù)據(jù)相對(duì)較少,信息量較匱乏[13],給預(yù)測(cè)過(guò)程帶來(lái)了一定的難度,而灰色模型對(duì)樣本數(shù)據(jù)沒有過(guò)高的要求,可以以簡(jiǎn)便的方式運(yùn)用小規(guī)模數(shù)據(jù)對(duì)非平穩(wěn)隨機(jī)過(guò)程進(jìn)行預(yù)測(cè)并反映出序列的長(zhǎng)期發(fā)展趨勢(shì),因此該模型目前在吞吐量預(yù)測(cè)方向的應(yīng)用最為廣泛[14-16]。但灰色模型在處理有波動(dòng)性的數(shù)據(jù)時(shí)存在一定的缺陷,而馬爾可夫過(guò)程能很好地解決這一問(wèn)題,且其具有無(wú)后效性的特點(diǎn),因此筆者用一階馬爾可夫鏈對(duì)模型殘差進(jìn)行修正,用以彌補(bǔ)灰色預(yù)測(cè)的誤差精度。然而在目前的馬爾可夫狀態(tài)區(qū)間劃分過(guò)程中均以中間值作為狀態(tài)區(qū)間的白化系數(shù),并沒有隨著實(shí)際區(qū)間的改變而調(diào)整。因此,筆者在馬爾可夫修正的過(guò)程中還提出用粒子群算法對(duì)狀態(tài)區(qū)間劃分的參數(shù)因子進(jìn)行動(dòng)態(tài)優(yōu)化,使其能自主適應(yīng)區(qū)間數(shù)值的變化、及時(shí)更新馬爾可夫鏈的每個(gè)狀態(tài)區(qū)間系數(shù)并達(dá)到最優(yōu)修正值。筆者將吸收以上3種模型算法的優(yōu)點(diǎn),通過(guò)粒子群算法迭代尋優(yōu),分別找到各區(qū)間最合適的白化系數(shù),改進(jìn)灰色馬爾可夫預(yù)測(cè)模型,對(duì)比分析得到較高精度的吞吐量預(yù)測(cè)值。
令非負(fù)原始時(shí)間序列為X(0)={x(0)(1),x(0)(2),…,x(0)(n)},經(jīng)過(guò)一次加和生成后取得一階加和總序列X(1)={x(1)(1),x(1)(2),…,x(1)(n)}。
建立灰色GM(1,1)一階預(yù)測(cè)模型:
(1)
式中:參數(shù)a和b分別反應(yīng)了模型的增長(zhǎng)速度和協(xié)調(diào)變換關(guān)系。
此時(shí)模型對(duì)應(yīng)的解用最小二乘法求解得到:
(2)
B和Yn表達(dá)式如式(3)、式(4):
(3)
(4)
令初始條件為x(1)(1)=x(0)(1),得出微分方程的解為:
(5)
(6)
再將模擬值進(jìn)行累減計(jì)算,得到原始數(shù)據(jù)的預(yù)測(cè)值:
(7)
馬爾可夫鏈主要研究狀態(tài)之間可能存在移動(dòng)性的概率關(guān)系,事物的發(fā)展只與當(dāng)前狀態(tài)有關(guān),與其他狀態(tài)無(wú)關(guān)[17]。由于原始序列具有一定的波動(dòng)性和隨機(jī)性,使得GM(1,1)預(yù)測(cè)模型在實(shí)踐過(guò)程中存在一定的誤差。筆者用一階馬爾可夫?qū)疑A(yù)測(cè)模型進(jìn)行殘差修正,最大程度上克服了原始模型在數(shù)據(jù)波動(dòng)上的局限性。馬爾可夫鏈的特點(diǎn)是客觀事物下一步的狀態(tài)只與當(dāng)前狀態(tài)有關(guān)聯(lián),與除當(dāng)前之外的所有狀態(tài)均無(wú)關(guān),即:
p′(Xt+1=j|Xt=i)=p′(Xt+1=j|Xt=it,Xt-1=it-1,…,X0=i0)
(8)
式中:Xn∈Ej,對(duì)任意的t∈E,i∈E,其中,E為等分區(qū)間集合,Ej為第j個(gè)等分區(qū)間。
由灰色系統(tǒng)理論得到的預(yù)測(cè)值可計(jì)算出與原始序列值的相對(duì)殘差:
(9)
根據(jù)相對(duì)殘差的大小來(lái)劃分修正狀態(tài)區(qū)間,每個(gè)區(qū)間的間隔相同,將其平均劃分等分區(qū)間Ei=[Li,Ui],最后建立一階狀態(tài)轉(zhuǎn)移矩陣Pij。該矩陣反映了各個(gè)殘差狀態(tài)區(qū)間移動(dòng)過(guò)渡的可能性,即當(dāng)前狀態(tài)移動(dòng)到下一個(gè)狀態(tài)的概率:
(10)
Pij(m)=[Pij(1)]m
(9)
得出灰色馬爾可夫預(yù)測(cè)模型如式(12):
(12)
其中,預(yù)測(cè)狀態(tài)“高估”時(shí)取正,“低估”時(shí)取負(fù)。
對(duì)于傳統(tǒng)的灰色馬爾可夫組合模型,狀態(tài)區(qū)間取中值0.5未必為最優(yōu)狀態(tài)。筆者引進(jìn)粒子群算法(particle swarm optimization, PSO)代替模型中直接取中值的方式,對(duì)馬爾可夫模型各個(gè)狀態(tài)i的參數(shù)因子進(jìn)行優(yōu)化。將白化系數(shù)λi帶入灰區(qū)間求解:
Ii=λiLi+(1-λi)Ui
(13)
式中:λi∈[0,1];Li、Ui分別為狀態(tài)區(qū)間的上、下邊界值。
PSO算法是一種復(fù)雜適應(yīng)優(yōu)化算法,具有參變量少、全局搜索能力強(qiáng)、收斂速度快等優(yōu)點(diǎn)[18]。其為一群隨機(jī)的粒子在搜索空間上通過(guò)合適的速度不斷地尋優(yōu)迭代,找到最適合所有粒子的最佳位置,此時(shí)為最優(yōu)解。而這些粒子均具有確定其好壞的功能,即適應(yīng)度函數(shù),在滿足這個(gè)函數(shù)之后才能繼續(xù)向前搜索。取m個(gè)粒子組合成一個(gè)群集,其中任一粒子q在d維空間中均有D維向量,每個(gè)向量均代表一個(gè)白化因子λq,每個(gè)粒子q均在空間里以速度vqd進(jìn)行搜索,其搜索的位置xqd和速度vqd不斷更新迭代,表達(dá)式為:
(14)
(15)
式中:學(xué)習(xí)因子c1和c2能夠提高模型的收斂速度且避免陷于局部最優(yōu);r1和r2為[0,1]之間的隨機(jī)數(shù);w為慣性因子,可以使局部和全局搜索能力達(dá)到均衡;pbest,qd、gbest,qd分別為個(gè)體極值點(diǎn)、全局極值點(diǎn)的位置。
筆者用誤差的均方差值eMS來(lái)衡量每個(gè)粒子優(yōu)劣程度的適應(yīng)度函數(shù),此時(shí)均方差值越小越好。粒子適應(yīng)度函數(shù)的表達(dá)式為:
(16)
基于PSO算法改進(jìn)的灰色馬爾可夫復(fù)合預(yù)測(cè)模型流程如圖1。
圖1 基于粒子群優(yōu)化的灰色馬爾可夫貨物吞吐量預(yù)測(cè)模型流程
算法步驟如下:
1)輸入原始預(yù)測(cè)序列到灰色GM(1,1)模型中,得到殘差值。
2)將殘差值進(jìn)行區(qū)間等概率劃分并建立一階狀態(tài)轉(zhuǎn)移矩陣。
3)根據(jù)狀態(tài)轉(zhuǎn)移概率矩陣確定各年份所處的狀態(tài)區(qū)間。
4)輸入粒子群算法的各項(xiàng)參數(shù)值并開始迭代運(yùn)算,獲取各區(qū)間的白化系數(shù)。
5)輸出粒子群改進(jìn)后的最終預(yù)測(cè)值。
筆者通過(guò)對(duì)比分析各模型的方差比值和小殘差概率值來(lái)判斷各模型的預(yù)測(cè)精度。首先將預(yù)測(cè)數(shù)值與實(shí)際數(shù)值相減并取絕對(duì)值,得到絕對(duì)殘差序列:
(17)
設(shè)原始序列X(0)的均方差為S1,殘差序列Δ(0)的均方差為S2,方差比為二者比值:
(18)
小殘差概率:
(19)
方差比值C越小表示當(dāng)原始序列均方差S1相等的情況下,該模型的殘差序列均方差S2越小,此時(shí)該預(yù)測(cè)模型殘差飽和度小,精度高。小殘差概率pr越大表示殘差與殘差平均值之差中小于原始定值0.674 5倍的數(shù)值越多,精度也越高,其精度判別見表1。
表1 后驗(yàn)差檢驗(yàn)判別參照
選用《中國(guó)統(tǒng)計(jì)年鑒》中2007—2021年寧波舟山港的港口貨物吞吐量(表2)作為研究對(duì)象進(jìn)行分析。分別將傳統(tǒng)的灰色預(yù)測(cè)、灰色馬爾可夫復(fù)合預(yù)測(cè)和粒子群優(yōu)化的灰色馬爾可夫這3種預(yù)測(cè)模型進(jìn)行比較,找出最優(yōu)精度的模型并預(yù)測(cè)未來(lái)3 a吞吐量情況,為后續(xù)港口生產(chǎn)建設(shè)提供理論依據(jù)。
表2 寧波舟山港2007—2021年貨物吞吐量
由表2可以看出,寧波舟山港港口貨物吞吐量總體呈平穩(wěn)增長(zhǎng)趨勢(shì)。
將表2中數(shù)據(jù)進(jìn)行累加得到一階累加序列X(1)={47.336,100.284,157.968,221.268,290.661,365.062,446.040,533.386,622.315,714.524,815.457,923.896,1 035.905,1 153.145,1 275.55}。將此數(shù)據(jù)帶入式(1),得到a=-0.060 4,b=53.062 2。進(jìn)而一階微分方程的解為:
(20)
從式(20)得出灰色預(yù)測(cè)的一階累加序列模擬值,對(duì)其進(jìn)行累減,即可得到原始序列對(duì)應(yīng)的模擬預(yù)測(cè)序列和相對(duì)殘差值,見表3。
根據(jù)表3中的殘差序列,采用等概率方法對(duì)其進(jìn)行狀態(tài)劃分,具體區(qū)間分為以下4個(gè)狀態(tài):極度高估E1、高估E2和E3、較為準(zhǔn)確E4,其中每個(gè)狀態(tài)區(qū)間誤差間隔為3.5%,區(qū)間劃分見表4。
表4 狀態(tài)區(qū)間劃分
根據(jù)各年殘差值落入的狀態(tài)區(qū)間劃分各年份的狀態(tài)。E1:2008,2009;E2:2010,2021;E3:2007,2011,2012,2015,2016,2019,2020;E4:2013,2014,2017,2018。
此時(shí)由式(11)建立一階狀態(tài)轉(zhuǎn)移矩陣:
根據(jù)狀態(tài)轉(zhuǎn)移矩陣和各年份所處狀態(tài)區(qū)間,將各年份的灰色預(yù)測(cè)值由式(12)進(jìn)行修正,得出灰色馬爾可夫復(fù)合模型的預(yù)測(cè)值,見表5。
表5 寧波舟山港貨物吞吐量3種模型預(yù)測(cè)對(duì)比
將2.2節(jié)中經(jīng)過(guò)劃分的4個(gè)殘差狀態(tài)區(qū)間視為灰區(qū)間,將這些灰區(qū)間的白化系數(shù)代入粒子群算法〔式(14)〕得到:
I1=λ1×(-0.088 6)+(1-λ1)×(-0.053 5)
(15)
I2=λ2×(-0.053 5)+(1-λ2)×(-0.018 3)
(16)
I3=λ3×(-0.018 3)+(1-λ3)×0.016 9
(17)
I4=λ4×0.016 9+(1-λ4)×0.052 1
(18)
而傳統(tǒng)的灰色馬爾可夫組合模型實(shí)際上是將其取中間值,即λi=0.5,i=1,2,3,4。事實(shí)上此4個(gè)區(qū)間狀態(tài)并非均取中值。筆者利用粒子群算法迭代搜尋各狀態(tài)區(qū)間實(shí)際參數(shù),優(yōu)化式(15)~式(18)的組合模型,確定當(dāng)下合適的白化因子。
經(jīng)過(guò)多次調(diào)試,取參數(shù)粒子長(zhǎng)度為4,最大種群數(shù)為1 000,學(xué)習(xí)因子c1=0.6,c2=0.8,權(quán)重w=0.8,粒子最大更新位置為1,最小為0,更新速度最大、最小值分別為0.01、 -0.01。利用1.3節(jié)中粒子群算法的具體步驟,在MATLAB軟件上運(yùn)行程序得到優(yōu)化后的動(dòng)態(tài)白化系數(shù)λ={0.069 1,0.032 6,0.009 7,0.036 8}。由此可見,每個(gè)狀態(tài)區(qū)間的系數(shù)取中間值0.5并不能達(dá)到最優(yōu)預(yù)測(cè)效果。將優(yōu)化后的λ值分別代入灰色馬爾可夫組合預(yù)測(cè)模型,各狀態(tài)區(qū)間進(jìn)一步得到改進(jìn)后的預(yù)測(cè)值見表5。
對(duì)3種預(yù)測(cè)模型進(jìn)行誤差和后驗(yàn)差檢驗(yàn),如表6。由表6可知:3種模型的精度等級(jí)均為一級(jí);相較于灰色GM(1,1)預(yù)測(cè)模型,灰色馬爾可夫組合模型精度進(jìn)一步提高,平均誤差均值降低了62%;經(jīng)粒子群改進(jìn)灰色馬爾可夫后的C值最小,精度也最優(yōu),平均誤差均值下降了76%,相較于灰色馬爾可夫組合模型下降了37%,這說(shuō)明了經(jīng)過(guò)二次修正后模型的擬合度更高。從圖2中也可直觀地看出,粒子群優(yōu)化灰色馬爾可夫模型的預(yù)測(cè)值與實(shí)際值更為貼合。因此,在馬爾可夫修正模型中,參數(shù)直接取中間值的方法存在一定誤差,而粒子群算法很好地克服了此模型的不足。
表6 模型精度對(duì)比
首先對(duì)寧波舟山港的2022年貨物吞吐量值進(jìn)行預(yù)測(cè),由式(11)可得到灰色馬爾可夫組合模型的n步轉(zhuǎn)移矩陣。同時(shí)選用與預(yù)測(cè)年份相隔最近4 a的轉(zhuǎn)移步數(shù)和所在狀態(tài),建立狀態(tài)轉(zhuǎn)移矩陣,計(jì)算得到2022年的累積狀態(tài)轉(zhuǎn)移概率,如表7。從而確定2022年所處狀態(tài)區(qū)間,最后根據(jù)狀態(tài)區(qū)間劃分(表4)和動(dòng)態(tài)白化系數(shù)預(yù)測(cè)寧波舟山港未來(lái)貨物吞吐量。
表7 2022年貨物吞吐量狀態(tài)預(yù)測(cè)
從表7可以看出,2022年累積狀態(tài)轉(zhuǎn)移概率最大為2.40,處于狀態(tài)區(qū)間E3中,因此對(duì)應(yīng)的區(qū)間參數(shù)為λ3。結(jié)合式(12)、式(13)可以得到2022年的吞吐量預(yù)測(cè)值,同理可得寧波舟山港2023年和2024年的貨物吞吐量預(yù)測(cè)值,見表8。
表8 2022—2024年寧波舟山港貨物吞吐量預(yù)測(cè)值
1)筆者選用易于實(shí)施的粒子群算法,對(duì)灰色馬爾可夫模型在狀態(tài)區(qū)間參數(shù)選擇上的不足進(jìn)行了改進(jìn)。該算法影響參數(shù)較少,收斂速度快且具有良好的搜索能力,提高了模型的實(shí)用性?;赑SO算法改進(jìn)后的灰色馬爾可夫模型在殘差均值上有一定幅度的下降,預(yù)測(cè)序列與原始序列基本擬合,很大程度上提高了復(fù)合模型的精確度,實(shí)現(xiàn)了對(duì)吞吐量的精準(zhǔn)預(yù)測(cè),為相關(guān)部門在港口規(guī)劃和布局上提供了一定的參考價(jià)值。
2)筆者在用一階馬爾可夫鏈修正灰色殘差值時(shí),對(duì)狀態(tài)的劃分采用區(qū)間等分法,這直接影響到狀態(tài)轉(zhuǎn)移概率矩陣的確定,從而波及整個(gè)預(yù)測(cè)模型的精度。因此,可以對(duì)狀態(tài)區(qū)間的劃分做進(jìn)一步改進(jìn),以期能夠提高預(yù)測(cè)精度。