张成才+陈少丹
摘要:利用河南省1996-2011年粮食生产相关影响因素指标数据,建立了基于BP神经网络的河南省粮食产量的预测模型。该模型以播种面积、农田有效灌溉面积、农用机械总动力、化肥施用量、农药施用量5个指标为网络的输入值,粮食产量为输出值进行网络训练。预测结果表明,最大预测误差小于2%,说明BP网络模型具有较高的预测精度和稳定性,可为粮食产量预测提供一种新途径。
关键词:BP神经网络;粮食产量;预测;河南省
中图分类号:Q815文献标识码:A文章编号:0439-8114(2014)08-1969-03
Application of BP Neural Network in Predicting Grain Yield of Henan Province
ZHANG Cheng-cai,CHEN Shao-dan
(College of Water Conservancy & Environmental Engineering, Zhengzhou University, Zhengzhou 450001,China)
Abstract: The data of factors affecting food production of Henan province from 1996 to 2011 were used to forecast the grain yield by back propagation neural network. The prediction model of grain yield of Henan province was set up based on BP neural network. The model used 5 indicators including sown area, the effective irrigation area, the total power of agricultural machinery, the consumption of chemical fertilizer and the amount of pesticide application as the network input value, and grain yield as the output to do the network training. The prediction results showed that the maximum prediction error was less than 2%, indicating that the model had high accuracy and stability of prediction and would provide a new way for predicting grain yield.
Key words: BP neural network;grain yield;prediction;Henan province
农业是国民经济的基础,粮食生产对于社会、经济的稳定具有重要作用,粮食产量的准确预测可以为科学决策提供依据,从而保证国家的粮食安全[1]。影响粮食产量的因素众多,是一个非线性系统,传统的预测方法对其进行预测会受到很大的影响和制约。近年来,人工神经网络强大的非线性映射能力使其在各类预测研究中得到了广泛应用,取得了令人满意的效果。本研究以人工神经网络为基础,将BP神经网络应用到河南省粮食产量的预测研究中,建立了基于BP神经网络的河南省粮食产量预测模型。对影响河南省粮食产量的诸多因素进行分析,选取了主要影响因素指标。然后用该模型进行网络预测分析,以期提高河南省粮食产量预测精度,为相关部门制定合理政策和采取相应措施提供理论依据。
1BP神经网络
1.1BP神经网络算法
BP神经网络是目前神经网络中应用最广泛的网络模型,其突出的特点是具有很强的非线性映射能力。Kolmogorov从理论上已经证明,具有一个隐层的神经网络能够以任意精度表示任意连续函数。BP神经网络学习算法过程包括信号的正向传播和误差的反向传播[2]。对于输入信号,先向前传播到隐含层,经过作用函数后,再把隐含层的输出信息传播到输出层;若输出层的实际输出与期望输出不符,则转入误差的反向传播,将误差信号沿原来通路返回,通过修改各层神经元的权值,使得误差信号最小[3]。作用函数通常采用S型函数,常用的激活作用函数f(x)为可导的Sigmoid函数,f(x)=■;BP神经网络通常使用的误差函数是均方差,其定义为E■=■■■(y■-o■)■,式中,E■是第k个输出响应矢量的误差,y■是第j个输出神经元的期望值,o■是第j个输出神经元的实际值。
1.2BP神经网络的粮食预测模型设计
在应用BP神经网络解决实际问题的过程中,神经网络结构参数、训练算法和因素指标的选取都只有通过大量的试验和计算获得,这就加大了研究与计算的工作量。目前该领域较为流行的Matlab软件中,提供了现成的神经网络工具箱,为解决该问题提供了有利的条件。
Matlab神经网络工具箱提供了建立神经网络的专用函数newff(),然后进行BP神经网络的建立。三层BP网络隐层节点数目的确定是模型建立成败的关键,本研究根据2n+1的经验方法来确定隐层节点数。把样本分成训练样本和测试样本,用测试样本检验和修正网络,然后根据结果通过逐步增加或减少隐层节点数量来调整网络[4]。隐层节点确定之后进行网络的训练与检验,如果误差在合理的范围内,就可以用来进行预测研究。
2河南省粮食产量预测
2.1河南粮食产量影响因素的选取
河南省农业发展历史悠久,是我国粮食主产区之一,稳定和不断提高河南省粮食产量对我国粮食安全和经济发展的影响举足轻重,因此,粮食产量的准确预测可以为科学决策提供依据。由于自然资源、经济发展水平的差异,中国各地区在影响粮食生产的因素方面存在区域差异,河南省粮食产量影响因素错综复杂。根据粮食产量因素分析的相关文献以及河南省实际情况[5,6]做了大量的调查研究后,选取与河南省粮食产量密切相关的播种面积、农田有效灌溉面积、农用机械总动力、化肥施用量和农药施用量5个指标作为网络的输入值,粮食产量作为网络的输出值。
以1996-2011年的数据为基础,将样本数据分为两个部分,训练部分和检验部分。选择1996-2006年11个年份影响因素和粮食产量数据作为学习样本,以2007-2011年的影响因素和粮食产量数据作为检测样本。具体指标数据见表1,数据来源于河南统计年鉴。
2.2BP神经网络模型预测
取输入层数据的维数为5,因而网络的输入节点数确定为5。输出层的维数可根据使用者的要求自行确定,在本研究选取输出层的维数为1。隐含层拟根据2n+1的经验方法选11个节点。在此基础上不断增加和减少隐层节点数,筛选确定隐层节点数取10为满意选择[7]。输出层为1个结点,为当年的粮食产量,即网络初始结构为5·10·1。
为便于训练,更好地反映各因素之间的相互关系,在网络学习过程中要对样本数据进行归一化处理。如果各输入值未进行预处理变换,取值范围大的数据项所取得的权值一般要超过取值范围小的数据项所取得的权值,这样就会造成非线性映射的失真。本研究在训练网络之前,将输入输出样本用以下公式进行归一化处理[8]。
X′■=■
式中, X■、X■分别为第i个神经元各输入分量的最大值和最小值;X■、X′■分别为第i个神经元预处理前后的输入分量。
2.3预测结果与分析
在MATLAB 7.1环境下,调用BP神经网络工具箱中的函数,进行网络训练与检验。训练函数经过训练比较,最终选定Trainlm,学习函数设为Learngdm(网络默认),隐层传递函数设为Tansig,输出层传递函数设为Logsig[9]。网络设计的参数为:隐含层神经元10个,输出层神经元1个,学习率0.01。网络训练的终止参数为:最大训练批次1 000次初始化网络的训练步长Epochs值为1 000,精度值为0.000 01层。
在以上分析的基础上,编写程序实现BP预测网络的结构设计与训练,并运用其进行预测及结果比较,经过多次验证,取得了较好的预测效果。预测结果及检验结果如图1所示,误差率如图2所示,经过12次训练后,网络的目标误差达到要求,为7.776 26e-011。检验样本预测值与真实值的结果见表2。
由表2可以看出,通过5年样本的检验,2007-2011年的预测精度分别达到99.73%、98.65%、99.50%、99.86%、99.78%,预测值与真实值的误差率都小于2%,具有相当高的精度,这样的网络结构便获得了较好的拟合效果。结果表明,利用BP神经网络对河南省粮食产量进行预测是可行的,且与传统预测方法相比,预测精度有了显著改善。
3结语
人工神经网络BP模型能自主地从训练实例中学习,建立自变量与因变量之间的非线性映射关系[10]。将BP神经网络应用到河南省粮食产量的预测研究中,建立了基于BP神经网络的河南省粮食产量预测模型。并以河南省粮食产量的相关数据为基础,对2007-2011年的河南省粮食产量进行了预测。研究结果表明,基于BP神经网络的河南省粮食产量预测模型一种有效、拟合精度高的粮食产量预测方法。
但BP神经网络是一个非线性优化问题,因此不可避免地存在局部极小值问题。对于网络隐含层节点数的选取,目前尚无理论指导,只能根据经验来选取。因此,要想较好地运用BP神经网络来进行粮食产量预测,需要进一步对其加以完善。
参考文献:
[1] 向昌盛,张林峰.灰色理论和马尔可夫相融合的粮食产量预测模型[J].计算机科学,2013(2):245-248.
[2] 王晓萍,孙继洋,金鑫.基于BP神经网络的钱塘江水质指标的预测[J].浙江大学学报(工学版),2007,41(2):361-364.
[3] 郑重,马富裕,李江全,等.基于BP神经网络的农田蒸散量预报模型[J].水利学报,2008(2):230-234.
[4] 闫建波.基于BP神经网络的灰色预测模型[D].西安:西安理工大学,2009.
[5] 李瑞华,李明秋.河南省粮食产量影响因素分析[J].广东农业科学,2009(7):323-325.
[6] 王慧.影响河南粮食产量的因子分析与发展对策[J].农业经济,2008(8):45-47.
[7] 李存军,邓红霞,朱兵,等.BP神经网络预测日径流序列的数据适应性分析[J].四川大学学报(工程科学版),2007(2):25-29.
[8] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北农业大学,2011.
[9] 赵姚阳,濮励杰,胡晓添.BP神经网络在城市建成区面积预测中的应用——以江苏省为例[J].长江流域资源与环境,2006,15(1):14-18.
[10] 禹建丽,黎娅.基于人工神经网络的粮食产量预测模型[J].河南农业科学,2005(7):44-46.
X′■=■
式中, X■、X■分别为第i个神经元各输入分量的最大值和最小值;X■、X′■分别为第i个神经元预处理前后的输入分量。
2.3预测结果与分析
在MATLAB 7.1环境下,调用BP神经网络工具箱中的函数,进行网络训练与检验。训练函数经过训练比较,最终选定Trainlm,学习函数设为Learngdm(网络默认),隐层传递函数设为Tansig,输出层传递函数设为Logsig[9]。网络设计的参数为:隐含层神经元10个,输出层神经元1个,学习率0.01。网络训练的终止参数为:最大训练批次1 000次初始化网络的训练步长Epochs值为1 000,精度值为0.000 01层。
在以上分析的基础上,编写程序实现BP预测网络的结构设计与训练,并运用其进行预测及结果比较,经过多次验证,取得了较好的预测效果。预测结果及检验结果如图1所示,误差率如图2所示,经过12次训练后,网络的目标误差达到要求,为7.776 26e-011。检验样本预测值与真实值的结果见表2。
由表2可以看出,通过5年样本的检验,2007-2011年的预测精度分别达到99.73%、98.65%、99.50%、99.86%、99.78%,预测值与真实值的误差率都小于2%,具有相当高的精度,这样的网络结构便获得了较好的拟合效果。结果表明,利用BP神经网络对河南省粮食产量进行预测是可行的,且与传统预测方法相比,预测精度有了显著改善。
3结语
人工神经网络BP模型能自主地从训练实例中学习,建立自变量与因变量之间的非线性映射关系[10]。将BP神经网络应用到河南省粮食产量的预测研究中,建立了基于BP神经网络的河南省粮食产量预测模型。并以河南省粮食产量的相关数据为基础,对2007-2011年的河南省粮食产量进行了预测。研究结果表明,基于BP神经网络的河南省粮食产量预测模型一种有效、拟合精度高的粮食产量预测方法。
但BP神经网络是一个非线性优化问题,因此不可避免地存在局部极小值问题。对于网络隐含层节点数的选取,目前尚无理论指导,只能根据经验来选取。因此,要想较好地运用BP神经网络来进行粮食产量预测,需要进一步对其加以完善。
参考文献:
[1] 向昌盛,张林峰.灰色理论和马尔可夫相融合的粮食产量预测模型[J].计算机科学,2013(2):245-248.
[2] 王晓萍,孙继洋,金鑫.基于BP神经网络的钱塘江水质指标的预测[J].浙江大学学报(工学版),2007,41(2):361-364.
[3] 郑重,马富裕,李江全,等.基于BP神经网络的农田蒸散量预报模型[J].水利学报,2008(2):230-234.
[4] 闫建波.基于BP神经网络的灰色预测模型[D].西安:西安理工大学,2009.
[5] 李瑞华,李明秋.河南省粮食产量影响因素分析[J].广东农业科学,2009(7):323-325.
[6] 王慧.影响河南粮食产量的因子分析与发展对策[J].农业经济,2008(8):45-47.
[7] 李存军,邓红霞,朱兵,等.BP神经网络预测日径流序列的数据适应性分析[J].四川大学学报(工程科学版),2007(2):25-29.
[8] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北农业大学,2011.
[9] 赵姚阳,濮励杰,胡晓添.BP神经网络在城市建成区面积预测中的应用——以江苏省为例[J].长江流域资源与环境,2006,15(1):14-18.
[10] 禹建丽,黎娅.基于人工神经网络的粮食产量预测模型[J].河南农业科学,2005(7):44-46.
X′■=■
式中, X■、X■分别为第i个神经元各输入分量的最大值和最小值;X■、X′■分别为第i个神经元预处理前后的输入分量。
2.3预测结果与分析
在MATLAB 7.1环境下,调用BP神经网络工具箱中的函数,进行网络训练与检验。训练函数经过训练比较,最终选定Trainlm,学习函数设为Learngdm(网络默认),隐层传递函数设为Tansig,输出层传递函数设为Logsig[9]。网络设计的参数为:隐含层神经元10个,输出层神经元1个,学习率0.01。网络训练的终止参数为:最大训练批次1 000次初始化网络的训练步长Epochs值为1 000,精度值为0.000 01层。
在以上分析的基础上,编写程序实现BP预测网络的结构设计与训练,并运用其进行预测及结果比较,经过多次验证,取得了较好的预测效果。预测结果及检验结果如图1所示,误差率如图2所示,经过12次训练后,网络的目标误差达到要求,为7.776 26e-011。检验样本预测值与真实值的结果见表2。
由表2可以看出,通过5年样本的检验,2007-2011年的预测精度分别达到99.73%、98.65%、99.50%、99.86%、99.78%,预测值与真实值的误差率都小于2%,具有相当高的精度,这样的网络结构便获得了较好的拟合效果。结果表明,利用BP神经网络对河南省粮食产量进行预测是可行的,且与传统预测方法相比,预测精度有了显著改善。
3结语
人工神经网络BP模型能自主地从训练实例中学习,建立自变量与因变量之间的非线性映射关系[10]。将BP神经网络应用到河南省粮食产量的预测研究中,建立了基于BP神经网络的河南省粮食产量预测模型。并以河南省粮食产量的相关数据为基础,对2007-2011年的河南省粮食产量进行了预测。研究结果表明,基于BP神经网络的河南省粮食产量预测模型一种有效、拟合精度高的粮食产量预测方法。
但BP神经网络是一个非线性优化问题,因此不可避免地存在局部极小值问题。对于网络隐含层节点数的选取,目前尚无理论指导,只能根据经验来选取。因此,要想较好地运用BP神经网络来进行粮食产量预测,需要进一步对其加以完善。
参考文献:
[1] 向昌盛,张林峰.灰色理论和马尔可夫相融合的粮食产量预测模型[J].计算机科学,2013(2):245-248.
[2] 王晓萍,孙继洋,金鑫.基于BP神经网络的钱塘江水质指标的预测[J].浙江大学学报(工学版),2007,41(2):361-364.
[3] 郑重,马富裕,李江全,等.基于BP神经网络的农田蒸散量预报模型[J].水利学报,2008(2):230-234.
[4] 闫建波.基于BP神经网络的灰色预测模型[D].西安:西安理工大学,2009.
[5] 李瑞华,李明秋.河南省粮食产量影响因素分析[J].广东农业科学,2009(7):323-325.
[6] 王慧.影响河南粮食产量的因子分析与发展对策[J].农业经济,2008(8):45-47.
[7] 李存军,邓红霞,朱兵,等.BP神经网络预测日径流序列的数据适应性分析[J].四川大学学报(工程科学版),2007(2):25-29.
[8] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北农业大学,2011.
[9] 赵姚阳,濮励杰,胡晓添.BP神经网络在城市建成区面积预测中的应用——以江苏省为例[J].长江流域资源与环境,2006,15(1):14-18.
[10] 禹建丽,黎娅.基于人工神经网络的粮食产量预测模型[J].河南农业科学,2005(7):44-46.