張 琪
(蘭州交通大學(xué) 數(shù)理學(xué)院,甘肅 蘭州 730070)
陜西省的GDP一直處于我國(guó)的中上游水平,1999年陜西省的GDP為1592.64億元,而在2019年,GDP高達(dá)25793.17億元,可以看出陜西省的GDP增長(zhǎng)速度高于全國(guó)水平。2020年不僅是全面建成小康社會(huì)也是“十三五”規(guī)劃的最后一年,這一期間的經(jīng)濟(jì)增長(zhǎng)水平也是陜西省乃至全國(guó)的聚焦問題。
在所有的人工神經(jīng)網(wǎng)絡(luò)中,BP神經(jīng)網(wǎng)絡(luò)使用最為廣泛,它是一種誤差逆向傳播的前饋神經(jīng)網(wǎng)絡(luò)[1],具有良好的容錯(cuò)性、魯棒性、泛化能力。文章擬采用BP神經(jīng)網(wǎng)絡(luò)對(duì)陜西省近5年的GDP數(shù)值進(jìn)行預(yù)測(cè)。
BP神經(jīng)網(wǎng)絡(luò)屬于一種誤差反向傳遞的神經(jīng)網(wǎng)絡(luò),它包括輸入層,一個(gè)或多個(gè)隱含層,和輸出層等多層。數(shù)據(jù)傳入輸入層,經(jīng)過輸出層傳出,而隱含層則為存儲(chǔ)數(shù)據(jù)的功能。當(dāng)輸出誤差大于給定誤差時(shí),誤差反向傳播,途徑隱含層最終傳向輸入層,各層的權(quán)值和閾值進(jìn)行迭代更新,直到輸出值不斷逼近期望值停止訓(xùn)練。
BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)前要訓(xùn)練網(wǎng)絡(luò),訓(xùn)練過程如下。
2.1 確定網(wǎng)絡(luò)參數(shù)以及初始化。網(wǎng)絡(luò)輸入層節(jié)點(diǎn)數(shù)n由輸入維數(shù)決定,輸出層節(jié)點(diǎn)數(shù)m由輸出維數(shù)決定,隱含層節(jié)點(diǎn)數(shù)l,輸出層節(jié)點(diǎn)數(shù)m通過計(jì)算得到,接著初始化各層之間的神經(jīng)元的權(quán)值,輸入層隱含層閾值a,輸出層的閾值b,給出學(xué)習(xí)速率和神經(jīng)元激活函數(shù)[2]。
2.2 得出隱含層的輸出值。由輸入變量x,以及它與隱含層之間的權(quán)值Wij,還有隱含層閾值a,得出輸出H。
2.3 得出預(yù)測(cè)值。由隱含層的輸出值H,權(quán)重Wij,閾值b,可以得到網(wǎng)絡(luò)的預(yù)測(cè)值0。
2.4 得出誤差。由預(yù)測(cè)值O和期望的Y值,計(jì)算BP網(wǎng)絡(luò)的誤差值e。
2.5 將權(quán)值進(jìn)行更新。由誤差e來(lái)更新權(quán)值Wij和Wjk。
式中,η為學(xué)習(xí)速率。
2.6 將閾值進(jìn)行更新。由預(yù)測(cè)誤差e逐層更新網(wǎng)絡(luò)的所有閾值a和b。
2.7 確定BP神經(jīng)網(wǎng)絡(luò)迭代是否完成,如果沒有,返回(2),直到誤差達(dá)到要求停止訓(xùn)練。
實(shí)驗(yàn)所用數(shù)據(jù)來(lái)源于2020年《國(guó)家統(tǒng)計(jì)年鑒》,選取2000年到2019年的陜西省近20年的GDP數(shù)據(jù)。
在訓(xùn)練過程中為了避免變量間量綱差異較大,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,以達(dá)到提高預(yù)測(cè)精度的目的,本文用到的歸一化公式為:
其中xi為原始數(shù)據(jù),x'i為歸一化后的數(shù)值。
實(shí)驗(yàn)借助于MatlabR2018a軟件,構(gòu)建一個(gè)單隱含層的BP神經(jīng)網(wǎng)絡(luò),從2000年開始,連續(xù)3年的陜西省GDP數(shù)據(jù)作為值,第4年的GDP數(shù)據(jù)作為輸出。輸入層維數(shù)因而確定為3,輸出層維數(shù)為1。其中2000年到2014年的樣本作為訓(xùn)練集,2015年到2019年的樣本作為測(cè)試集,隱含層節(jié)點(diǎn)個(gè)數(shù)通過多次嘗試以及經(jīng)驗(yàn)公式得出,常見的經(jīng)驗(yàn)公式如下:
這里m表示輸入層的節(jié)點(diǎn)個(gè)數(shù),n表示輸出層的節(jié)點(diǎn)個(gè)數(shù),l為隱含層節(jié)點(diǎn)個(gè)數(shù),其中a∈[0,1]的常數(shù),由試湊法和經(jīng)驗(yàn)公式,將隱含層節(jié)點(diǎn)數(shù)設(shè)為10。最大迭代次數(shù)設(shè)為50000次,學(xué)習(xí)率設(shè)為0.01,目標(biāo)誤差為0.0001,激活函數(shù)選擇為s型函數(shù),其中f(x) ∈∈[0,1]。
在對(duì)GDP進(jìn)行預(yù)測(cè)時(shí),常見的誤差評(píng)價(jià)指標(biāo)通常有。
均方誤差(MSE)
2015到2019年,這5年的GDP預(yù)測(cè)值相對(duì)誤差依次為0.867%,-0.539%,-0.058%,0.092%,0.020%,5年的平均相對(duì)誤差為0.382%,誤差較小,預(yù)測(cè)值曲線和實(shí)際值曲線幾乎完全重合,說(shuō)明預(yù)測(cè)具有一定的準(zhǔn)確性。
文章根據(jù)2000年到2019年陜西省20年的國(guó)內(nèi)生產(chǎn)總值數(shù)據(jù),建立了BP神經(jīng)網(wǎng)絡(luò)模型,借助于Matlab軟件對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,對(duì)陜西省近5年的GDP數(shù)值進(jìn)行了預(yù)測(cè),得到的預(yù)測(cè)數(shù)值和實(shí)際數(shù)值誤差較小,說(shuō)明模型有著較強(qiáng)的擬合能力,達(dá)到了較好的預(yù)測(cè)效果。