基于BP神经网络的粮食产量预测
来源:用户上传
作者:
摘要:利用江苏省东台市2009-2018年粮食生产相关影响指标数据,建立了基于Back progagation(BP)神经网络的东台市粮食产量预测模型。该模型以粮食种植面积、农药施用量、化肥施用量、农业机械化总动力、农用排灌动力机械5个指标为神经网络输入值,粮食产量为输出值进行预测,结果表明BP神经网络应用于粮食产量预测精度高,在粮食产量预测方面符合客观现实,对政府部门粮食预测具有指导意义。
关键词:BP神经网络;模型;粮食产量预测
东台市农业在市场资源配置中决定性不高、人居产量和消费匹配度还有差距,人口增长和耕地保有量存在结构性矛盾,还需要建立增长点、增长极,增强内生发展动力。面对东台市粮情和生产情况,江苏省东台市坚持粮食生产要稳字当头,稳政策、稳面积、稳产量,坚持“三农”工作优先保障投入,做好粮食产量预测,对决策部门具有现实的指导意义和参照依据。粮食预测产量模型具有多样性、指标性和全面系统性问题,目前已有的诸多预测方法误差相对较大,精度不高。随着人们意识形态的不断提高,农业大数据智能化的逐步应用, Back progagation(BP)神经网络弥补了传统预测和估算方法的缺陷,具有较好的预测特性。本文利用BP神经网络进行粮食产量预测,目的在于精准预测粮食产量,对东台市粮食生产进行前瞻性、可见性预测,更符合东台市粮食生产的实际。
1 东台市粮食产量模型的建立
1.1 神经网络模型工作原理
BP网络是一种按误差正反向互交的网络,包括前端、中端和后端的几层反馈的神经网络,特点就是信号向前不断反复传递,误差后向反复不断传播。在正向传递过程中,输入矢量数据先经过输入层辐射传递到隐含层一步步处理,直到输出层。每一层的输出量只会影响下一层的处理层。如果输出层得不到每一层的预期数据输出,则再转入上一层进行反向传播,在这个过程中不断修正和调整网络权限和阈值,最后的BP神经网络输出的数据预测不断跟真实值相近。一般BP网络必须要求与输入相对应的希望输出构成不断学习训练,通过训练使网络具有记忆和预测的功能。对网络进行初始化后,确定系统输入输出矢量,分别确定网络输入层节点数、隐含层节点数、输出层节点数及输出层、初始化输入层、隐含层和输出层神经元的权限,隐含层及输出层阈值,再给与学习速率和神经元鼓励函数。隐含层输入值,是根据输入向量,输入层和隐含层间连权限以及隐含层阈值来计算。BP神经网络预测输入值,是根据隐含层输入值,连接权限和阈值来计算。最后预测误差根据网络预测输出值和期望输入值计算得出。算法流程如下图1:
1.2 BP神经网络的粮食产量模型参数确定
现实解决问题过程中,目前在该领域利用实验软件,选取大量的计算和試验指标应用神经网络算法。为减少大量的研究和计算的工作量,实验软件提供了神经网络工具箱,在实际解决问题过程中减少了时间,也提供了便利的条件。该模型选取粮食种植面积、农药施用量、化肥施用量、农业机械化总动力、农用排灌动力机械5个指标为神经网络输入值,输出变量为粮食产量,根据模型建立粮食产量BP神经网络模型。BP神经网络在确定了输入量和输出量以后首先进行变量的规范化处理。本文研究采用Sigmoid函数的取值范围为[-1,1],采用 神经网络工具箱中的premnmx专用函数进行规范化处理,然后进行BP神经网络的建立。本文通过三层BP网络隐层节点的数目,可确定隐含层节点数为11,这样就可以构成了一个“5-11-1”的BP神经网络模型。其隐含层及输出层传递函数分别采用双曲正切函数(tansig)及线性函数(purelin),采用进一步割线算法(trainoss)。设置最大迭代次数2000,误差值期望0.01。
2 东台市粮食产量预测与结果分析
东台市位于江苏省中部,盐城市最南端,东至黄海,南与海安县接壤,西与泰州市兴化市毗邻,北与盐城大丰区交界,区域总面积3175.15平方公里。东台市是盐城粮食产量丰富的县级市之一,为盐城成为江苏省最大的农业生产市起到举足轻重的作用,因为,粮食精准预测十分重要,东台市自然资源丰富,但经济发展水平还有一定的差异性,对东台市实际情况做的大量的调查研究后,选取了与粮食产量密切相关的5个指标作为网络的输入值,粮食产量作为输出值[2]。
以2009-2018年的数据为基础,选取2009-2013年5个年份影响因素和粮食产量数据作为训练样本,以2014-2018年的影响因素和粮食产量数据作为检验样本。具体指标数据如表1,数据来源于东台市统计年鉴。
在MATLAB(R2014a)实验环境下,调用BP神经网络工具箱中的函数,进行网络训练与检验。选取了Trainlm函数,学习函数为Learngdm,传递函数Tansig,输出函数设定为Logsig。网络层次设计的参数规定如下:隐含神经元素9个,输出元素1个,学习率0.01,终止参数设最大批次2000次,步长Epochs为1000,精度0.0001层。在以上设计的基础上,编写BP预测网络设计与练习,经过多次验证,取得了较好的预测结果,如下图2所示。
通过10个样本的检验,2008-2017年的预测值与真实值的误差均小于3%,具有高度的精确性,取得了较好的拟合结果。误差稍大的点出现在2015、2016年粮食产量预测数据图形中,在2017年预模型中又适时得到了相应的调整,表现出模型较好的自调剂和自适应的特点,预测结果相对稳定,达到与现实比较后的预期结果。根据此模型可以对未来年份的东台市粮食产量进行预测。再次输入2010-2018年的数据作为样本输入,根据模型预测2019年的粮食产量,仿真结果为64589万吨,国家统计局公布的2019年的东台市粮食产量为64896万吨,数据比对后,二者误差基本可以忽略,表明BP算法对东台市粮食产量的预测是匹配的。
3 结 论
针对东台市粮食产量预测问题,普通统计模型对粮食产量预测准确性不高,将BP神经网络应用于粮食产量预测,精度高,自适应能力好。本文提出了基于BP算法的模型,以2008-2018年东台市粮食产量为检验样本进行检测,结果表明,BP神经网络模型预测数据较稳定,结果得到预期,有着传统方法不可代替的优势。该模型拟合了复杂的非线性系统问题,为东台市粮食产量预测提供了新的有效方法。但本文中还存在不足的地方,没有充分考虑到粮食产量与其他更多影响因素之间的关系,预测方法相对宏观。此外,BP网络算法中还有神经网络收敛慢和容易陷入局部极小值的问题,所以,BP网络算法还有些缺陷,有待进一步优化提高。
参考文献:
[1]刘星,李壮阔,王文辉.基于BP神经网络的化肥供应商选择模型研究[J].湖南农业科学,2007(6):169-170.
[2]朱凯,王正林.精通MATLAB神经网络[M].北京:电子工业出版社,2010:193-198.
转载注明来源:https://www.xzbu.com/1/view-15361693.htm