资源描述:
《灌溉发展需求预测人工神经网络模型的建立与应用.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、灌溉发展需求预测人工神经网络模型的建立与应用摘要:本文将计算机人工神经网络理论首次引入灌溉宏观发展战略研究领域,以各“五年”计划期末全国粮食总产与影响因子集为训练样本,建立了灌溉发展需求预测人工神经网络模型;从建国以来40多年的时间序列中,任选5个年份的相应参数作为校核样本,对所建模型进行了校核;根据今后我国人口增长与粮食需求发展趋势,利用模型对未来30年全国的灌溉面积发展需求进行了预测;分析了预测结果,提出了发展对策.其成果对制定全国灌溉宏观发展战略与政策措施,确保未来30年中国粮食与经济安全具有十分重要的参
2、考意义.关键词:灌溉人工神经网络预测粮食发展需求计算机 近年来国内外兴起的人工神经网络研究方法能对信息进行大规模并行处理;具有很强的鲁棒性和容错性;善于联想、概括、类比和推理;而且具有很强的自学习能力,善于从大量统计资料中分析提取宏观统计规律,很适合灌溉宏观发展战略的定量研究.因此,本文引入人工神经网络原理,来建立全国粮食总产与影响因子间的定量关系模型.1 模型的建立 在其它条件不变的情况下,粮食总产主要取决于播种面积、灌溉面积、农田成灾面积、渍涝盐碱地面积、粮食价格、良种覆盖率、化肥使用量、科技贡献率8个
3、主要因素.为确定粮食总产与影响因子间的定量关系,根据人工神经网络基本原理,设计相应的神经网络: 网络共分四层,一个输入层,二个隐含层,一个输出层.输入层8个节点,输出层1个节点. 令Qm,Hi,Wj,O分别为第1、2、3、4层的输出;Ui,Vj,S分别为第2、3、4层的输入;Aim,Bji,Cj分别为第1~2层,2~3层,和3~4层单元的连接权值;Xi,Yj,Z分别为第2、3、4层单元的偏置值;Di,Jj,G分别为第2、3、4层的误差信号. 设有L个学习样本(Q1,T1),(Q2,T2),……,(Ql,T
4、l)定义误差函数:22(1) 式中Tk,Ok分别表示样本k时网络的期望输出和实际输出值. 根据人工神经网络BP算法基本原理,采用逐次修正法,用FORTAIN5.0编制模型源程序. 模型计算步骤如下: 1.网络初始化 取学习步长α=0.1,冲量因子β=0.1,最大学习误差E=0.00012, 令权值Aim=Bji=Cj=0.65 (i=1,2,…,8;j=1,2,…,8;m=1,2,…,8) 置偏值Xi=Yj=Z=0.35 (i=1,2,…,8;j=1,2,…,8) 令样本输入值=输入层输
5、出值(Qm),(m=1,2,…,8) 2.计算各层输入与输出第二层:(i=1,2,…,8)(2)Hi=f(Ui)(3)式中:f为Sigmoid函数22第三层:(j=1,2,…,8)(4)Wj=f(Vj)(5)第四层:(6)O=f(s) (7) 3.计算各层误差信号G=(O-T)·O·(1-O)(8)22Fj=G·Cj·Wj(1-Wj)(9)(10) 4.修改各层权值Cj=Cj+αG·Wj(11)Bji=Bji+αFjHi(12)22Aim=Aim+αDi·Dm(13) 5.修改各层偏置值E=E+βG
6、(14)Yj=Yj+βFj(15)Xi=Xi+βDi(16) 6.输入下一样本 7.学习样本结束,更新学习次数 8.如果E<0.00012,学习结束.2 模型的训练 分别以建国以来各“五年”计划期末粮食总产与对应的8个影响因素值为训练样本的期望输出和样本输入来训练模型.根据有关农业、水利统计资料,查得相关年参数如表1所示.表1 模型训练参数年代粮食产量22亿吨播种面积亿亩灌溉面积亿亩良种覆盖率%农田受灾22万亩渍涝盐碱地亿亩粮食价格元/吨化肥用量万吨科技贡献率%19521.6392218.5972
7、.904100.624138.47.8519571.95120.0454.109202.2474.116237.3619621.618.2434.455302.5014.119063719651.94517.9444.80640221.6834.21229.2194.2819702.417.895.4500.4944.21270351.2919752.84518.1596.918601.5064.371310536.21019803.20617.5857.331803.3484.584360.61269.415
8、19853.79116.3277.1962223.4064.785416.11775.82019904.46217.027.26802.6734.86802590.32519954.66616.5097.368854.954.914803592.230 为消除量纲影响,对表1中原始数据做如下标准化处理: 1.影响因子数据处理 设影响因子值为Xij(i=1,2,…,8;j=1,2,