戴 澍,潘 麗
(炎黃職業技術學院,江蘇漣水223400)
基于Matlab-nntool的BP神經網絡在江蘇省糧食作物產量預測中的應用
戴澍,潘麗
(炎黃職業技術學院,江蘇漣水223400)
本文基于BP神經網絡理論對2014年江蘇省糧食作物產量進行仿真,仿真結果為3510.8萬噸。與實際產量相比誤差為0.58%,實驗結果證明了利用BP神經網絡對江蘇省糧食作物產量預測是可行的,具有一定的應用價值。
Matlab;BP神經網絡;糧食作物
BP神經網絡是1986年由Rume1hatt和McCe11and為首的科學家小組提出,它是一種按誤差逆傳播算法訓練的多層前饋網絡,是一種具有三層以上(包括三層)的神經網絡,包括輸入層、隱含層,和輸出層。各層之間實現全連接,而各層的神經元之間沒有直接連接。
實現BP神經網絡在Mat1ab中運行,首先需要對數據進行歸一化處理,然后建立神經網絡(即newff函數),接著進行網絡訓練即(ttain函數),并根據訓練結果,輸入測試數據進行仿真即(sim函數),最后將數據進行反歸一化處理。傳統模式下,以上過程都需依靠編寫程序代碼來實現,專業性強,且容易出錯。因此在較新版本的mat1ab下設置了Neuta1Netwotk Too1box,可在窗口化的界面進行神經網絡的創建、訓練與預測,簡化了操作,本文即采取此方法進行分析。
食作物產量預測
3.1指標說明與節點選取
選取影響江蘇省糧食作物產量的5個因素作為輸入變量,分別為糧食作物播種面積(千公頃)、農村勞動力(萬人)、農業機械總動力(萬千瓦)、農村用電量(億千瓦時)、化肥施用量(萬噸),輸出變量為糧食作物總產量(萬噸),數據來源于2003-2015年江蘇省統計年鑒。數據如下表所示。相應的,輸入節點數和輸出節點數分別為5和1,隱含層的節點數則運用以下公式計算:

其中,Z為隱含層節點數,X為輸入層節點數,y為輸出層節點數,可得隱含層的節點數范圍經過多次擬合最后確定隱含層的節點數取10。
3.2數據的歸一化處理
BP神經網絡的數據歸一化處理方法很多,基本原則是把數據按固定規律映射到0到1之間,以便進行統一比較,本文采取的方法如下,其中b為原始數據,a為新數據。

3.3創建與訓練網絡
取2001-2013年數據作為學習樣本,2014年數據為驗證數據利用Mat1ab的nntoo1命令,打開工具箱,錄入輸入、輸出數據,創建網絡。本文采取三層BP網絡,訓練函數經過大量試驗,最終確定為收斂快、誤差小的TRAINLM函數,隱含層激活函數選取TANSIG函數,輸出層激活函數選擇PURELIN函數。
3.4仿真與結果
利用2014年各輸入變量,錄入訓練好的BP神經網絡進行仿真,數據反饋到Netwotk/Date Managet窗口下的Output Date選項中,并將其反歸一化,最終結果3510.8。2014年糧食作物總產量為3490.62萬噸。誤差為0.58%。對于經濟指標,一般認為誤差在4%以內均算作準確,本次預測值遠小于4%,表明利用BP神經網絡對江蘇省糧食作物產量預測是可行的。

表1 2001-2014年影響江蘇省糧食作物產量的主要經濟指標
10.3969/j.issn.1673-0194.2016.13.094
F323.8
A
1673-0194(2016)13-0174-01
2016-04-14