江志娟(欽州學院 商學院,廣西 欽州 535000)
廣西北部灣經濟區是我國西部大開發地區唯一的沿海區域,也是我國與東盟國家既有海上通道、又有陸地接壤的區域。欽州港位于北部灣灣頂的欽州灣內,是我國西南地區主要出海口。隨著《廣西北部灣經濟區發展規劃》的實施,欽州港將建設面向東盟的區域性國際航運中心,欽州港將發揮越來越重要的作用。港口吞吐量的預測是港口決策的重要依據,欽州港口吞吐量的預測將為區域性國際航運中心建設、以及國家級經濟技術開發區建設提供重要的決策依據。
港口吞吐量預測的常用方法主要有時間序列法、因果分析法、組合預測法。這三類方法都各有優勢,但也存在自身的缺陷,使得預測的準確性和精度難以保證。時間序列法,由于其只考慮了港口吞吐量自身歷史的變化,影響因素單一,使得預測結果會出現很大的誤差;因果分析法在預測的過程中未做到細致的研究港口吞吐量的變化規律和影響因素,也將因為變量選取的不當,難以取得較好的預測效果;組合預測法在進行單項預測模型選擇時,存在著一定的主觀性和隨機性,使得該方法在實際應用時遇到了一定的障礙[1]。影響港口吞吐量的因素較多,且各因素之間存在復雜的非線性關系,BP神經網絡能夠以任意精度逼近任何非線性函數,并且輸入和輸出變量的數目是任意的,因此,采用BP神經網絡的方法,克服了常用方法中存在的缺陷,能夠對諸多影響因素進行動態研究,建立港口吞吐量的預測模型。
BP神經網絡是一種多層前饋神經網絡,其神經元的傳遞函數是S型函數,輸出量為0到1之間的連續量,權值的調整采用反向傳播(Baekpropagation)學習算法,可以實現從輸入到輸出的任意非線性映射。BP神經網絡是由輸入、輸出和若干隱含層構成,每一層含多個神經元。神經元具有R個輸入,每個輸入都通過一個適當的權值w與下一層相連,網絡輸出表示為 α=f(w×p+)b ,其中:f表示輸入/輸出的激活函數。信息從輸入層經過逐級的變換傳送到輸出層(見圖1),同時,誤差反向傳播,控制在一定精度內。BP網絡的正向輸出和反向誤差計算,均可以通過MATLAB7.0實現。

據2012年底進行的實地調研結果顯示,欽州港口的后方腹地主要為廣西區、云南省、貴州省、四川省、重慶市和湖南省。其中廣西區內貨運量占90%左右,主要貨種為金屬礦石、糧食、原油、成品油、煤炭等;云南省占4%,主要貨種為金屬礦石、非金屬礦石、化肥、建材、成品油等;貴州、四川和重慶占4%,主要貨種為金屬礦石、化肥、成品油等;湖南占2%,主要貨種為鐵礦、錳礦等。首先,從港口貨物來源分析,影響欽州港口貨物吞吐量的地區主要是廣西區,因此,廣西區是欽州港重要的經濟腹地,其地區經濟總量直接影響欽州港口吞吐量。其次,從貨物的種類分析,廣西區內的第一產業產值、第二產業產值直接影響港口吞吐量;第三產業提供交通運輸服務,間接影響欽州港口吞吐量。最后,其他運輸方式的發展也直接影響港口吞吐量,因此,廣西區外貿進出口總額、鐵路貨運量、公路貨運量、水路貨運量等要素直接影響欽州港口吞吐量。由于港口吞吐量的影響因素較多,同時各因素之間存在復雜的非線性關系,難以用一個線性的模型表達,因此,采用人工神經網絡的方法對歷史數據進行學習和訓練,進而得到非線性網絡模型,實現欽州港口吞吐量的預測,能夠提高預測的準確性。
1999~2012年影響欽州港口貨物吞吐量的廣西區各經濟指標值見表1,其中,X1,X2,X3,X4,X5,X6,X7,X8分別表示第一產業產值,第二產業產值,第三產業產值,外貿進出口總額,鐵路貨運量,公路貨運量,水路貨運量;Y表示欽州港港口吞吐量。

