殷克東,張雪娜
(中國海洋大學 青島 266100)
基于BP網絡的海洋生產總值預測*
殷克東,張雪娜
(中國海洋大學 青島 266100)
Lapedest和Farber首次應用人工神經網絡進行預測以來,國內外專家學者不斷將其與經濟學結合,應用于宏觀經濟預測、企業經濟戰略預測、證券市場預測等領域。針對當前我國對海洋經濟系統研究有限及海洋經濟數據缺乏等特點,文章通過建立BP網絡,對我國2010年的海洋生產產值做出預測。
海洋經濟;預測;BP網絡
海洋經濟是開發利用海洋的各類產業及相關經濟活動的總和。進入21世紀以來,黨中央、國務院又將海洋事業的發展提升到國家戰略的高度。2003年5月,《全國海洋經濟發展規劃綱要》明確提出了“逐步把我國建設成為海洋強國”的目標,表明國家層面的高度重視。對海洋經濟發展做出可靠的預測,對我國海洋經濟發展前景和目標、制定科學的海洋強國戰略和措施,具有極其重要的理論意義和現實意義。
人工神經網絡通過模擬人的大腦神經處理信息的方式,能夠對信息進行并行處理和非線性轉換。人工神經網絡模型,是一種近乎“黑箱”的操作,只需要利用歷史數據訓練網絡,而具體變量之間的函數表達關系不必知曉。尤其是筆者對海洋經濟預測研究,由于相關理論基礎薄弱,海洋總產值與其影響因素之間很難建立具體的數學函數表達式。鑒于人工神經網絡的上述特點,筆者棄用了傳統的統計計量模型建模方法,通過建立BP(Back Propagation)神經網絡模型對海洋經濟進行預測。
BP神經網絡[1]是一種具有3層或3層以上神經元的神經網絡,上下層神經元之間實現權連接,即下層的每個神經元與上層的每個神經元都實現權連接,而層內各神經元間無連接。典型的BP網絡是3層前向網絡,即輸入層、隱含層和輸出層。BP神經網絡結構見圖1。

圖1 BP神經網絡結構
以下是文章中各符號的形式及意義。
網絡輸入向量Pk=(a1,a2,…,an)
網絡目標向量Tk=(y1,y2,…,yq)
中間層單元輸入向量Sk=(s1,s2,…,sp),輸出向量Bk=(b1,b2,…,bp);
輸出層單元輸入向量Lk=(l1,l2,…,lq),輸出向量Ck=(c1,c2,…,cq);
輸出層至中間層的連接權重wij,i=1,2,…,n,j=1,2,…,p;
中間層至輸出層的連接權重vjt,j=1,2,…,p,t=1,2,…,q;
中間層各單元的輸出閾值rt,t=1,2,…,q;
輸出層各單元的輸出閾值γj,j=1,2,…,p;
參數k=1,2,…,m。
(1)初始化。給每個連接權值wij、vjt、閾值θj與γj賦予區間(-1,1)內的隨機值。
(2)隨機選取一組輸入和目標樣本Pk=提供給網絡。

(4)利用中間層的輸出bj、連接權重vjt和閾值γt計算輸出層個單元的輸出Lt,然后通過傳遞函數計算輸出層個單元的響應Ct。


(6)利用連接權vjt、輸出層的一般誤差dt和中間層的輸出bj計算中間層個單元的一般化誤差。




(9)隨機選取下一個學習樣本向量提供給網絡,返回到步驟(3),直到m個訓練樣本訓練完畢。
(10)重新從一個學習樣本中隨機選取一組輸入和目標樣本,返回步驟(3),直到網絡全局誤差E小于預先設定的一個極小值,即網絡收斂。如果學習次數大于預先設定的值,網絡就無法收斂。
(11)學習結束。
上述學習過程用圖2表示。

圖2 BP網絡學習流程
總的來說,誤差BP網絡的訓練步驟如下。
①計算輸入矢量集中的任一矢量,計算相應的網絡輸出矢量。② 計算網絡實際輸出矢量與期望的輸出矢量之差值。③ 逐層調整網絡的權值,使輸出誤差減小。④ 重復上述過程,直至誤差滿足一定的要求。
綜上可知,BP網絡具有良好的自適應、自學習、極強的非線性逼近,大規模并行處理和容錯能力等特點,具有廣泛的應用背景。
在進行BP網絡預測模型設計時,主要考慮以下因素:網絡的層數、隱層中的神經元個數、初始值的選擇、學習速率和期望誤差。
1989年,Robert Hecht-Nielson證明了對于任何的連續函數映射關系都可用含有一個隱含層的BP網絡來逼近,即一個3層的BP網絡可完成任意的從n維到m維的映射,并且可通過增加隱含層神經元的個數來提高網絡的精度。由此,文章建立三層神經元的BP網絡。
本文通過檢驗隱層包含3~11個神經元的BP網絡的性能,最后確定用隱層含7個神經元的BP網絡模型預測海洋生產總值[2]。
2.2.1 數據選擇及預處理
由于我國海洋經濟統計口徑在2001年重新進行了修訂,筆者選擇了2001—2009年的有連續統計數據且與海洋生產總值密切相關的海洋科研教育管理服務業、海洋相關產業、海洋漁業、海洋交通運輸業、濱海旅游業、海洋船舶工業和海洋油氣業每年的增加值作為輸入層的信息[3]。

