摘 要 人口系統(tǒng)是一個非常復(fù)雜的非線性系統(tǒng),對人口數(shù)量的準確預(yù)測能為生態(tài)經(jīng)濟夠為可持續(xù)發(fā)展計劃的制定提供重要依據(jù),為此建立了一維時間序列的湖北省人口數(shù)量的BP神經(jīng)網(wǎng)絡(luò)模型。根據(jù)1978~2010年湖北省人口統(tǒng)計數(shù)據(jù),借助Matlab7.0軟件進行預(yù)測,并與一元線性回歸預(yù)測、二次指數(shù)平滑法的預(yù)測結(jié)果進行比較, 結(jié)果表明應(yīng)用BP神經(jīng)網(wǎng)絡(luò)對人口數(shù)量的預(yù)測精度更高,效果更好。
關(guān)鍵詞 BP神經(jīng)網(wǎng)絡(luò) 人口預(yù)測 時間序列
一、人口預(yù)測模型的建立
(一)BP網(wǎng)絡(luò)的構(gòu)建
BP神經(jīng)網(wǎng)絡(luò)也叫做誤差反向傳播神經(jīng)網(wǎng)絡(luò),它是由非線性變換單元組成的前饋網(wǎng)絡(luò),利用它可以實現(xiàn)多層前饋神經(jīng)網(wǎng)絡(luò)權(quán)值的調(diào)節(jié)。從機構(gòu)上講,BP網(wǎng)絡(luò)是一種分層型的典型多層網(wǎng)絡(luò),具有輸入層、隱含層和輸出層,層與層之間多采用全連接的方式。同一層的單元之間不存在相互連接,每一層的權(quán)值都可以通過學(xué)習(xí)來調(diào)整。
(二)網(wǎng)絡(luò)層數(shù)、神經(jīng)元數(shù)、傳遞函數(shù)與學(xué)習(xí)算法的確定
經(jīng)充分學(xué)習(xí)的三層BP神經(jīng)網(wǎng)絡(luò)可以逼近任何函數(shù),輸入層節(jié)點數(shù)一般要等于要訓(xùn)練的樣本矢量維數(shù),可以是原始數(shù)據(jù)的維數(shù)或提取的特征維數(shù);輸出層節(jié)點數(shù)最終確定輸入層節(jié)點數(shù)為4個,輸出層節(jié)點數(shù)為1個。
隱含層節(jié)點數(shù)的選擇是一個非常復(fù)雜的問題,隱含層節(jié)點數(shù)過少,容錯性差,識別與學(xué)習(xí)的樣本的能力低;隱含層節(jié)點數(shù)過多會增加網(wǎng)絡(luò)訓(xùn)練時間,并將樣本中非規(guī)律的內(nèi)容存儲進去,經(jīng)過反復(fù)試驗,確定隱含層節(jié)點數(shù)為9。
轉(zhuǎn)移函數(shù)決定了神經(jīng)元的連接方式,在神經(jīng)網(wǎng)絡(luò)中的作用非常重要。在BP網(wǎng)絡(luò)中,涉及的轉(zhuǎn)移函數(shù)有很多種,如purelin、tansig、logsig等。
二、預(yù)測模型的應(yīng)用
(一)樣本數(shù)據(jù)選取與預(yù)處理
以湖北省1978~2010年的人口數(shù)量為依據(jù),進行實證分析和檢驗。歷年人口數(shù)據(jù)是一維時間序列,但BP神經(jīng)網(wǎng)絡(luò)要求用多組輸入來訓(xùn)練網(wǎng)絡(luò),且輸入范圍一般定在[0,1]。在網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練中,由于傳遞函數(shù)的輸出限制,學(xué)習(xí)過程中有較多數(shù)量級相差很大的數(shù)據(jù)要通過一定的計算而轉(zhuǎn)化為0~1的輸出值。對數(shù)據(jù)進行歸一化的方法有很多,本文根據(jù)式(1)進行預(yù)處理,其變化規(guī)則為:P'(t)=p(t)/10n (1),(1)式中,n為所有統(tǒng)計數(shù)據(jù)中最大值的整數(shù)位數(shù),這里n=4。經(jīng)過預(yù)處理的數(shù)據(jù)序列p'(t)根據(jù)確定的網(wǎng)絡(luò)結(jié)構(gòu)劃分為訓(xùn)練樣本和檢驗樣本,具體如下:輸入樣本集p=[p'(t-4),p'(t-3),p'(t-2),p'(t-1)],輸出樣本集t=[p'(t)],其中t=1978,1979,……2010。同時,選擇1978~2007年的數(shù)據(jù)作為學(xué)習(xí)樣本集,2008~2010年的數(shù)據(jù)作為檢驗樣本集。用學(xué)習(xí)樣本集對網(wǎng)絡(luò)進行訓(xùn)練,并且利用完成訓(xùn)練的神經(jīng)網(wǎng)絡(luò)進行模擬。
(二)基于Matlab的BP網(wǎng)絡(luò)的人口預(yù)測
在Matlab中,對于BP網(wǎng)絡(luò)的實現(xiàn),其提供了3個基本函數(shù):newff,train和sim,分別對應(yīng)于新建、訓(xùn)練和仿真三個步驟。
1、新建newff函數(shù)。
要實現(xiàn)一個BP網(wǎng)絡(luò)的訓(xùn)練和仿真,首先需要創(chuàng)建一個BP網(wǎng)絡(luò),newff就是為了完成此項操作。建立一個三層網(wǎng)絡(luò)模型(包括輸入層、隱含層和輸出層)的基本代碼如下:net=newff(minmax(p),[NodeNum TypeNum],{‘tansig’,‘purelin’},‘trainlm’)
2、訓(xùn)練train函數(shù)。
BP網(wǎng)絡(luò)初始化之后,就可以對其進行訓(xùn)練。函數(shù)train 采用的是批處理方式進行如下的網(wǎng)絡(luò)連接權(quán)值和閥值的更新,并按照設(shè)置的參數(shù)(如學(xué)習(xí)步長、誤差目標等)進行:net.performFcn=’mse’;%表示采用均方誤差來評價網(wǎng)絡(luò)性能指數(shù);net.trainParam.show=200;%表示訓(xùn)練間隔為200次就顯示一次結(jié)果;net.trainParam.goal=le-8;%表示網(wǎng)絡(luò)均方誤差的目標值;net.trainParam.epochs=2000;%表示允許的最大訓(xùn)練周期數(shù);net=train(net,p,t);%開始訓(xùn)練,其中p,t分別是輸入、輸出向量;訓(xùn)練結(jié)束后得到的net就是利用訓(xùn)練樣本建立的BP神經(jīng)網(wǎng)絡(luò)模型,也就是建立了輸入模型與輸出模型之間的映射關(guān)系。
3、仿真sim函數(shù)。
仿真sim函數(shù)就是用建立好的神經(jīng)網(wǎng)絡(luò)進行仿真。其調(diào)用的形式為:X=sim(net,P)其中,net為訓(xùn)練好的網(wǎng)絡(luò)對象,P為輸入向量或矩陣,X為網(wǎng)絡(luò)輸出。如果P為向量,則為單點仿真,P為矩陣,則為多點仿真。利用sim函數(shù),可以在網(wǎng)絡(luò)訓(xùn)練前后分別進行輸入和輸出的仿真,加以比較,從而對網(wǎng)絡(luò)進行修改評價。最后,利用檢驗樣本可以檢驗訓(xùn)練得到的網(wǎng)絡(luò)模型預(yù)測的效果。網(wǎng)絡(luò)訓(xùn)練好之后,將檢驗樣本代入,預(yù)測p'(2008),p'(2009),p'(2010),得到的結(jié)果為0.6094,0.6177和0.6211,將結(jié)果還原為6094,6177和6211,即經(jīng)過BP網(wǎng)絡(luò)預(yù)測湖北省2008,2009和2010年的人口量為:6094萬人,6177萬人和6211萬人。
三、BP網(wǎng)絡(luò)的局限性
BP網(wǎng)絡(luò)雖然可以進行較為準確的人口預(yù)測,但其在實際計算過程中還存在如下問題:第一,學(xué)習(xí)效率低,收斂速度慢,參數(shù)的選擇較為敏感,網(wǎng)絡(luò)結(jié)構(gòu)選擇不能統(tǒng)一。第二當有新學(xué)習(xí)樣本加入時,將會影響到以學(xué)習(xí)過的樣本,而且要求所有的學(xué)習(xí)樣本的輸入提供的特征數(shù)目相同。
(作者單位:中南財經(jīng)政法大學(xué)統(tǒng)計與數(shù)學(xué)學(xué)院)
參考文獻:
[1]謝軍飛,李延明.基于BP人工神經(jīng)網(wǎng)絡(luò)的北京城市人口預(yù)測[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2010(7):86-89.
[2]羅榮桂,黃敏鎂.基于BP神經(jīng)網(wǎng)絡(luò)的長江流域人口預(yù)測研究[J].武漢理工大學(xué)學(xué)報,2004(10):90-92.
[3]王學(xué)士,馬曉艷.基于BP神經(jīng)網(wǎng)絡(luò)的浙江省人口預(yù)測[J].科技信息,2011:114-115.
[4]湖北省統(tǒng)計局.湖北省統(tǒng)計年鑒(2011年版)[M].中國統(tǒng)計出版社,2011.
[5]傅蕓璇,趙紅.MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計[M].機械工業(yè)出版社,2010.
[6]中華人民共和國國家統(tǒng)計局.http://www.stats.gov.cn/.