柳成 尹建川
摘要:
為提高潮汐預報的精度,提出一種基于支持向量機(Support Vector Machine,SVM)的模塊化潮汐實時預報模型. 將潮汐分為受天體引潮力影響的天文潮和受環(huán)境因素和其他因素影響的非天文潮,分別使用調(diào)和分析法和改進的SVM對天文潮和非天文潮進行預報, 結(jié)合兩種方法的輸出構(gòu)造最終的潮汐預報結(jié)果. 在對非天文潮的預測中,將SVM與灰色模型相結(jié)合,并利用粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對SVM的參數(shù)進行優(yōu)化以提高預報精度. 利用火奴魯魯港口的實測潮汐數(shù)據(jù)進行實時潮汐預報仿真.仿真結(jié)果表明該方法具有較高的短期預報精度.
關(guān)鍵詞:
潮汐預報; 模塊化方法; 調(diào)和分析法; 支持向量機(SVM); 灰色模型; 粒子群優(yōu)化(PSO)
0引言
潮汐(海面周期升降運動[1])預報直接關(guān)系到船舶航行安全和港口營運效率,對軍事、漁業(yè)、港口和近岸工程以及其他沿海生產(chǎn)活動都有重要的影響. 潮汐一直是船舶航行計劃制定和港口作業(yè)調(diào)度的重要因素:準確的潮汐預報是航行安全的重要保障,并有利于港口水深資源的充分利用;相反,不準確的或誤差較大的潮汐預報,則很可能導致船舶擱淺或撞橋等海上交通事故的發(fā)生.
傳統(tǒng)的潮汐預報方法是調(diào)和分析法.它以潮汐靜力學和動力學為基礎(chǔ),經(jīng)過多年發(fā)展,已經(jīng)能夠?qū)崿F(xiàn)對潮汐進行穩(wěn)定、長期預報,但需要大量、長期的潮位觀測數(shù)據(jù)才能得出準確的調(diào)和分析模型,且其平均預報誤差約為20~30 cm,在許多場合達不到對潮汐預報精度的要求. 潮汐產(chǎn)生的原動力是天體的引潮力,但又受到如風力、風向、海水溫度、氣壓等環(huán)境因素的影響,因此潮汐變化展現(xiàn)出強非線性和不確定性,難以對其確立固定的預報模型. 為滿足現(xiàn)代航海的實際需求,急需一種能夠提高潮汐預報精度的方法.
近些年發(fā)展起來的人工智能技術(shù),如神經(jīng)網(wǎng)絡(luò)、模糊邏輯推理和進化計算等在航海領(lǐng)域得到了越來越多的應用,其中神經(jīng)網(wǎng)絡(luò)已被應用于潮汐預報研究中.PASHOVA等[2]使用時滯分析、徑向基函數(shù)(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)的方法對Burgas港的潮位進行了預測;JAIN等[3]
利用神經(jīng)網(wǎng)絡(luò)對印度洋西海岸New Mangalore潮位站的潮汐提前一天進行預報;YIN等[4]提出利用序貫學習算法建立變結(jié)構(gòu)的徑向基神經(jīng)網(wǎng)絡(luò)的潮汐預報模型以反映系統(tǒng)的時變動態(tài).
支持向量機(Support Vector Machine, SVM)是建立在統(tǒng)計學理論[5]和結(jié)構(gòu)風險最小化原理基礎(chǔ)上的機器學習方法,它在解決小樣本、非線性問題以及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢[6].本文選用一種基于SVM的模塊化預報模型對潮汐進行預報.模塊化是在解決某個具體問題時,把系統(tǒng)劃分為具有不同屬性的若干個模塊的過程.在本文潮汐預報中首先按潮汐形成原因通過模塊化方法把潮汐分為天文潮和非天文潮兩部分,將調(diào)和分析法用于預報潮汐中天文潮部分,而將SVM用于預測具有較強非線性的非天文潮部分. 這種分塊方式能有效利用兩種方法的優(yōu)勢,即調(diào)和分析法能夠?qū)崿F(xiàn)長期、穩(wěn)定的天文潮預報,而SVM能夠以較高的精度實現(xiàn)潮汐的非線性擬合與預報. 在本文研究中,將灰色模型預測方法應用于SVM預測中以減小環(huán)境要素的不確定性對潮汐預報精度造成的不利影響,同時應用粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法對SVM的參數(shù)進行優(yōu)化,使其擁有較快的收斂速度并避免其陷入局部最優(yōu)解.灰色預測和PSO在SVM預測模型中的應用能提高潮汐預報的精度. 最后,選取火奴魯魯?shù)雀劭诘膶崪y潮汐數(shù)據(jù)進行港口潮汐的實時預報仿真.實驗結(jié)果表明本文提出的方法可以有效地實現(xiàn)潮汐預報,并擁有較高的預報精度和較快的運算速度.
1基礎(chǔ)知識
1.1SVM
1.1.1SVM的基本概念
SVM在1995首次由Vapnik提出,它是結(jié)構(gòu)風險最小化的近似實現(xiàn).[7] 與神經(jīng)網(wǎng)絡(luò)相比,SVM具有嚴格的理論基礎(chǔ)和數(shù)學基礎(chǔ),不存在局部最小問題,能較好地解決小樣本問題. SVM的體系結(jié)構(gòu)見圖1.圖1中,K為核函數(shù),x(n)為輸入值。
1.1.2SVM回歸理論
對于訓練樣本集{xi,yi}(其中:i=1,2,…,n; xi∈R,為輸入變量; yi∈R,為對應的輸出值),SVM的回歸[8]是通過尋找一個非線性映射φ(x),將輸入x映射到一個高維特征空間中.
在特征空間中通過下列估計函數(shù)進行線性回歸:
1.2基于灰色系統(tǒng)的SVM
灰色系統(tǒng)理論是由我國學者鄧聚龍教授于1982年提出來的,是用于研究數(shù)量少、信息貧瘠的不確定性問題的理論方法. 通過對“部分”已知信息的生成、開發(fā),提取有價值的信息,實現(xiàn)對系統(tǒng)運行行為、演化規(guī)律的正確描述和有效監(jiān)控.[9]
傳統(tǒng)的實現(xiàn)序列預測的方法需要大量的數(shù)據(jù)用于預測,而灰色模型具有有效的算法來處理這些信息不完全和成因不明確的問題. 灰色模型處理數(shù)據(jù)須通過以下3個步驟:通過累加(Accumulated Generation Operation,AGO)處理原始數(shù)據(jù)集;利用SVM對累加的數(shù)據(jù)進行預測;通過反向累加運算(Inverse Accumulated Generation Operation, IAGO)進行數(shù)據(jù)還原. 基于灰色模型的SVM的預報流程見圖2.
PSO是由Kennedy和Eberhart在1995年提出的,是一種模擬群體智能的優(yōu)化算法.[10] 本文在使用SVM對潮汐進行預報時,通過PSO算法對SVM的參數(shù)c和g進行優(yōu)化來獲得最佳的訓練效果,以提高潮汐預報的精度,其中c為SVM懲罰系數(shù),g為核函數(shù)半徑.
2潮汐預報模型
2.1天文潮預報的調(diào)和分析法
利用調(diào)和分析法計算某地實際潮位高度如下:
調(diào)和分析法用于潮汐預報時需要大量的實測潮汐數(shù)據(jù),無法反映潮汐變化所受的環(huán)境因素的影響,在環(huán)境因素影響較大的情況(如大風和氣壓異常)下預報誤差也非常大, 因此本文提出新的模塊化SVM預測模型反映潮汐所受的時變因素的影響并進行實時潮汐預報.
2.2非天文潮預測模型
自回歸(Auto Regressive, AR)模型是統(tǒng)計上一種處理時間序列的方法,它能夠較為直觀地描述潮汐的變化.
式中:φi(i=1,2,…,n)為模型參數(shù);εt為白噪聲. 用一個n階AR模型描述潮汐序列:xt表示第t小時的潮汐高度,xt-n表示第t-n小時的潮汐高度.建立AR(n)模型的重點在于確定n,n決定模型的長度,通常由經(jīng)驗設(shè)定.在本文中,階數(shù)n通過試湊法確定,通過不斷增加模型階數(shù)分別求得訓練過程中預測值與真實值的殘差,最終選擇殘差最小的AR(n)模型模擬預報潮汐.
一般需要提前幾小時對潮汐進行預測,而單步預測的預見期短,所以在本文中將AR模型改寫為非線性映射形式:
該式表示使用AR模型提前k小時進行潮汐預報的模型.
2.3模塊化預測模型
按照成因的不同,潮汐預報可以分為兩個部分,一為天文潮部分,二為非天文潮部分. 天文潮部分主要由天體引潮力引起,具有明顯的時變特征;非天文潮部分受到氣象水文因素影響,其變化沒有明顯規(guī)律,展現(xiàn)出很強的非線性. 因此,天文潮和非天文潮部分存在較大區(qū)別,僅使用調(diào)和分析法或SVM預測的單一方法可能無法體現(xiàn)潮汐的完整規(guī)律[11],含有相對較大的誤差值.
針對以上情況,本文采用一種模塊化潮汐預報模型,其由調(diào)和分析法和SVM兩個模塊組成. 該模型首先利用調(diào)和分析法預測潮汐的天文潮部分,獲得潮汐的整體變化規(guī)律,再利用SVM對非天文潮部分進行預測,修正預測結(jié)果,達到精確預報潮汐的目的. 在SVM部分,灰色模型和PSO主要用于數(shù)據(jù)的預處理、數(shù)據(jù)的還原和SVM參數(shù)的優(yōu)化上. 具體的模塊化結(jié)構(gòu)框圖見圖3.
圖3中:y(t),y(t-1),…,y(t-N)為實測潮汐數(shù)據(jù)的時間序列;yM(t),yM(t-1),…,yM(t-N)為利用調(diào)和分析法得到的潮位時間序列,yM(t+k)為調(diào)和分析法提前k步預報的潮汐值; y
R(t),yR(t-1),…,yR(t-N)為非天文潮部分的時間序列,該部分作為輸入用于非天文潮的預測;yG(t),yG(t-1),…,yG(t-N)為非天文潮部分輸入序列經(jīng)過灰色模型AGO處理后的時間序列;YI(t+k)為非天文潮部分預測值經(jīng)過IAGO處理后得到的提前k步的預報值;Y(t+k)為最終多步預報的結(jié)果.
潮汐的主要成因是天體的引潮力,調(diào)和分析法考慮的對象是天體對潮汐的影響,所以實測值y與調(diào)和分析法預測值yM之間的差值可看作潮汐值受風力、風向、溫度和氣壓等影響的非天文潮部分yR. 由于非天文潮部分展現(xiàn)出很強的非線性,采用灰色模型進行處理可以有效提取數(shù)據(jù)中的有效信息,緩解不確定性. 將處理后的數(shù)據(jù)yG作為非
天文潮預報模型的輸入,通過SVM進行預測,預測的結(jié)果即為提前k小時的預測值,其中SVM通過PSO獲取最佳的訓練效果. 該部分值由于在預測前進行了AGO處理,所以在預測后還需要通過反向的操作IAGO才能得到非天文潮部分的預測值YI(t+k).將該預測值與用調(diào)和分析法得到的預測值相加即可計算出最終的潮汐預報值Y(t+k). 這樣就用模塊化方法實現(xiàn)了預見期為k小時的多步潮汐預報.
3模型檢驗
3.1調(diào)和分析法結(jié)果分析
為驗證本文提出的潮汐預報模型的預報效果,選用美國火奴魯魯港從2015年7月1日GMT 0000到2015年8月11日GMT 1500的采樣間隔為1 h的共1 000個潮汐實測數(shù)據(jù)進行仿真.潮汐數(shù)據(jù)來自美國國家海洋和大氣管理局網(wǎng)站http://www.noaa.gov/.
圖4為調(diào)和分析法預報值與實測值的對比,其中潮汐值單位為英尺(1英尺=0.304 8 m).由圖4不難發(fā)現(xiàn)調(diào)和分析法預報的潮汐值與實測潮汐值基本吻合,但其誤差也是較為明顯的.這是因為調(diào)和分析法只考慮了天體引潮力而忽略了環(huán)境造成的影響,這也是調(diào)和分析法誤差產(chǎn)生的主要原因.
3.2基于SVM的潮汐預報
本文以單步預測為主對潮汐進行預報,并進行預見期為2~24 h的多步預測以驗證模型的準確性.在仿真中,一共選用200 h的潮汐實測數(shù)據(jù)作為初始輸入用于訓練網(wǎng)絡(luò),另外800 h的潮汐值用于比較和分析預報效果. 為求得仿真適宜的AR模型,首先利用前200 h的潮汐值作為訓練數(shù)據(jù)求得1~8階的AR模型,并將預報值與實際值進行對比分析,得到階數(shù)為1~8的AR模型對應的殘差值,見表1.
從表1可以看出,8個AR模型的精度相差不大,其中2階模型的殘差最小擬合精度最高.因此,在本次預報中選用2階AR模型.
在SVM中幾個比較重要的參數(shù)設(shè)置
還包括核函數(shù)以及c和g的選擇. 適宜的參數(shù)選擇會產(chǎn)生好的仿真結(jié)果,而不恰當?shù)膮?shù)選擇可能導致過擬合或欠擬合現(xiàn)象的發(fā)生,這些都將使仿真結(jié)果惡化.
為找到最佳的c和g,用PSO算法選取最佳參數(shù),其中:粒子群進化最大數(shù)量為200;種群最大數(shù)量設(shè)置為20;參數(shù)局部搜索能力和參數(shù)全局搜索能力分別設(shè)置為1.5和1.7. c和g的范圍均設(shè)定為[0.1,100].在SVM直接預測法中使用PSO算法的參數(shù)選取結(jié)果見圖6.
表2中:t表示程序中調(diào)用4種核函數(shù)的標識;c和g為通過PSO算法選擇的兩個參數(shù). 根據(jù)表2選擇結(jié)果略好的徑向基作為本次試驗SVM的核函數(shù). 此外,SVM選用的是εSVM,它適合于回歸預測并具有較高的精確度.
圖7為潮汐實測值與SVM預測值的對比;圖8為應用SVM直接預測所得到的預測結(jié)果的誤差值,預測總用時為32.41 s.
從圖7中不難發(fā)現(xiàn),直接使用SVM進行潮汐預測,預測值與實測值的吻合程度明顯高于圖4中使用調(diào)和分析法的吻合度,而且誤差變化范圍更小且更加穩(wěn)定,其ERMS為0.091 4英尺. 這是由于SVM在進行直接預測時,輸入的特征向量為實際測量所得到的潮位數(shù)據(jù),這些數(shù)據(jù)包含天文潮和非天文潮兩部分的信息,所以預測更準確,預測值與實測值的相關(guān)程度也更高.
3.3模塊化潮汐預報
為便于比較模塊化預測方法與調(diào)和分析法和SVM直接預測法的異同,模塊化的參數(shù)設(shè)置及仿真環(huán)境與之前選取的完全一致. 圖9為在模塊化預測中使用PSO算法的參數(shù)選取結(jié)果.圖10為采用模塊化預測方法所得到的潮汐預測值與觀測值對比結(jié)果. 圖11是使用模塊化預測方法的誤差圖.
從表4可以看出,在SVM的基礎(chǔ)上添加灰色模型處理數(shù)據(jù)后,雖然仿真時間會略有提升,但預報精確度有較明顯的提高. 使用PSO算法優(yōu)化SVM,搜索范圍更廣,搜索速度也更快,而當遍歷法范圍為[0.01,100]時所用的時間就已遠遠大于PSO算法所用的時間,繼續(xù)增加遍歷范圍必定導致時間成倍增長,因此使用PSO算法優(yōu)化SVM對仿真時間和搜索精確度都有較大改善. 通過與BP和RBF神經(jīng)網(wǎng)絡(luò)的預測結(jié)果的比較可以看出,本文提出的模塊化模型具有較好的預測效果,優(yōu)于其他兩種常用的神經(jīng)網(wǎng)絡(luò).
此外表5給出了調(diào)和分析法、SVM直接預測法和模塊化預測方法提前多步預測潮汐的ERMS.從表5可以看出:對于短期潮汐預報,模塊化預測模型的預測精度要明顯優(yōu)于調(diào)和分析法和SVM直接預測法的預測精度;隨著提前預測時間的增長,模塊化預
測模型的預測效果更加穩(wěn)定. 因此,采用的模塊化預測方法能有效提高潮汐預報精度,適合實時的短期潮汐預報.
4結(jié)論
本文以支持向量機(SVM)網(wǎng)絡(luò)作為基本工具,探索了將 SVM網(wǎng)絡(luò)應用到潮汐預報領(lǐng)域的
方法.根據(jù)潮汐的成因,采用模塊化形式分開處理天文潮部分和非天文潮部分,對非天文潮部分采用灰色模型進行數(shù)據(jù)預處理以緩解非線性程度,采用粒子群優(yōu)化(PSO)算法對SVM進行參數(shù)選取和優(yōu)化.實驗結(jié)果證明,該模型在潮汐預報中具有較高的精度和相對較短的時間,明顯優(yōu)于傳統(tǒng)方法. 然而,隨著預報時間的延長,該模型預報精度會逐漸下降, 因此將該模型進行改進并應用于長期預報是今后的主要研究方向.
參考文獻:
[1]郭禹, 張吉平, 戴冉. 航海學[M]. 大連:大連海事大學出版社, 2014: 215217.
[2]PASHOVA L, POPOVA S. Daily sea level forecast at tide gauge Burgas, Bulgaria using artificial neural networks[J]. Journal of Sea Research, 2011, 66(2): 154161.
[3]JAIN P, DEO M C. Realtime wave forecasts off the western Indian coast[J]. Applied Ocean Research, 2007, 29(1/2): 7279.
[4]YIN J C, ZOU Z J, XU F. Sequential learning radial basis function network for realtime tidal level predictions[J]. Ocean Engineering, 2013, 57(2): 4955.
[5]章永來, 史海波, 周曉鋒, 等. 基于統(tǒng)計學習理論的支持向量機預測模型[J]. 統(tǒng)計與決策, 2014(5): 7274. DOI: 10.13546/j.cnki.tjyjc.2014.05.052.
[6]ZHANG X G, ZOU Z J. Application of wavelet denoising in the modeling of ship manoeuvring motion[J]. Journal of Ship Mechanics, 2011, 15(6): 616621.
[7]丁世飛, 齊炳娟, 譚紅艷. 支持向量機理論與算法研究綜述[J]. 電子科技大學學報, 2011, 40(1): 210.
[8]徐紅敏, 王海英, 梁瑾, 等. 支持向量機回歸算法及其應用[J]. 北京石油化工學院學報, 2010, 18(1): 6266.
[9]楊華龍, 劉金霞, 鄭斌. 灰色預測GM(1,1)模型的改進及應用[J]. 數(shù)學的實踐與認識, 2011, 41(23): 3946.[10]谷文成, 柴寶仁, 滕艷平. 基于粒子群優(yōu)化算法的支持向量機研究[J]. 北京理工大學學報, 2014, 34(7): 705709. DOI: 10.15918/j.tbit10010645.2014.07.014.
[11]YIN J C, WANG N N. A variable multidimensional fuzzy model and its application to online tidal level prediction[J]. Journal of Computational and Theoretical Nanoscience, 2015, 12(7): 13841394. DOI: 10.1007/9783662450499_87.
(編輯賈裙平)