殷克東,張雪娜
(中國(guó)海洋大學(xué) 青島 266100)
基于BP網(wǎng)絡(luò)的海洋生產(chǎn)總值預(yù)測(cè)*
殷克東,張雪娜
(中國(guó)海洋大學(xué) 青島 266100)
Lapedest和Farber首次應(yīng)用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)以來(lái),國(guó)內(nèi)外專家學(xué)者不斷將其與經(jīng)濟(jì)學(xué)結(jié)合,應(yīng)用于宏觀經(jīng)濟(jì)預(yù)測(cè)、企業(yè)經(jīng)濟(jì)戰(zhàn)略預(yù)測(cè)、證券市場(chǎng)預(yù)測(cè)等領(lǐng)域。針對(duì)當(dāng)前我國(guó)對(duì)海洋經(jīng)濟(jì)系統(tǒng)研究有限及海洋經(jīng)濟(jì)數(shù)據(jù)缺乏等特點(diǎn),文章通過(guò)建立BP網(wǎng)絡(luò),對(duì)我國(guó)2010年的海洋生產(chǎn)產(chǎn)值做出預(yù)測(cè)。
海洋經(jīng)濟(jì);預(yù)測(cè);BP網(wǎng)絡(luò)
海洋經(jīng)濟(jì)是開發(fā)利用海洋的各類產(chǎn)業(yè)及相關(guān)經(jīng)濟(jì)活動(dòng)的總和。進(jìn)入21世紀(jì)以來(lái),黨中央、國(guó)務(wù)院又將海洋事業(yè)的發(fā)展提升到國(guó)家戰(zhàn)略的高度。2003年5月,《全國(guó)海洋經(jīng)濟(jì)發(fā)展規(guī)劃綱要》明確提出了“逐步把我國(guó)建設(shè)成為海洋強(qiáng)國(guó)”的目標(biāo),表明國(guó)家層面的高度重視。對(duì)海洋經(jīng)濟(jì)發(fā)展做出可靠的預(yù)測(cè),對(duì)我國(guó)海洋經(jīng)濟(jì)發(fā)展前景和目標(biāo)、制定科學(xué)的海洋強(qiáng)國(guó)戰(zhàn)略和措施,具有極其重要的理論意義和現(xiàn)實(shí)意義。
人工神經(jīng)網(wǎng)絡(luò)通過(guò)模擬人的大腦神經(jīng)處理信息的方式,能夠?qū)π畔⑦M(jìn)行并行處理和非線性轉(zhuǎn)換。人工神經(jīng)網(wǎng)絡(luò)模型,是一種近乎“黑箱”的操作,只需要利用歷史數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),而具體變量之間的函數(shù)表達(dá)關(guān)系不必知曉。尤其是筆者對(duì)海洋經(jīng)濟(jì)預(yù)測(cè)研究,由于相關(guān)理論基礎(chǔ)薄弱,海洋總產(chǎn)值與其影響因素之間很難建立具體的數(shù)學(xué)函數(shù)表達(dá)式。鑒于人工神經(jīng)網(wǎng)絡(luò)的上述特點(diǎn),筆者棄用了傳統(tǒng)的統(tǒng)計(jì)計(jì)量模型建模方法,通過(guò)建立BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)模型對(duì)海洋經(jīng)濟(jì)進(jìn)行預(yù)測(cè)。
BP神經(jīng)網(wǎng)絡(luò)[1]是一種具有3層或3層以上神經(jīng)元的神經(jīng)網(wǎng)絡(luò),上下層神經(jīng)元之間實(shí)現(xiàn)權(quán)連接,即下層的每個(gè)神經(jīng)元與上層的每個(gè)神經(jīng)元都實(shí)現(xiàn)權(quán)連接,而層內(nèi)各神經(jīng)元間無(wú)連接。典型的BP網(wǎng)絡(luò)是3層前向網(wǎng)絡(luò),即輸入層、隱含層和輸出層。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)見圖1。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
以下是文章中各符號(hào)的形式及意義。
網(wǎng)絡(luò)輸入向量Pk=(a1,a2,…,an)
網(wǎng)絡(luò)目標(biāo)向量Tk=(y1,y2,…,yq)
中間層單元輸入向量Sk=(s1,s2,…,sp),輸出向量Bk=(b1,b2,…,bp);
輸出層單元輸入向量Lk=(l1,l2,…,lq),輸出向量Ck=(c1,c2,…,cq);
輸出層至中間層的連接權(quán)重wij,i=1,2,…,n,j=1,2,…,p;
中間層至輸出層的連接權(quán)重vjt,j=1,2,…,p,t=1,2,…,q;
中間層各單元的輸出閾值rt,t=1,2,…,q;
輸出層各單元的輸出閾值γj,j=1,2,…,p;
參數(shù)k=1,2,…,m。
(1)初始化。給每個(gè)連接權(quán)值wij、vjt、閾值θj與γj賦予區(qū)間(-1,1)內(nèi)的隨機(jī)值。
(2)隨機(jī)選取一組輸入和目標(biāo)樣本Pk=提供給網(wǎng)絡(luò)。
(4)利用中間層的輸出bj、連接權(quán)重vjt和閾值γt計(jì)算輸出層個(gè)單元的輸出Lt,然后通過(guò)傳遞函數(shù)計(jì)算輸出層個(gè)單元的響應(yīng)Ct。
(6)利用連接權(quán)vjt、輸出層的一般誤差dt和中間層的輸出bj計(jì)算中間層個(gè)單元的一般化誤差。
(9)隨機(jī)選取下一個(gè)學(xué)習(xí)樣本向量提供給網(wǎng)絡(luò),返回到步驟(3),直到m個(gè)訓(xùn)練樣本訓(xùn)練完畢。
(10)重新從一個(gè)學(xué)習(xí)樣本中隨機(jī)選取一組輸入和目標(biāo)樣本,返回步驟(3),直到網(wǎng)絡(luò)全局誤差E小于預(yù)先設(shè)定的一個(gè)極小值,即網(wǎng)絡(luò)收斂。如果學(xué)習(xí)次數(shù)大于預(yù)先設(shè)定的值,網(wǎng)絡(luò)就無(wú)法收斂。
(11)學(xué)習(xí)結(jié)束。
上述學(xué)習(xí)過(guò)程用圖2表示。
圖2 BP網(wǎng)絡(luò)學(xué)習(xí)流程
總的來(lái)說(shuō),誤差BP網(wǎng)絡(luò)的訓(xùn)練步驟如下。
①計(jì)算輸入矢量集中的任一矢量,計(jì)算相應(yīng)的網(wǎng)絡(luò)輸出矢量。② 計(jì)算網(wǎng)絡(luò)實(shí)際輸出矢量與期望的輸出矢量之差值。③ 逐層調(diào)整網(wǎng)絡(luò)的權(quán)值,使輸出誤差減小。④ 重復(fù)上述過(guò)程,直至誤差滿足一定的要求。
綜上可知,BP網(wǎng)絡(luò)具有良好的自適應(yīng)、自學(xué)習(xí)、極強(qiáng)的非線性逼近,大規(guī)模并行處理和容錯(cuò)能力等特點(diǎn),具有廣泛的應(yīng)用背景。
在進(jìn)行BP網(wǎng)絡(luò)預(yù)測(cè)模型設(shè)計(jì)時(shí),主要考慮以下因素:網(wǎng)絡(luò)的層數(shù)、隱層中的神經(jīng)元個(gè)數(shù)、初始值的選擇、學(xué)習(xí)速率和期望誤差。
1989年,Robert Hecht-Nielson證明了對(duì)于任何的連續(xù)函數(shù)映射關(guān)系都可用含有一個(gè)隱含層的BP網(wǎng)絡(luò)來(lái)逼近,即一個(gè)3層的BP網(wǎng)絡(luò)可完成任意的從n維到m維的映射,并且可通過(guò)增加隱含層神經(jīng)元的個(gè)數(shù)來(lái)提高網(wǎng)絡(luò)的精度。由此,文章建立三層神經(jīng)元的BP網(wǎng)絡(luò)。
本文通過(guò)檢驗(yàn)隱層包含3~11個(gè)神經(jīng)元的BP網(wǎng)絡(luò)的性能,最后確定用隱層含7個(gè)神經(jīng)元的BP網(wǎng)絡(luò)模型預(yù)測(cè)海洋生產(chǎn)總值[2]。
2.2.1 數(shù)據(jù)選擇及預(yù)處理
由于我國(guó)海洋經(jīng)濟(jì)統(tǒng)計(jì)口徑在2001年重新進(jìn)行了修訂,筆者選擇了2001—2009年的有連續(xù)統(tǒng)計(jì)數(shù)據(jù)且與海洋生產(chǎn)總值密切相關(guān)的海洋科研教育管理服務(wù)業(yè)、海洋相關(guān)產(chǎn)業(yè)、海洋漁業(yè)、海洋交通運(yùn)輸業(yè)、濱海旅游業(yè)、海洋船舶工業(yè)和海洋油氣業(yè)每年的增加值作為輸入層的信息[3]。
使得0.15<P′ki<0.85。
2.2.2 數(shù)據(jù)的后處理
數(shù)據(jù)的后處理即數(shù)據(jù)的返歸一化。根據(jù)原公式,求出Pk即可。返歸一化公式為
網(wǎng)絡(luò)的學(xué)習(xí)通常要有一個(gè)合適的學(xué)習(xí)速率。學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值的變化量。大的學(xué)習(xí)速率可能會(huì)導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)的不穩(wěn)定。但是小的學(xué)習(xí)速率又會(huì)導(dǎo)致訓(xùn)練時(shí)間延長(zhǎng),收斂速度較慢,因此,通常傾向于選擇較小的學(xué)習(xí)速率以保證網(wǎng)絡(luò)的穩(wěn)定性,一般取值在0.01~0.6之間。
期望誤差值也是通過(guò)網(wǎng)絡(luò)對(duì)不同誤差值分別進(jìn)行訓(xùn)練而確定的最適合值。所謂的最適合值是相對(duì)于所需要的隱含層的節(jié)點(diǎn)數(shù)的,一個(gè)較小的誤差值的獲得需要增加隱含層的節(jié)點(diǎn)以及訓(xùn)練時(shí)間。
筆者利用Matlab7.0的神經(jīng)網(wǎng)絡(luò)工具箱對(duì)數(shù)據(jù)進(jìn)行處理。其中將2001—2008年的數(shù)據(jù)作為訓(xùn)練樣本,用2009年的數(shù)據(jù)對(duì)訓(xùn)練好的網(wǎng)絡(luò)的預(yù)測(cè)能力進(jìn)行檢驗(yàn)。2001—2009年海洋生產(chǎn)總值和各海洋產(chǎn)業(yè)的增加值見表1[4]。
根據(jù)預(yù)處理公式,對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理, 得到取值在0.15,0.85的數(shù)據(jù)(表2)。
表2 2001—2009年海洋生產(chǎn)總值及各海洋產(chǎn)業(yè)增加值的預(yù)處理后數(shù)據(jù)
以2001—2008年的8組數(shù)據(jù)作為訓(xùn)練樣本,對(duì)包含7個(gè)神經(jīng)元的BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并進(jìn)行仿真測(cè)試。
圖3表明網(wǎng)絡(luò)經(jīng)過(guò)316次訓(xùn)練,已經(jīng)達(dá)到了預(yù)定的精度。
圖3 訓(xùn)練誤差變化
表3 2001—2009年海洋生產(chǎn)總值仿真結(jié)果及誤差
由表3可見網(wǎng)絡(luò)擬合相對(duì)誤差均在1%以內(nèi),效果比較好。然后利用趨勢(shì)外推法預(yù)測(cè)2010年的海洋科研教育管理服務(wù)業(yè)、海洋相關(guān)產(chǎn)業(yè)、海洋漁業(yè)、海洋交通運(yùn)輸業(yè)、濱海旅游業(yè)、海洋船舶工業(yè)以及海洋油氣業(yè)增加值,預(yù)測(cè)結(jié)果見表4。
表4 2010年主要海洋產(chǎn)業(yè)增加值的預(yù)測(cè)值 億元
利用上述歸一化公式,在2009年之前數(shù)據(jù)基礎(chǔ)上,對(duì)2010年預(yù)測(cè)數(shù)據(jù)進(jìn)行歸一化,即在2001—2009年的各個(gè)海洋產(chǎn)業(yè)增加值中取各產(chǎn)業(yè)的最大值和最小值,以保持對(duì)訓(xùn)練網(wǎng)絡(luò)輸入數(shù)據(jù)的一致性。2001—2010年原始數(shù)據(jù)所產(chǎn)生的新歸一化矩陣見表5。
表5 2010年歸一化數(shù)據(jù)(基于2001—2009年歸一化后數(shù)據(jù))
歸一化后,代入訓(xùn)練好的網(wǎng)絡(luò),進(jìn)行仿真預(yù)測(cè),得到2010年海洋生產(chǎn)總值的預(yù)測(cè)值為0.8646。利用還原公式對(duì)2010年的預(yù)測(cè)值還原,得到的還原值為34781億元,即2010年海洋生產(chǎn)總值的預(yù)測(cè)值為34781億元。
(1)神經(jīng)網(wǎng)絡(luò)模型以獨(dú)特的數(shù)學(xué)方法把變量關(guān)系不清晰的海洋經(jīng)濟(jì)系統(tǒng)用神經(jīng)網(wǎng)絡(luò)模型來(lái)處理,弱化了隨機(jī)因素的干擾,從雜亂無(wú)章的現(xiàn)象中揭示了事物的發(fā)展規(guī)律。
(2)神經(jīng)網(wǎng)絡(luò)模型可以在較少的原始數(shù)據(jù)基礎(chǔ)上,得到較高的預(yù)測(cè)精度。對(duì)于統(tǒng)計(jì)數(shù)據(jù)不易得到的海洋經(jīng)濟(jì)產(chǎn)業(yè)來(lái)說(shuō),這是一個(gè)較好的方法。
(3)神經(jīng)網(wǎng)絡(luò)模型具有良好的自適應(yīng)、自學(xué)習(xí)、極強(qiáng)的非線性逼近,大規(guī)模并行處理和容錯(cuò)能力等特點(diǎn)。對(duì)于處理海洋經(jīng)濟(jì)系統(tǒng)來(lái)說(shuō),它更加貼合實(shí)際。
(1)神經(jīng)網(wǎng)絡(luò)模型仍是以歷史數(shù)據(jù)為依據(jù)的,但是由于海洋經(jīng)濟(jì)數(shù)據(jù)統(tǒng)計(jì)口徑的改變(如,2006年統(tǒng)計(jì)口徑進(jìn)行了修正),同時(shí)新增了海洋相關(guān)產(chǎn)業(yè)和海洋科研教育管理服務(wù)業(yè),這些改變使得預(yù)測(cè)數(shù)據(jù)與實(shí)際數(shù)據(jù)相差較大,影響模型的精度。
(2)神經(jīng)網(wǎng)絡(luò)模型是個(gè)根據(jù)訓(xùn)練樣本不斷學(xué)習(xí)的模型,基于較少的訓(xùn)練樣本所訓(xùn)練的網(wǎng)絡(luò)只能用于短期預(yù)測(cè)。若需長(zhǎng)期預(yù)測(cè),必須用更多的數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。文章的模型也只適于短期預(yù)測(cè)。
(3)BP算法易陷入局部極小,算法有待進(jìn)一步改進(jìn)。
[1] 葛哲學(xué),孫志強(qiáng).神經(jīng)網(wǎng)絡(luò)理論與MATLABR 2007實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2007:37-39.
[2] 黃雪燕 .人工神經(jīng)網(wǎng)絡(luò)在GDP預(yù)測(cè)中的應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2007.
[3]《中國(guó)海洋經(jīng)濟(jì)發(fā)展趨勢(shì)與展望》課題組 .中國(guó)海洋經(jīng)濟(jì)預(yù)測(cè)研究[J].統(tǒng)計(jì)與決策,2005(12):43-45.
[4] 國(guó)家海洋局 .中國(guó)海洋經(jīng)濟(jì)統(tǒng)計(jì)公報(bào)[DB/OL].(2010-02-23)[2011-06-03].http://www.soa.gov.cn/hyjww/hygb/hyjjtjgb/2009/02/1225332549346756.htm.
國(guó)家社科基金課題“沿海地區(qū)海洋強(qiáng)國(guó)(?。┚C合實(shí)力測(cè)評(píng)研究”(08BJY006)和國(guó)家海洋公益專項(xiàng)“海洋經(jīng)濟(jì)監(jiān)測(cè)預(yù)警技術(shù)與典型區(qū)域示范研究(200805081)”階段性研究成果.