張光建
摘要:基于時間序列的神經(jīng)網(wǎng)絡(luò)預(yù)測,從模型的結(jié)構(gòu)設(shè)計、神經(jīng)元個數(shù)、傳遞函數(shù)等方面,研究BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的建模。通過對國家統(tǒng)計局的人口數(shù)據(jù)建立樣本,使用MATLAB對預(yù)測模型進(jìn)行仿真實驗,結(jié)果證明預(yù)測模型能夠達(dá)到預(yù)測效果。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò);人口預(yù)測;MATLAB;數(shù)學(xué)建模;神經(jīng)元;傳遞函數(shù)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A文章編號:2095-2163(2016)01-
Abstract: Based on the time series of neural network prediction, from the main exploration such as the model of structural design, neuron number, transfer function and so on, the paper presents the research of BP neural network prediction model of the model. After that, the paper proposes the establishment of the sample by the population data of the National Bureau of statistics, and the use of MATLAB for simulation of prediction model. Simulation results show that the prediction model can achieve the prediction effect.
Keywords: BP Neural Network; population prediction; MATLAB; Mathematical modeling; neuron; transfer function
0引言
對于人口總量開展科學(xué)預(yù)測研究,即可為人口規(guī)劃與未來政策走向提供全面、客觀的實施參考。同時不言而喻的是,預(yù)測結(jié)果數(shù)據(jù)對于國民經(jīng)濟(jì)發(fā)展計劃的制定和實現(xiàn)都將具有不可估量的重要意義。時下采用的主要預(yù)測方法是:邏輯斯蒂方程法,常微分方程法,動態(tài)預(yù)測法。這些方法各有其特點及適用范圍,但都需要對數(shù)據(jù)提供一定模型假設(shè)支持。
相對于傳統(tǒng)的統(tǒng)計預(yù)測方法,神經(jīng)網(wǎng)絡(luò)模型有著良好的非線性特性,靈活有效的學(xué)習(xí)方式,以及完全分布式的存儲結(jié)構(gòu)。
神經(jīng)網(wǎng)絡(luò)中的單個神經(jīng)元具有自組織復(fù)合模式,反映非線性特征,使神經(jīng)網(wǎng)絡(luò)能夠重建任意的非線連續(xù)的函數(shù)。通過學(xué)習(xí),可以使用網(wǎng)絡(luò)獲得序列的內(nèi)在規(guī)律,從而可以對序列的變化進(jìn)行預(yù)測。使用神經(jīng)網(wǎng)絡(luò)可以無需常規(guī)建模過程,而且同時又表現(xiàn)出良好的自適應(yīng)和自學(xué)習(xí)能力、較強的抗干擾能力。
神經(jīng)網(wǎng)絡(luò)應(yīng)用于預(yù)測,大體上可以分為兩種方式[ ]:基于回歸分析的神經(jīng)網(wǎng)絡(luò)預(yù)測和基于時間序列的神經(jīng)網(wǎng)絡(luò)預(yù)測。
神經(jīng)網(wǎng)絡(luò)預(yù)測模型是建立在如下假設(shè)上,即:一次觀測中過去值與未來值之間存在聯(lián)系,找到一個函數(shù),以過去觀測值作為輸入,未來值作為輸出。
2 人口預(yù)測模型
2.1 輸入輸出向量設(shè)計
基于時間序列的神經(jīng)網(wǎng)絡(luò)預(yù)測模型的建立,采用前3年的人口總量數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入變量,第4年的人口總量數(shù)據(jù)作為輸出變量。即輸入為3個數(shù)據(jù),輸出為1個數(shù)據(jù)。函數(shù)表達(dá)式:
(2)
樣本集中使用總量的80%作為訓(xùn)練樣本集,而將剩余的20%作為測試樣本集,進(jìn)而根據(jù)測試數(shù)據(jù)與真實數(shù)據(jù)的一致性比較,驗證模型的精確度。
2.2 網(wǎng)絡(luò)模型
根據(jù)BP網(wǎng)絡(luò)原理開展設(shè)計,一般的預(yù)測問題都可以通過單個隱含層實現(xiàn),因為理論上單隱含層可以逼近任何非線性函數(shù)。本次研究構(gòu)建三層BP神經(jīng)網(wǎng)絡(luò):一個輸入層,一個隱含層,一個輸出層。
確定了網(wǎng)絡(luò)層數(shù)結(jié)構(gòu)后,需要確定每層的神經(jīng)元個數(shù)。輸入層與輸出層的神經(jīng)元個數(shù)由具體的輸入輸出決定,由于輸入向量有3個元素,輸入層神經(jīng)元設(shè)定為3個,輸出層神經(jīng)元相應(yīng)即定為1個。對于隱含層神經(jīng)元個數(shù)的選擇[ ],目前沒有統(tǒng)一精準(zhǔn)的完善方法,經(jīng)常使用的是經(jīng)驗公式或者試湊法。本文選用了經(jīng)驗公式法。
根據(jù)經(jīng)驗公式,Sqr(3+1)+3=5,綜合測試比較后得到,隱層神經(jīng)元可確定為5個。
傳遞函數(shù)又稱為激勵函數(shù),是BP網(wǎng)絡(luò)的重要組成部分。BP網(wǎng)絡(luò)慣常選用的S型對數(shù)或正切數(shù)和線性函數(shù)作為傳遞函數(shù)。
本次研究的預(yù)測神經(jīng)網(wǎng)絡(luò)模型設(shè)計中,輸入層-隱含層傳遞函數(shù)采用sigmoid的對數(shù)函數(shù)。Logsig 即為S型的對數(shù)函數(shù),可將神經(jīng)元的輸入(范圍為整個實數(shù)集)映射到(0,1)中,而是可微,因此非常適合于利用BP算法的神經(jīng)網(wǎng)絡(luò)。
隱含層到輸出層傳遞函數(shù)采用線性函數(shù)。purelin為線性傳遞函數(shù),文獻(xiàn)[ ]已然證明一個線性傳遞函數(shù)在預(yù)測模型中更適合輸出層傳遞函數(shù)。
3 仿真實驗
3.1采集樣本
根據(jù)國家統(tǒng)計局的數(shù)據(jù),我國1994-2013年人口數(shù)據(jù)如表 1所示。
4結(jié)束語
根據(jù)人口總量的非線性特征,提出基于BP網(wǎng)絡(luò)非線性的神經(jīng)網(wǎng)絡(luò)預(yù)測方法,并以人口總量作為預(yù)測模型,使用MATLAB仿真模擬已有人口狀況況,對人口總量的預(yù)測獲得了較為滿意的結(jié)果。由于人口總量會受到人口政策、經(jīng)濟(jì)發(fā)展及各種因素的客觀、綜合影響,為了達(dá)到最佳宏觀預(yù)測,在后續(xù)研究中則需要將更多的因素加入到預(yù)測模型中,如人口出生率、老年率、死亡率等。