使得0.15<P′ki<0.85。
2.2.2 數據的后處理
數據的后處理即數據的返歸一化。根據原公式,求出Pk即可。返歸一化公式為

網絡的學習通常要有一個合適的學習速率。學習速率決定每一次循環訓練中所產生的權值的變化量。大的學習速率可能會導致網絡學習的不穩定。但是小的學習速率又會導致訓練時間延長,收斂速度較慢,因此,通常傾向于選擇較小的學習速率以保證網絡的穩定性,一般取值在0.01~0.6之間。
期望誤差值也是通過網絡對不同誤差值分別進行訓練而確定的最適合值。所謂的最適合值是相對于所需要的隱含層的節點數的,一個較小的誤差值的獲得需要增加隱含層的節點以及訓練時間。
筆者利用Matlab7.0的神經網絡工具箱對數據進行處理。其中將2001—2008年的數據作為訓練樣本,用2009年的數據對訓練好的網絡的預測能力進行檢驗。2001—2009年海洋生產總值和各海洋產業的增加值見表1[4]。
根據預處理公式,對原始數據進行預處理, 得到取值在0.15,0.85的數據(表2)。

表2 2001—2009年海洋生產總值及各海洋產業增加值的預處理后數據
以2001—2008年的8組數據作為訓練樣本,對包含7個神經元的BP網絡進行訓練,并進行仿真測試。
圖3表明網絡經過316次訓練,已經達到了預定的精度。

圖3 訓練誤差變化

表3 2001—2009年海洋生產總值仿真結果及誤差
由表3可見網絡擬合相對誤差均在1%以內,效果比較好。然后利用趨勢外推法預測2010年的海洋科研教育管理服務業、海洋相關產業、海洋漁業、海洋交通運輸業、濱海旅游業、海洋船舶工業以及海洋油氣業增加值,預測結果見表4。

表4 2010年主要海洋產業增加值的預測值 億元
利用上述歸一化公式,在2009年之前數據基礎上,對2010年預測數據進行歸一化,即在2001—2009年的各個海洋產業增加值中取各產業的最大值和最小值,以保持對訓練網絡輸入數據的一致性。2001—2010年原始數據所產生的新歸一化矩陣見表5。

表5 2010年歸一化數據(基于2001—2009年歸一化后數據)
歸一化后,代入訓練好的網絡,進行仿真預測,得到2010年海洋生產總值的預測值為0.8646。利用還原公式對2010年的預測值還原,得到的還原值為34781億元,即2010年海洋生產總值的預測值為34781億元。
(1)神經網絡模型以獨特的數學方法把變量關系不清晰的海洋經濟系統用神經網絡模型來處理,弱化了隨機因素的干擾,從雜亂無章的現象中揭示了事物的發展規律。
(2)神經網絡模型可以在較少的原始數據基礎上,得到較高的預測精度。對于統計數據不易得到的海洋經濟產業來說,這是一個較好的方法。
(3)神經網絡模型具有良好的自適應、自學習、極強的非線性逼近,大規模并行處理和容錯能力等特點。對于處理海洋經濟系統來說,它更加貼合實際。
(1)神經網絡模型仍是以歷史數據為依據的,但是由于海洋經濟數據統計口徑的改變(如,2006年統計口徑進行了修正),同時新增了海洋相關產業和海洋科研教育管理服務業,這些改變使得預測數據與實際數據相差較大,影響模型的精度。
(2)神經網絡模型是個根據訓練樣本不斷學習的模型,基于較少的訓練樣本所訓練的網絡只能用于短期預測。若需長期預測,必須用更多的數據對網絡進行訓練。文章的模型也只適于短期預測。
(3)BP算法易陷入局部極小,算法有待進一步改進。
[1] 葛哲學,孫志強.神經網絡理論與MATLABR 2007實現[M].北京:電子工業出版社,2007:37-39.
[2] 黃雪燕 .人工神經網絡在GDP預測中的應用[D].長春:吉林大學,2007.
[3]《中國海洋經濟發展趨勢與展望》課題組 .中國海洋經濟預測研究[J].統計與決策,2005(12):43-45.
[4] 國家海洋局 .中國海洋經濟統計公報[DB/OL].(2010-02-23)[2011-06-03].http://www.soa.gov.cn/hyjww/hygb/hyjjtjgb/2009/02/1225332549346756.htm.
國家社科基金課題“沿海地區海洋強國(省)綜合實力測評研究”(08BJY006)和國家海洋公益專項“海洋經濟監測預警技術與典型區域示范研究(200805081)”階段性研究成果.