王繼順,王傳斌(連云港師范高等??茖W校,江蘇連云港222006)WANG Ji-shun,WANG Chuan-bin(Lianyungang Teacher's College,Lianyungang 222006,China)
連云港港口貨物吞吐量自適應過濾預測模型及其Excel宏實現
Self-adaptive Filter Prediction M odel of Lianyungang Port Throughput and Realization w ith Excel Macro
王繼順,王傳斌(連云港師范高等??茖W校,江蘇連云港222006)
WANG Ji-shun,WANG Chuan-bin(Lianyungang Teacher's College,Lianyungang 222006,China)
利用自適應過濾預測法對連云港港口2008年前幾個月貨物吞吐量數據建立港口吞吐量預測模型,通過VBA編程實現Excel的宏按鈕操作,按照預測誤差方差最小原則交互實現迭代功能,選擇對最小預測誤差方差貢獻最小的一期對應的權值作為最佳權值進行預測,獲得了精確度較高的預測結果。
港口貨物吞吐量;自適應過濾法;預測模型;Excel宏;VBA編程
Abstract:By analyzing the modeling process of the self-adaptive filter prediction,the self-adaptive filter prediction model is introduced to predict the port throughput based on the data of Lianyungang port throughput from several earlier months in 2008.Programs are realized to the iterative function alternately according to the principle of the smallest variance of forecast error using excel macro and VBA codes.In the iterative procedure the weights are chose to take the best weight corresponding to a smallest issue among the smallest variance of forecast error will carry on the forecast,which results show that the method can effectively solve the port throughput prediction problem.
Key words:port throughput of goods;self-adaptive filter method;prediction model;Excel macro;VBA code
Self-adaptive Filter Prediction M odel of Lianyungang Port Throughput and Realization w ith Excel Macro
以連云港為龍頭的江蘇沿海地區發展規劃獲得國務院批準以來,港城發展躍上國家戰略平臺。連云港從上到下正積極放大政策效應,組織動員全市結合實際,扎實推進規劃實施。其中積極扶持連云港港口開展對外貿易,港口建設步伐越來越快。港口建設必須在科學的港口規劃指導下進行,而港口規劃的制定離不開對港口吞吐量的合理預測。港口貨物吞吐量預測是港口總體規劃的重要研究內容之一,預測結果的合理性和準確性對于港口的總體布局、建設規模以及集疏運等配套設施的建設具有重要的指導意義。
港口貨物吞吐量是一個復雜變量,受到多方面因素的綜合影響,各因素間存在著許多無法確定的變量和關系,在進行港口貨物吞吐量預測時,一般采用時間序列預測、回歸分析預測[1]、趨勢法預測、分塊組合預測[2-5]、線性灰色預測[6-7]等。這些方法都存在一定的局限性,各有其適用條件。為了減弱各類因素影響的累積效應,對于港口吞吐量的預測宜就近采用小樣本數據。而自適應濾波法適用于對“數據點較少,約束條件較少”的問題進行分析預測,且簡單易行,具有自適應性,它能自動調整回歸系數,是一個可變系數的數據模型[8]。因此,港口貨物吞吐量的預測問題可以采用自適應過濾模型來解決。
1.1 自適應過濾法原理
自適應過濾法的基本原理就在于通過反復迭代調整加權系數,“過濾”掉預測誤差,選擇出“最佳”加權系數用于預測。整個計算過程從選取一組初始加權系數開始,然后計算得到預測值及預測誤差,再根據給定公式調整加權系數以減少誤差,經過多次反復迭代,直至選擇出“最佳”加權系數。由于整個過程與通信工程中過濾傳輸噪聲的過程極為接近,故被稱為“自適應過濾法”。
設x1,x2,…,xl為某一時間序列,自適應過濾法就是從自回歸系數的一組初始估計值開始,運用自適應過濾法調整權數的計算公式為[8]:

逐次迭代調整,以實現自回歸系數的最優化。其中,φi、φ'i分別表示調整前后第i期的權數,k為調整系數,也稱學習常數或濾波參數,et+1=xt+1-x?t+1為第t+1期的預測誤差,xt-i+1為第t-i+1期的觀察值。然后將優化的系數代入時間序列的預測模型[8]:

式中,x?t+1是第t+1期的預測值,xt-i+1和φi分別是第t-i+1期的觀測值及當期的權數,p是模型階數也即權數的個數。
1.2 自適應過濾法預測步驟
按照自適應過濾法的原理,應用該模型預測的基本步驟如下:
(1)首先確定模型階數p及初始權數φi。在數據較少情況下,一般取p=2,而初始權數取為φ1=φ2=…=φp=1/p,有時也可以根據時間序列數據的自相關系數,利用Yule-Walker方程來求得。
(2)選擇合適的濾波參數k。學習常數的選取直接影響權數調整的速度,在一定程度上還會影響最終的預測結果。按照式調整權數的自適應過濾法收斂的充分條件是[8]:

(3)計算每一次殘差et+1=xt+1-x?t+1。
(4)根據殘差et+1以及調整公式(1),計算下一輪的系數。
(5)迭代直到取得合適的系數。
在迭代過程中,當預測誤差降為0時,系數的調整過程即告結束。但大多數情況下,由于序列是隨機的,最終的預測誤差無法降到0,此時使用的衡量標準為均方誤差:
當繼續迭代MSE不再進一步改善時,即認為MSE達到最小,系數的調整過程結束。用這時的權數作為最佳權數來計算第n+1期的預測值。另外,若權數調整進行到第n期,這時循環迭代調整的計算已經使用了全部的原始數據,而MSE仍然沒有達到最小值的要求,這時可以將最后得到的一組權數作為新的初始值,進行新一輪的迭代調整,直至滿足MSE收斂于最小值為止。
1.3 應用自適應過濾法預測準則
應用自適應過濾法時還要注意下面的兩個準則:
(1)自適應過濾法主要用于水平的數據,對于有線性趨勢的數據,可以應用差分方法來消除數據的趨勢。
(2)當數據的波動較大時,在調整權數之前,對原始數據值作標準化處理,可以加快調整速度,是權數迅速收斂于“最佳”的一組權數,并可使學習常數k的最佳值近似于1/p,從而使自適應過濾法更為有效。數據標準化公式為[8]:
即k值可以根據時間序列中p個最大值來確定,但為了提高模型逼近最佳權數的速度,k值必須滿足k≤1/p。

選取連云港市沿海2008年港口貨物吞吐量1~10月共有9個相關數據[9]。該數據集不能構成大樣本數據,如果按照統計規律,就不能形成吞吐量的預測基礎,也就不能對今后連云港市沿海港口吞吐量進行預測。但根據自適應過濾法的特點,可以很好地實現依據小數據量對未來港口的發展趨勢較為精確的預測。已知沿海港口吞吐量見表1。

表1 2008年連云港港口貨物吞吐量單位:萬噸
由表1可見,港口吞吐量隨時間單調遞增,按照自適應過濾法預測準則,首先運用Excel中的數據分析計算相關系數r=0.999873,數據高度線性相關,為此作差分處理,使數據變化規律呈現為水平特征,得到表2。

表2 2008年連云港港口貨物吞吐量差分結果單位:萬噸
表2中的差分數據基本變得水平,但其還具有一定的波動性,為下一步加快權數的調整速度,取模型階數p=2,對數據運用公式(5)作標準化處理,結果如表3。

表3 2008年連云港港口貨物吞吐量數據標準化
下面根據表3后三列的數據,進行權數迭代調整。為簡單起見取初始權數φ1=φ2=0.5,由表3中x*t列數據按照公式(3)計算學習常數k≤0.9648,為使模型盡快逼近最佳權數,所以取k=0.5。進行迭代計算時為了便于操作,首先在Excel工作表中構造如表4的表格,在同一工作表中插入三個按鈕:迭代計算、重復迭代和數據復制,利用Excel中的宏錄制功能[10]錄制相應的三個宏:Sub迭代計算(),Sub重復迭代()和Sub數據復制()。

表4 權數迭代調整計算過程及結果
在Visual Basic編輯器中將錄制的宏代碼改換成模型算法需要的程序代碼,針對表4按照自適應過濾預測模型算法編寫Sub迭代計算(),進行一步迭代后,由于數據不能實現循環選擇性粘貼,所以在Sub重復迭代()模塊中,將表4中t=7時得到的權數值φ'1t、φ'2t賦給t=3時的φ'1t、φ'2t作為初始權數進行新一輪迭代。為了獲得最小的MSE及其對應的權數,或觀察MSE的穩定情況,用Sub數據復制()將各步迭代的結果進行復制,它們的代碼如下:


根據上述算法,經過初次迭代結果如表5,然后進行重復迭代4次,預測誤差方差基本穩定在0.0219,數據不再有明顯改進,且第一輪迭代預測誤差方差最小。按照通常的做法即取φ1=0.4675、φ2=0.4687作為最佳權數進行預測,而現在取φ1=0.4796、φ20.4807作為最佳的權值,這是因為在最小誤差方差中,該組權值所對應的誤差平方對總的誤差平方貢獻最小。預測誤差方差將每個預測值的誤差以其誤差的倍數放大,單個較大誤差的預測值就能使誤差的方差增加很多,因此,能使預測誤差的方差最小的預測方法所產生的預測值一般不會產生某些個別的大誤差,這樣在保證誤差平穩的基礎上,選擇一個誤差平方對總的誤差平方貢獻最小的一組權值作為最佳權值,進行預測就可以提高預測的精度。實際上,通過對第9期和其他可預測各期的預測驗證對比(如表6),利用該組權值的預測結果的誤差較小。

表5 權數初次迭代調整計算結果
應用自適應過濾模型對連云港港口貨物吞吐量進行預測,為解決復雜多變的港口貨物吞吐量預測問題提供了有效的方法。該方法的優點能根據數據特點作差分處理和數據標準化,在權數調整迭代過程中,選擇對最小預測誤差方差貢獻最小的一期對應的權值作為最佳權值進行預測,獲得了精確度較高的預測結果。再就是利用Excel的宏語言VBA編寫宏程序,用按鈕操作簡單易行,在精度調整的過程中,把反復迭代的調整結果拷到結果輸出區域的下方,并再次進行迭代,得到下一次迭代調整結果,這樣可以直觀的對比調整前后的預測精度,取精度較高的作為預測模型,這是本程序的另一個突出的優點。但本預測模型完全是定量的,有一定的局限性,因此,港口職能管理部門在做計劃、決策時,還可加入一定的定性分析,從而使得預測結果能更加切合實際。

表6 預測驗證與對比
[1]柴加龍,周起舞.回歸與自回歸的疊合模型在港口吞吐量預測中的應用[J].海洋通報,1995(3):93-98.
[2]張浩.基于最優線性組合的港口集裝箱吞吐量預測方法[J].武漢理工大學學報(交通科學與工程版),2007,31(2):373-376.
[3]陳華友.基于相關系數的優性組合預測模型研究[J].系統工程學報,2006(6):353-360.
[4]張欣.組合預測模型在上海內河港口吞吐量預測中的應用[J].水運工程,2007(4):31-34.
[5]張云康,張曉宇.組合預測模型在寧波港集裝箱吞吐量預測中的應用[J].中國水運,2008,8(1):33-34.
[6]許秀莉,羅鍵.GM 1,()1模型的改進方法及其應用[J].系統工程與電子技術,2002,24(4):61-63.
[7]劉燕,陳一梅.灰色系統模型在內河港口吞吐量預測中的應用[J].水運工程,2006(4):31-34.
[8]徐國祥.統計預測和決策[M].上海:上海財經大學出版社,2008.
[9]連云港市統計局.2008年1~10月主要經濟指標[EB/OL].(2009-01-15)[2010-04-15].http://tjj.lyg.gov.cn/htm l/tjsj_ydsj/Index. htm l.
[10]Jelen.Excel 2007 VBA與宏完全剖析[M].北京:人民郵電出版社,2008.
U691
A
1002-3100(2010)10-0037-05
2010-05-19
連云港師專數學的應用與建??萍紕撔聢F隊課題,編號:LSZTD200703。
王繼順(1970-),男,山東臨沭人,連云港師范高等??茖W校數學與應用數學系,副教授,碩士,研究方向:圖論染色、數學建模及計算機輔助幾何設計。