沈 浩,黃洪瓊(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
基于PSO優(yōu)化SVM的船舶流量預(yù)測算法*
沈 浩,黃洪瓊
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
通過對上海洋山深水港口的船舶流量的調(diào)研以及對船舶交通流量影響因素的分析,建立支持向量機(jī)預(yù)測模型。同時(shí)為了解決支持向量機(jī)預(yù)測模型的參數(shù)選擇問題,引入了粒子群優(yōu)化算法進(jìn)行參數(shù)優(yōu)化,建立較優(yōu)的PSO-SVM預(yù)測模型。通過MATLAB仿真實(shí)驗(yàn)計(jì)算,將PSO-SVM模型與單純的SVM預(yù)測模型和灰色神經(jīng)網(wǎng)絡(luò)預(yù)測模型結(jié)果進(jìn)行對比分析,證明了該模型的可行性和優(yōu)越性。
船舶流量;多因素;預(yù)測;灰色神經(jīng)網(wǎng)絡(luò);支持向量機(jī);粒子群優(yōu)化算法
船舶交通流量預(yù)測是將經(jīng)濟(jì)預(yù)測技術(shù)和水運(yùn)工程技術(shù)以及計(jì)算機(jī)技術(shù)有效地結(jié)合起來的一門涉及多門學(xué)科的新興應(yīng)用科學(xué)。船舶交通流量的預(yù)測相比于一般的市場預(yù)測及陸上交通預(yù)測等所要考慮的因素和指標(biāo)要更為繁雜和復(fù)雜[1],對于數(shù)據(jù)采集處理要求更高,這就要求在運(yùn)用具體的方法時(shí)要因地制宜。其中國內(nèi)外學(xué)者用的較多的是人工神經(jīng)網(wǎng)絡(luò)預(yù)測法及其組合預(yù)測法。但是人工神經(jīng)網(wǎng)絡(luò)由于其容易陷入局部最小、預(yù)測輸出隨機(jī)等問題,從而降低了預(yù)測的精度。
支持向量機(jī)(Support Vector Machine,SVM)是一種新型的機(jī)器學(xué)習(xí)算法,它同樣以統(tǒng)計(jì)學(xué)理論為基礎(chǔ),以嚴(yán)格的數(shù)學(xué)理論為背景,因其簡單明了的幾何解釋以及較高的泛化能力,在解決小樣本問題時(shí)具有獨(dú)特的優(yōu)勢。于此同時(shí),與人工神經(jīng)網(wǎng)絡(luò)相比,其克服了神經(jīng)網(wǎng)絡(luò)中經(jīng)常出現(xiàn)局部最優(yōu)解以及學(xué)習(xí)時(shí)間長、收斂速度慢等問題。但支持向量機(jī)還存在一些不足,如模型的預(yù)測精度受訓(xùn)練學(xué)習(xí)參數(shù)選取的影響很大,如何選取參數(shù)至關(guān)重要。因此,選取合適的參數(shù)是支持向量機(jī)從理論走向?qū)嶋H應(yīng)用的關(guān)鍵。本文基于粒子群(Particle Swarm Optimization,PSO)算法的優(yōu)勢,用以對支持向量機(jī)難以確定的參數(shù)進(jìn)行優(yōu)化,進(jìn)而建立起PSO-SVM預(yù)測模型用以上海洋山深水港交通流量的預(yù)測。
船舶交通流量是經(jīng)濟(jì)、社會、政治、技術(shù)發(fā)展對水運(yùn)交通需求的具體反應(yīng)。無論選用何種預(yù)測方法進(jìn)行船舶交通流量預(yù)測,都必須從實(shí)際分析考慮所預(yù)測模型的影響因素。影響船舶交通流量的因素非常繁雜,以上海洋山深水港為研究對象,在綜合分析和查閱大量文獻(xiàn)的基礎(chǔ)上,可以從經(jīng)濟(jì)因素、港口因素、船舶因素、其他因素四個(gè)主要的方面去研究。
經(jīng)濟(jì)因素是影響未來船舶交通流量的最主要的因素,上海國際航運(yùn)研究中心將宏觀綜合的經(jīng)濟(jì)指標(biāo)合理化為上海航運(yùn)景氣指數(shù)[2]。船舶的貨運(yùn)量是衡量和量化港口因素的主要指標(biāo)。同時(shí),伴隨著經(jīng)濟(jì)貿(mào)易和造船技術(shù)的發(fā)展,船舶越來越向著大型、自動(dòng)、快速、專業(yè)化和標(biāo)準(zhǔn)化的方向發(fā)展,考慮到衡量船舶因素的指標(biāo)有很多,根據(jù)實(shí)際選擇需要選擇船舶平均噸位做為合適的指標(biāo)。另外,經(jīng)濟(jì)的變化總能體現(xiàn)在船舶交通流量上,而且呈現(xiàn)正比關(guān)系,但是又有一定的滯后性。所以根據(jù)實(shí)際情況考慮及數(shù)據(jù)處理的方便,對主要影響因素進(jìn)行分析抽象、量化后選取上海航運(yùn)指數(shù)、貨運(yùn)量、船舶的平均噸位[3]、七天前的流量 4個(gè)因素作為主要因素預(yù)測上海洋山港船舶交通流量。
2.1建立流量預(yù)測模型
根據(jù)上述主要影響因素構(gòu)建船舶流量預(yù)測算法流程,如圖 1所示[4-7]。
圖1 船舶交通流量預(yù)測模型構(gòu)建圖
2.2優(yōu)化支持向量機(jī)模型學(xué)習(xí)步驟
PSO優(yōu)化 SVM的學(xué)習(xí)步驟如下[8]:
(1)收集有關(guān)影響船舶交通流量的各種數(shù)據(jù),分為因變量和自變量樣本;初始化各種參數(shù),如粒子群規(guī)模、初始位置和速度以及SVM的核函數(shù)、懲罰參數(shù)等。
(2)利用初始化后各粒子的數(shù)據(jù)值對因變量樣本進(jìn)行學(xué)習(xí)和訓(xùn)練并建立各自對應(yīng)的預(yù)測模型。
(3)通過對因變量樣本的學(xué)習(xí)訓(xùn)練,得到各個(gè)粒子的誤差值,用以計(jì)算各粒子的適應(yīng)度函數(shù)值,公式如下:
(4)計(jì)算每個(gè)粒子的當(dāng)前適應(yīng)值 F(Xi),并與該粒子當(dāng)前自身的最優(yōu)適應(yīng)值 F(Pibest)進(jìn)行比較,如果 F(Xi)<F (Pibest),則調(diào)整 F(Pibest)=F(Xi),將當(dāng)前位置作為此刻該粒子的最優(yōu)位置。
(5)將每一個(gè)粒子自身當(dāng)前最優(yōu)位置的適應(yīng)值F(Pibest)與所有粒子當(dāng)前最優(yōu)位置的適應(yīng)值 F(Pgbest)進(jìn)行比較,若 F(Pibest)<F(Pgbest),則調(diào)整 F(Pgbest)=F(Pibest),將調(diào)整后的位置做為所有粒子的最優(yōu)位置。
(6)利用 PSO的進(jìn)化方程調(diào)整粒子的速度和位置,進(jìn)而得到支持向量機(jī)的參數(shù)。
(7)判斷所有粒子最優(yōu)位置的適應(yīng)值或迭代次數(shù)能否滿足要求,若滿足,則停止計(jì)算,并保存此時(shí)的粒子群的整體最優(yōu)位置;若不滿足,則返回步驟(2)。
(8)將最優(yōu)參數(shù)代入支持向量機(jī)模型,對樣本進(jìn)行有效預(yù)測。
3.1實(shí)驗(yàn)數(shù)據(jù)及實(shí)驗(yàn)設(shè)置
以上海洋山深水港進(jìn)出的船舶為研究對象,利用上海國際航運(yùn)研究中心和上海洋山深水港統(tǒng)計(jì)的數(shù)據(jù),選取從2014年5月20日~2014年6月29日的船舶交通流量數(shù)、當(dāng)日的上海航運(yùn)指數(shù)、轉(zhuǎn)運(yùn)量、船舶平均噸位作為自變量,將2014年5月21日~2014年6月30日,當(dāng)天船舶流量數(shù)據(jù)作為因變量,建立預(yù)測模型對2014年5 月21日~2014年6月30日每日的船舶流量數(shù)進(jìn)行回歸擬合預(yù)測。在實(shí)驗(yàn)仿真之前首先得將所采用的流量數(shù)據(jù)進(jìn)行歸一化處理,采用的歸一化處理公式為:
式中,X?ij為歸一化后的數(shù)據(jù);Xij為原始數(shù)據(jù);minXij和maxXij分別為原始數(shù)據(jù)中的最小值和最大值。
基于MATLAB語言編寫了PSO-SVM程序,通過試算確定PSO的參數(shù)如下:粒子個(gè)數(shù)為20;粒子維數(shù)為2;循環(huán)次數(shù)為 200;學(xué)習(xí)因子 c1=1.5,c2=1.7;參數(shù) C的搜索范圍為(0.1,100);參數(shù)σ的搜索范圍為(0.1,1 000)。經(jīng)過PSO優(yōu)化,得到SVM的最優(yōu)參數(shù)C=0.1,σ=9.971 35,利用最優(yōu)參數(shù)來建立SVM模型,進(jìn)而對測試樣本進(jìn)行預(yù)測。
3.2實(shí)驗(yàn)仿真對比及分析
分別對灰色神經(jīng)網(wǎng)絡(luò)模型、SVM模型、PSO-SVM模型進(jìn)行仿真并對比,仿真結(jié)果見圖2~圖4。
圖2 灰色神經(jīng)網(wǎng)絡(luò)預(yù)測值與原始值比較
圖3 SVM預(yù)測值與原始值比較
圖4 PSO-SVM預(yù)測值與原始值比較
對于預(yù)測結(jié)果需要通過定量的分析以確定精確度,本文采用平均誤差和相對百分誤差來檢驗(yàn)預(yù)測結(jié)果。預(yù)測結(jié)果誤差如表1所示。
表1 實(shí)驗(yàn)仿真結(jié)果對比
從圖2~圖4中可見,灰色BP神經(jīng)網(wǎng)絡(luò)組合預(yù)測模型及SVM模型都得到不錯(cuò)的效果,但由于BP神經(jīng)網(wǎng)絡(luò)樣本有時(shí)無法滿足要求,存在過擬合現(xiàn)象及SVM參數(shù)選擇的問題,兩種算法的預(yù)測結(jié)果的準(zhǔn)確性都受到很大影響。PSO具有強(qiáng)大的全局搜索能力,通過PSO優(yōu)化SVM模型的參數(shù),使其達(dá)到最優(yōu),從而使誤差降到最低。
從表1可以看出,PSO-SVM預(yù)測模型的平均誤差和相對百分誤差分別為 1.653 6%和1.637 8%,明顯小于灰色神經(jīng)網(wǎng)絡(luò)預(yù)測模型和單純SVM預(yù)測模型的預(yù)測誤差。因此,經(jīng)PSO優(yōu)化的SVM模型比神經(jīng)網(wǎng)絡(luò)預(yù)測模型以及SVM模型具有更好的預(yù)測能力。
本文在考慮船舶影響因素的條件下,利用SVM預(yù)測模型具有小樣本學(xué)習(xí)能力、學(xué)習(xí)速度快、泛化能力強(qiáng)等優(yōu)點(diǎn)對船舶流量進(jìn)行回歸預(yù)測,并采用PSO優(yōu)化選擇SVM模型的參數(shù),得到較優(yōu)的SVM模型,從而大大提高了預(yù)測的準(zhǔn)確性和精度。實(shí)驗(yàn)結(jié)果表明,基于PSO-SVM的預(yù)測模型要好于單純的SVM預(yù)測模型,該模型為船舶交通流量預(yù)測提供了新思路及有效方法。
[1]陳崇云.我國水上交通運(yùn)輸安全分析及事故預(yù)測的研究[D].大連:大連海事大學(xué),2002.
[2]王東,熊錫龍.基于影響因素分析的船舶交通流量預(yù)測多元線性回歸模型 [J].船海工程,2010,39(3):178-180.
[3]李俊,徐志京,唐貝貝.基于 GA優(yōu)化的灰色神經(jīng)網(wǎng)絡(luò)船舶交通流量預(yù)測方法研究[J].船海工程,2013,42(5):135-137.
[4]馮宏祥,肖英杰,孔凡邨,等.基于支持向量機(jī)的船舶交通流量預(yù)測模型[J].中國航海,2011,34(4):62-66.
[5]任洪娥,霍滿冬.基于PSO優(yōu)化的SVM預(yù)測應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2009,26(3):867-869.
[6]王樹洋,黃天民,方新,等.基于 PSO-SVM的交通流量短時(shí)預(yù)測[J].重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,31(4):832-835,872.
[7]李紅喜,付玉慧,張仁初,等.港口船舶交通流量預(yù)測[J].大連海事大學(xué)學(xué)報(bào),2009,35(3):40-42.
[8]閆冠勇.基于PSO-SVM的CFG樁復(fù)合地基質(zhì)量預(yù)測研究[D].邯鄲:河北工程大學(xué),2012.
Prediction algorithm for the ship traffic based on PSO-SVM
Shen Hao,Huang Hongqiong
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306,China)
By researching ship traffic through the port of Shanghai Yangshan Deepwater as well as the factors under the conditions of ship traffic analysis,a support machine model is built.Meanwhile,in order to solve the problem of parameter selection of support vector machine model,the introduction of the particle swarm optimization mechanism,get on better PSO-SVM forecasting model.By MATLAB simulation calculation,the PSO-SVM model and simple SVM prediction model and gray neural network forecasting model for comparative analysis to prove the feasibility and superiority of the model.
traffic flow of ships;multivariate;prediction;gray neural network;support vector machine(SVM);particle swarm optimization(PSO)
TP391.9
A
1674-7720(2015)05-0073-03
上海海事大學(xué)創(chuàng)新基金(GK2013087)
(2014-11-07)
沈浩(1992-),男,碩士,主要研究方向:智能信息處理及應(yīng)用。
黃洪瓊(1973-),女,博士,碩士生導(dǎo)師,主要研究方向:智能信息處理及應(yīng)用。