表1 影響欽州港口貨物吞吐量的廣西區各經濟指標值 單位:億元/萬噸
BP網絡是一種單向傳播多層前向網絡,BP網絡運用的是BP算法。BP算法是一種監督學習算法,此算法除考慮最后一層外,還考慮網絡中其他各層權值參數的變化,使得算法適用于多層網絡。由于一個三層的BP神經網絡可以任意逼近一個非線性函數,因此,選擇三層BP神經網絡進行仿真模擬。其中輸入層為欽州港口吞吐量的各影響因素,即第一產業產值、第二產業產值、第三產業產值、外貿進出口總額、鐵路貨運量、公路貨運量、水路貨運量,共7個變量。輸出層為欽州港口吞吐量,為1個變量,根據經驗公式初步確定隱含層神經元的個數取4個,經過反復的訓練,最終確定神經元的個數為5個時,網絡預測的誤差最小,相對穩定。網絡隱含層神經元的激活函數采用S型正切函數tansig.m,輸出層神經元傳遞函數采用線性函數purelin.m,采用改進BP算法進行學習,得到如圖2所示的BP網絡模型。此時,隱層神經元的輸入權重為ω(i,j),閾值b1=[1.8546,1.0691,0.2035,-0.5142,-1.7573 ];輸出層神經元的輸入權重為ω2=[0.3542,-0.6036,-0.4570,-0.2524,0.6074],閾值b2=0.5539。

其中,i=5為隱層神經元個數,j=7為輸入變量個數。

圖2 BP神經網絡預測模型
根據上述分析,欽州港港口吞吐量的影響因素為第一產業產值(X1),第二產業產值(X2),第三產業產值(X3),外貿進出口總額(X4),鐵路貨運量(X5),公路貨運量(X6)和水路貨運量(X7),應用1999~2012年的樣本數據構建BP神經網絡預測模型。模型構建由網絡訓練、測試和預測三個階段進行。因此,將數據分為訓練樣本、測試樣本和預測樣本。
(1)訓練樣本:1999~2010年的影響因素數據作為訓練樣本的輸入數據,2000~2011年的欽州港口貨物吞吐量作為訓練樣本的輸出數據。
(2)測試樣本:2000~2011年的影響因素數據作為測試樣本的輸入數據,2001~2012年的欽州港口貨物吞吐量作為測試樣本的輸出數據。
(3)預測:2001~2012年的影響因素數據作為輸入數據,預測2002~2013年的欽州港口貨物吞吐量。
構建三層的BP神經網絡,應用訓練樣本對BP神經網絡進行訓練,用測試樣本對訓練好的網絡進行測試,反復進行訓練和測試的過程,直到訓練的誤差達到最小,此時得到最佳的BP網絡模型,再應用預測樣本進行預測,得出預測結果。
為了加快BP網絡的學習速度,減少較大數值對預測結果的影響,需要將樣本數據進行歸一化處理。本文應用MTLAB神經網絡工具箱中的premnmx函數進行歸一化處理,采用postmnmx函數進行反歸一化處理。
MATLAB7.0程序實現過程如下:

數據歸一化處理后,構建三層BP網絡,其中,隱含層神經元個數為5個,其激活函數為“tansig”;輸出層神經元個數為1,其激活函數為“purelin”;應用“train.m”函數對網絡進行訓練,學習的速度快誤差小。其MATLAB7.0程序實現如下:

網絡訓練過程如圖3所示。

圖3 網絡訓練過程
通過6次訓練達到設定的精度,網絡學習的速度較快。應用歸一化后的測試樣本對訓練好的網絡進行測試,MATLAB7.0程序實現過程如下:

得到測試結果如表2所示,在測試過程中,2012年欽州港口吞吐量的實際值為5 622萬噸,預測值為5 619萬噸,相對誤差為0.0016,相對誤差小于0.01,說明BP神經網絡訓練成功,可以用于欽州港口吞吐量的預測。

表2 目標值與預測值對照表
經過多次反復訓練,得到相對誤差最小時BP網絡的權值和閾值,運用訓練好的BP網絡權值和閾值預測,得到預測結果見表3,具體MATLAB7.0程序實現如下:


表3 欽州港口吞吐量預測結果
BP網絡預測的方法相對于其他定量方法來說,它能夠模擬多變量、無需對輸入變量做復雜的相關假定,通過網絡的學習能力,獲得輸入輸出之間的映射關系來進行預測,因此BP神經網絡預測應用于港口吞吐量的預測具有一定的應用價值。隨著時間的推移,訓練樣本的增加,能夠進一步減小BP網絡的預測誤差,能夠獲得更好的預測效果。
[1]祝建.我國港口吞吐量預測方法研究綜述[J].中國水運,2010(11):34-35.
[2]胡雪棉,趙國浩.基于Matlab的BP神經網絡煤炭需求預測模型[J].中國管理科學,2008(Z1):521-525.
[3]劉枚蓮,朱美華.基于BP神經網絡的港口吞吐量預測模型[J].系統科學學報,2012(4):88-91.
[4]黃順泉,曲林遲,余思勤.中國港口功能的聚類和判別[J].交通運輸工程學報,2011,11(4):77-83.
[5]丁松兵.基于因子分析的港口物流需求預測——以上海港為例[J].港口經濟,2012(8):16-18.