基于Matlab―nntool的BP神经网络在江苏省粮食作物产量预测中的应用 下载本文

内容发布更新时间 : 2024/9/28 19:27:49星期一 下面是文章的全部内容请认真阅读。

基于Matlab―nntool的BP神经网络在江苏省粮食作

物产量预测中的应用

[摘 要] 本文基于BP神经网络理论对2014年江苏省粮食作物产量进行仿真,仿真结果为3510.8万吨。与实际产量相比误差为0.58%,实验结果证明了利用BP神经网络对江苏省粮食作物产量预测是可行的,具有一定的应用价值。

[关键词] Matlab;BP神经网络;粮食作物 doi : 10 . 3969 / j . issn . 1673 - 0194 . 2016. 13. 094

[中图分类号] F323.8 [文献标识码] A [文章编号] 1673 - 0194(2016)13- 0174- 01 1 BP神经网络

BP神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,它是一种按误差逆传播算法训练的多层前馈网络,是一种具有三层以上(包括三层)的神经网络,包括输入层、隐含层,和输出层。各层之间实现全连接,而各层的神经元之间没有直接连接。

2 BP神经网络在Matlab中的实现

实现BP神经网络在Matlab中运行,首先需要对数据进行归一化处理,然后建立神经网络(即newff函数),接着进行网络训练即(train函数),并根据训练结果,输入测试数据进行仿真即(sim函数),最后将数据进行反归一化处理。传统模式下,以上过程都需依靠编写程序代码来实现,专业性强,且容易出错。因此在较新版本的matlab下设置了Neural Network Toolbox,可在窗口化的界面进行神经网络的创建、训练与预测,简化了操作,本文即采取此方法进行分析。 3 基于matlab和BP神经网络的江苏省粮食作物产量预测

3.1 指标说明与节点选取

选取影响江苏省粮食作物产量的5个因素作为输入变量,分别为粮食作物播种面积(千公顷)、农村劳动力(万人)、农业机械总动力(万千瓦)、农村用电量(亿千瓦时)、化肥施用量(万吨),输出变量为粮食作物总产量(万吨),数据来源于2003-2015年江苏省统计年鉴。数据如下表所示。

相应的,输入节点数和输出节点数分别为5和1,隐含层的节点数则运用以下公式计算: 3.2 数据的归一化处理 3.3 创建与训练网络

取2001-2013年数据作为学习样本,2014年数据为验证数据利用Matlab的nntool命令,打开工具箱,录入输入、输出数据,创建网络。本文采取三层BP网络,训练函数经过大量试验,最终确定为收敛快、误差小的TRAINLM函数,隐含层激活函数选取TANSIG函数,输出层激活函数选择PURELIN函数。 3.4 仿真与结果

利用2014年各输入变量,录入训练好的BP神经网络进行仿真,数据反馈到Network/Date Manager窗口下的Output Date选项中,并将其反归一化,最终结果3510.8。2014年粮食作物总产量为3490.62万吨。误差为0.58%。对于经济指标,一般认为误差在4%以内均算作准确,本次预测值远小于4%,表明利用BP神经网络对江苏省粮食作物产量预测是可行的。