杜柏松, 艾萬政, 胡林燕, 朱鵬飛
(浙江海洋大學(xué) 船舶與海運(yùn)學(xué)院, 浙江 舟山 316022)
海上交通事故量預(yù)測是海事安全評價(jià)和決策的基礎(chǔ),是海上安全管理部門總體控制水上交通安全的核心內(nèi)容之一。[1]定量研究海上交通事故的變化趨勢,對保障海上交通運(yùn)輸安全、提高海上交通安全管理水平具有重要的現(xiàn)實(shí)意義。目前,用于預(yù)測海上交通事故量的預(yù)測方法有支持向量機(jī)技術(shù)預(yù)測、BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)預(yù)測和回聲狀態(tài)網(wǎng)絡(luò)預(yù)測等預(yù)測方法[2-4],這些方法計(jì)算繁瑣且需要大量的歷史數(shù)據(jù)。由于灰色預(yù)測理論主要針對含有不確定因素,且具有一定變化趨勢系統(tǒng)問題的預(yù)測;海上交通事故量具有隨機(jī)性、不確定性等特點(diǎn),且隨著海上交通規(guī)范化和秩序化的發(fā)展,自開始統(tǒng)計(jì)以來總體呈現(xiàn)下降的趨勢。因此,許多學(xué)者利用灰色理論對海上交通事故量進(jìn)行預(yù)測研究。李云表等[5]利用GM(1,1)預(yù)測模型對舟山海域的海上交通事故量做了預(yù)測,其結(jié)果能反映海上交通事故量的變化趨勢,但預(yù)測精度有待進(jìn)一步提高。隨著研究的深入,在灰色預(yù)測基礎(chǔ)上建立許多灰色相關(guān)組合模型。虞盈等[6]在灰色預(yù)測的基礎(chǔ)上,建立灰色馬爾科夫組合模型,該組合模型能很好地克服數(shù)據(jù)的波動性;范中洲等[7]建立灰色BP神經(jīng)網(wǎng)絡(luò)組合預(yù)測模型,其結(jié)果比單一灰色預(yù)測和BP神經(jīng)網(wǎng)絡(luò)預(yù)測在預(yù)測精度和穩(wěn)定方面更佳;徐東星等[8]等提出一種優(yōu)化背景值和預(yù)測值殘差的改進(jìn)三參數(shù)灰色預(yù)測模型,取得良好的預(yù)測效果;陳昌源等[9]通過引入弱化算子序列對灰色預(yù)測的背景值進(jìn)行優(yōu)化,預(yù)測結(jié)果良好。以上灰色預(yù)測相關(guān)組合模型,在預(yù)測計(jì)算過程中依然存在預(yù)測過程不甚科學(xué)、計(jì)算過程復(fù)雜等特點(diǎn),預(yù)測精度有待進(jìn)一步提高;GM(1,1)模型是有偏差的預(yù)測模型,不能充分利用灰色系統(tǒng)的信息。[10]單因數(shù)系統(tǒng)云灰色預(yù)測模型(System Cloud erey Model, SCGM(1,1)C)是在GM(1,1)預(yù)測的基礎(chǔ)上發(fā)展而來的,具有建模過程更加嚴(yán)謹(jǐn),計(jì)算過程更簡單、精度更高等特點(diǎn)[11],該模型被廣泛運(yùn)用于航空、道路等交通領(lǐng)域[12-13]以及煤礦相關(guān)領(lǐng)域[14]的事故量預(yù)測研究中,取得良好的預(yù)測效果。
為更準(zhǔn)確地完成預(yù)測研究,本文采用在交通領(lǐng)域事故量預(yù)測中運(yùn)用比較廣泛的SCGM(1,1)C預(yù)測模型,并通過相關(guān)算法對其進(jìn)行多角度優(yōu)化,構(gòu)建改進(jìn)的SCGM(1,1)C預(yù)測模型,以實(shí)現(xiàn)對海上交通事故量的高精度預(yù)測。
SCGM (1,1)C預(yù)測模型是灰色GM(1,1)預(yù)測模型的發(fā)展,其對原始數(shù)列的處理采用積分計(jì)算而非GM(1,1)預(yù)測模型的累加計(jì)算方式,即計(jì)算原理由梯形面積替代矩形面積,提高了預(yù)測精度。同時(shí),相對于GM(1,1)預(yù)測模型,在確定模型參數(shù)時(shí)SCGM (1,1)C預(yù)測模型不需要大量的矩陣運(yùn)算,且利用預(yù)測模型求取預(yù)測值時(shí)不需累減計(jì)算,預(yù)測計(jì)算過程得到簡化。
SCGM (1,1)C預(yù)測模型建模過程如下:
設(shè)海上交通事故量樣本數(shù)據(jù)序列為X(0),有
X(0)={X(0)(1),X(0)(2),…,X(0)(n)}
(1)
對樣本序列X(0)進(jìn)行積分生成變換,得X(0)={X(0)(1),X(0)(2),…,X(0)(n)},有
(2)
而
X(1)(m)=0.5×[X(0)(m)+X(0)(m+1)]
(3)
設(shè)海上交通事故量積分樣本序列X(0)與函數(shù)fr(k)=bea(k-1)-c滿意趨勢關(guān)聯(lián),用X(0)′的數(shù)據(jù)貼切擬合于fr(k),計(jì)算可得到云灰色系數(shù)為
(4)
(5)
(6)
設(shè)X(0)(k)=b-c,U=ac,則有微分方程為
(7)
解該方程得
(8)
對X(0)′(k)進(jìn)行還原處理,即可得到海上交通事故量的SCGM (1,1)C預(yù)測模型為
(9)
系統(tǒng)SCGM (1,1)C雖然較灰色GM(1,1)預(yù)測模型在預(yù)測精度和運(yùn)算過程上有一定提高,但該模型的基本原理是灰色預(yù)測,對于因不確定性因素造成的海上交通事故量的波動,該模型依然不能達(dá)到理想的預(yù)測精度。為提高模型的預(yù)測精度,對SCGM (1,1)C模型預(yù)測值提出修正。
樣本值與SCGM (1,1)C模型預(yù)測值之差,稱為預(yù)測殘差,殘差的分布情況可視為馬爾科夫狀態(tài)。[15]馬爾科夫預(yù)測是通過計(jì)算各狀態(tài)的轉(zhuǎn)移概率來實(shí)現(xiàn)的,轉(zhuǎn)移概率反映各狀態(tài)的內(nèi)在規(guī)律,其最顯著的特點(diǎn)是無后效性,尤其適用具有較強(qiáng)波動性樣本數(shù)據(jù)的預(yù)測。因此,將馬爾科夫預(yù)測理論與SCGM (1,1)C模型結(jié)合起來,利用馬爾科夫理論修正海上交通事故量預(yù)測值。
1) 計(jì)算海上交通事故量SCGM (1,1)C模型預(yù)測值的殘差和相對誤差分別為
(10)
(11)
2) 根據(jù)相對誤差Q的分布情況,把其均分為i個數(shù)值區(qū)間,每個區(qū)間為一個預(yù)測狀態(tài),有
Ei=[Li,Ui],i=1,2,…,n
(12)
3) 構(gòu)造轉(zhuǎn)移概率矩陣,記由狀態(tài)Ei轉(zhuǎn)移到狀態(tài)Ej發(fā)生nij次,而狀態(tài)Ei在相對誤差系列中出現(xiàn)ni次,則由Ei轉(zhuǎn)移到狀態(tài)Ej的狀態(tài)轉(zhuǎn)移概率為pij=nij/ni,可得1步狀態(tài)轉(zhuǎn)移概率矩陣為
(13)
P(n)=(P(1))n
(14)
式(14)為n步狀態(tài)轉(zhuǎn)移概率矩陣。
4) 通過計(jì)算狀態(tài)轉(zhuǎn)移概率并比較各個狀態(tài)概率的大小,概率最大者為預(yù)測年份的狀態(tài)。設(shè)預(yù)測年份狀態(tài)為Ei=[Li,Ui],取狀態(tài)Ei的中間值Ii(白化系數(shù)λi=0.5)為修正參數(shù),即
Ii=|0.5×(Li+Hi)|
(15)
則可得經(jīng)過馬爾科夫理論修正的馬爾科夫SCGM (1,1)C預(yù)測模型為
(16)
當(dāng)預(yù)測值大于樣本值時(shí),取“+”;當(dāng)預(yù)測值小于樣本值時(shí),取“-”。
由第2.1節(jié)馬爾科夫理論修正SCGM (1,1)C預(yù)測值的式(15)可知:關(guān)于修正參數(shù)Ii的取值,人為選取了狀態(tài)Ei的中間值,即λi=0.5,但在實(shí)際應(yīng)用中,中間值并非一定是最優(yōu)值,這樣取值不科學(xué)且存在較大誤差。[15]為合理的求解最優(yōu)修正參數(shù)Ii,采用粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對λ進(jìn)行優(yōu)化。 PSO算法是由Kennedy等提出的基于種群的優(yōu)化算法,具有全局搜索能力強(qiáng)、參數(shù)少,計(jì)算過程便于MATLAP實(shí)現(xiàn)等優(yōu)點(diǎn),其基本算法為
vi(t+1)=wvi(t)+c1rand1(xpbesti-xi(t))+
c2rand2(xgbesti-xi(t))
(17)
xi(t+1)=xi(t)+vi(t+1)
(18)
式(17)和(18)中:xi為時(shí)刻t粒子的位置;vi為時(shí)刻t粒子的速度;xpbesti為粒子局部最優(yōu)位置;xgbesti為粒子的全局最優(yōu)位置;rand1、rand2為取值在(0,1)之間的隨機(jī)數(shù);ω為慣性系數(shù);c1和c2為學(xué)習(xí)因數(shù)。
本研究設(shè)最優(yōu)λ為粒子的最優(yōu)位置x,以均方誤差(Mean Square Error, MSE)表示為
(19)
MSE為適應(yīng)度函數(shù),通過MATLAP編程運(yùn)算求解粒子的最優(yōu)位置x值,即為最佳的λ。從而可得經(jīng)過優(yōu)化的修正參數(shù)為
(20)
將優(yōu)化后的修正參數(shù)Ii代入式(15)即可得海上交通事故量的改進(jìn)SCGM (1,1)C預(yù)測模型。
梳理以上SCGM (1,1)C模型建模過程及對其進(jìn)行的2次優(yōu)化,可總結(jié)改進(jìn)SCGM (1,1)C預(yù)測模型的建模流程,見圖1。
圖1 改進(jìn)SCGM(1,1)C預(yù)測模型的建模流程
為驗(yàn)證改進(jìn)SCGM(1,1)C模型的預(yù)測精度,應(yīng)采取一定的檢驗(yàn)方法對其進(jìn)行檢驗(yàn)。SCGM(1,1)C預(yù)測的原理為灰色預(yù)測,灰色預(yù)測常用的檢驗(yàn)方法為殘差校驗(yàn)和后驗(yàn)差校驗(yàn)[11],因此,本文也選用這2種方法檢驗(yàn)改進(jìn)的預(yù)測模型。
2.4.1殘差檢驗(yàn)及指標(biāo)
1) 最大絕對百分比誤差(Absolute Percentage Error, APE),體現(xiàn)模型預(yù)測值與樣本數(shù)據(jù)的最大偏差,有
(21)
2) 平均相對誤差(Mean Absolwte Percentage Error, MAPE),體現(xiàn)不同模型對相同樣本數(shù)據(jù)擬合程度的好壞,有
(22)
2.4.2后驗(yàn)差檢驗(yàn)及指標(biāo)
表1 預(yù)測模型等級劃分表
選取2004—2019年的海上交通事故量數(shù)據(jù)為試驗(yàn)對象(見表2),對建立的模型進(jìn)行實(shí)例驗(yàn)證和分析。根據(jù)改進(jìn)SCGM(1,1)C預(yù)測模型的建模過程,以2004—2015數(shù)據(jù)為樣本數(shù)據(jù),通過建立SCGM(1,1)C預(yù)測模型及對其進(jìn)行2次優(yōu)化模型,分別計(jì)算相應(yīng)的預(yù)測值并作擬合曲線,分析并判斷改進(jìn)模型的精度情況;同時(shí),以文獻(xiàn)[8]所建模型為比較對象,判斷所建模型的準(zhǔn)確性,并用所建改進(jìn)模型對2016—2019年的數(shù)據(jù)進(jìn)行實(shí)際預(yù)測,判斷模型的可行性。
取2004—2015年的海上交通事故量數(shù)據(jù)為樣本數(shù)據(jù)X(0),有
X(0)={562,532,440,420,342,358,331,298,270,262,260,212}
(23)
表2 2004—2019年海上交通事故量 起
由式(2)~式(6)得SCGM(1,1)C模型灰參數(shù):a=-0.094 3,b=-5 990.68,c=-5 970.92;代入式(8)得預(yù)測模型為
(24)
根據(jù)模型計(jì)算求解預(yù)測值,并計(jì)算e(k)和Q,見表3。3種預(yù)測模型擬合曲線圖見圖2。
表3 SCGM(1,1)C模型預(yù)測結(jié)果 起
由表3可知:2008年和2014年、2015年因樣本值數(shù)據(jù)波動較大,預(yù)測產(chǎn)生較大的預(yù)測誤差。由圖2可知:預(yù)測值擬合曲線在2005—2009年和2013—2015年2個時(shí)間段背離明顯。因此,SCGM(1,1)C模型有待改進(jìn)。
為提高SCGM(1,1)C模型的預(yù)測精度,對該預(yù)測模型進(jìn)行馬爾科夫理論修正。由上文馬爾科夫修正模型的建模過程,根據(jù)表3所列SCGM(1,1)C模型預(yù)測值相對誤差的大小分布,把該模型預(yù)測值的情況劃分為4個狀態(tài),見表4。
表4 SCGM(1,1)C模型預(yù)測值狀態(tài)劃分
由表4狀態(tài)劃分可得1步狀態(tài)轉(zhuǎn)移概率矩陣為
(25)
在確定各樣本數(shù)據(jù)年份的預(yù)測狀態(tài)和轉(zhuǎn)移概率矩陣以后,即可利用馬爾科夫理論對SCGM(1,1)C預(yù)測值進(jìn)行修正:2004—2015年的預(yù)測值狀態(tài)已知,因此,可直接通過式(15)和式(16)計(jì)算,修正的預(yù)測值見表5。對于2015及以后的預(yù)測值,首先利用SCGM(1,1)C模型求出預(yù)測值,然后以2011年、2012年、2013年和2014年作為馬爾科夫預(yù)測狀態(tài)的基礎(chǔ),由基礎(chǔ)年份狀態(tài)和多步轉(zhuǎn)移概率矩陣得到累積概率并判斷預(yù)測年份的狀態(tài),最后利用式(15)和式(16)計(jì)算。[16]
表5 不同慣性系數(shù)ω下改進(jìn)SCGM(1,1)C預(yù)測值的MAEP
為進(jìn)一步提高SCGM(1,1)C預(yù)測值的精度,在馬爾科夫理論修正預(yù)測值的基礎(chǔ)上,使用PSO算法對其進(jìn)行二次修正。根據(jù)建模過程及式(17)和式(18),求解最優(yōu)λ值。
本研究發(fā)現(xiàn),黃油的固體脂肪含量比豬油高,有更好可塑性,同時(shí)與豬油相比,烘焙溫度和循環(huán)加熱次數(shù)的增加對黃油的酸價(jià)、過氧化值及多不飽和脂肪酸含量影響不顯著(P>0.05),這說明黃油在不同烘焙條件下具有良好的穩(wěn)定性,但高溫處理及多次加熱會使黃油的單不飽和脂肪酸和飽和脂肪酸含量增多,因此,也應(yīng)盡量避免黃油的重復(fù)利用并適當(dāng)減少烘焙溫度。
1) 首先設(shè)置PSO算法各參數(shù),由表4可知:對 SCGM(1,1)C模型預(yù)測值的殘差劃分了4個狀態(tài),因此,取搜索維度D=4;由第2.2節(jié)所述,設(shè)最優(yōu)λ(0≤λ≤1)為粒子更新位置x,所以取粒子更新位置xmax=1,xmin=0;PSO中種群粒子數(shù)和迭代次數(shù)越高,其優(yōu)化效果就越好,但過高的粒子數(shù)和迭代次數(shù)會延長運(yùn)算時(shí)間,因此,在保證精度效果和運(yùn)算速度的情況下,取粒子數(shù)N=1 000,迭代次數(shù)k=1 000。[17]學(xué)習(xí)因數(shù)通常取c1=2、c2=2,且慣性系數(shù)0.6≤ω≤1.2時(shí),PSO算法的搜索效率和搜索精度較高,且算法的收斂速度較快。[18]
2) 為取得最佳ω值,在以上各參數(shù)確定的情況下,分別取ω=0.6,0.7,…,1.2,編輯海上交通事故量粒子群優(yōu)化MATLAP程序語言,并多次運(yùn)行該程序,得到不同的λi,計(jì)算各ω值下的改進(jìn)SCGM(1,1)C模型預(yù)測值的MAEP如表5所示。由表5可知:慣性系數(shù)為0.8時(shí),改進(jìn)模型預(yù)測值的平均誤差最小,因此,取參數(shù)ω=0.8。
由上述參數(shù)運(yùn)用MATLAP編程計(jì)算得:λ1=0.506 4;λ2=0.262 1;λ3=0.459 6;λ4=0.000 2,代入式(20),再根據(jù)式(16),可得經(jīng)過PSO算法二次修正的預(yù)測值,即改進(jìn)SCGM(1,1)C模型預(yù)測值,見表6。
表6 改進(jìn)SCGM(1,1)C模型預(yù)測值 起
為驗(yàn)證SCGM(1,1)C預(yù)測模型及其改進(jìn)模型的精度情況,計(jì)算各模型殘差檢驗(yàn)和后驗(yàn)差指標(biāo),見表7。
由表7和表1可知:新建的海上交通事故量SCGM(1,1)C預(yù)測模型達(dá)到“優(yōu)”的一級標(biāo)準(zhǔn),說明SCGM(1,1)C預(yù)測模型是適合與海上交通事故量的預(yù)測的;但該模型的殘差指標(biāo)MAEP=5.14%和APEmax=15.38%均較大,說明模型的精度有待提高。對模型進(jìn)行馬爾可夫理論修正后,修正模型的后驗(yàn)差指標(biāo)C=0.09較單一模型的C=0.24有大幅度降低;同時(shí),MAEP和APEmax兩項(xiàng)指標(biāo)值也大幅下降,說明經(jīng)過一次修正后的模型預(yù)測精度有很大提高。分析經(jīng)PSO算法優(yōu)化二次修正的改進(jìn)SCGM(1,1)C模型的精度情況,由表7可知:該模型相對于經(jīng)馬爾可夫修正模型的精度又有了進(jìn)一步提高。
表7 SCGM(1,1)C模型和2個修正模型的預(yù)測精度比較
通過比對反映預(yù)測模型預(yù)測精度綜合情況的MAEP指標(biāo):改進(jìn)SCGM(1,1)C預(yù)測模型較馬爾科夫修正模型的精度提高17.00%,較單一SCGM(1,1)C預(yù)測模型的精度提高60.12%;由圖2可知:改進(jìn)模型的擬合曲線與樣本值曲線擬合度更高。綜上所述,新建的改進(jìn)SCGM(1,1)C模型是合理的。
為驗(yàn)證驗(yàn)證改進(jìn)SCGM(1,1)C預(yù)測模型的實(shí)用性,用建立的模型對2016—2019海上交通事故量進(jìn)行預(yù)測,結(jié)果見表8。由表8可知:2016年預(yù)測值精度滿意,2017—2019年預(yù)測精度約維持在9%,精度一般,說明SCGM(1,1)C預(yù)測模型對短期預(yù)測有良好的預(yù)測效果,中長期預(yù)測精度有待提高。SCGM(1,1)C預(yù)測模型的理論基礎(chǔ)是灰色預(yù)測,而短期預(yù)測精度較高,中長期預(yù)測精度一般也正是灰色預(yù)測的不足之處。[9]
表8 改進(jìn)SCGM(1,1)C模型的實(shí)用性驗(yàn)證
1) 系統(tǒng)云灰色SCGM(1,1)C預(yù)測模型能反映海上交通事故量的總體變化趨勢,可用于海上交通事故量的預(yù)測,但通過建模和實(shí)例預(yù)測分析發(fā)現(xiàn),該模型對具有波動性較大統(tǒng)計(jì)量的灰色系統(tǒng)問題,預(yù)測精度較低。
2) 馬爾科夫預(yù)測理論可有效地克服SCGM(1,1)C預(yù)測模型對于灰色系統(tǒng)波動性問題預(yù)測的不足;PSO算法對白化系數(shù)取值的優(yōu)化,使馬爾科夫預(yù)測理論修正變得更加科學(xué)和合理,3者結(jié)合構(gòu)建的組合模型的預(yù)測精度得到大幅度提高。
3) 對于改進(jìn)SCGM(1,1)C預(yù)測模型中長期預(yù)測精度不高的問題,計(jì)劃用近期預(yù)測值再訓(xùn)練,預(yù)測下一個預(yù)測值以提高精度(即卡爾曼濾波的原理算法),以及在預(yù)測過程中不斷更新樣本數(shù)據(jù),利用相關(guān)算法對改進(jìn)的預(yù)測模型進(jìn)行再優(yōu)化,這是今后研究和學(xué)習(xí)的方向。