魏明桦,郑金贵
(1. 福州职业技术学院 计算机系,福建 福州 350007;2. 福建农林大学 品质所,福建 福州 350007)
基于改进BP神经算法的农产品价格预测模型的构建与实现
魏明桦1,2,郑金贵2
(1. 福州职业技术学院 计算机系,福建 福州 350007;2. 福建农林大学 品质所,福建 福州 350007)
为了提高农产品价格预测精度,提出一种改进的BP神经网络模型。先通过定性分析得到影响农产品价格波动的因子,然后采用MIV方法选择强影响力的因子作为神经网络输入节点。并采用改进的算法进行学习,寻找最优的BP网络结构。利用改进后的模型,实现了农产品价格的高精度仿真。
农产品价格;BP神经网络;MIV;变学习率;附加动量
目前,有关农产品价格波动的研究主要集中在对其特征和原因的分析两方面。这些研究认为,农产品价格波动特征复杂,并且未来仍存在很大的不确定性,农产品价格波动的原因,包括能源成本的提高、国际市场的冲击、自然灾害、消费结构升级和生物质能源的发展等[1-5]。并且,实物投资、货币供应数量、自然灾害、国际市场等因素的短期作用,也能对农产品价格带来影响[6-7]。但是,农产品价格与这些因素之间存在复杂的线性、非线性与互动关系,自变量与因变量之间是离散数据,无法用数学公式来表示。因此,必须构建一个能够适应这种特性、反映它们之间关系的模型,从而能够较为准确地预测农产品价格。目前,国内学者对于农产品价格的定量分析有几种方式。比如,刘峰等[8]以白菜月价格数据为例,构建非平稳时间序列ARIMA(p d, q)模型并预测白菜未来的月价格;李艳等[9]通过使用RBF神经网络探究农产品价格与畜牧业、林业与渔业等相关因素的交互关系,都取得了较好的成果。本研究构建农产品价格相关因素数据库,并结合改进的Back Propagation(BP)神经网络建模对农产品价格进行预测。
1.1 BP神经网络
Back Propagation(BP)神经网络由输入层、隐含层和输出层组成,其中隐含层可以有多层。各层神经元之间没有任何连接,仅相邻层神经元之间有单项连接[10]。
BP算法优点较为突出,但是,它也存在一些不足:BP神经网络在处理大量多维数据时,存在网络结构不容易设计,收敛时间长,需要比较多的训练次数等不足;BP神经网络使用的最速下降法来源于非线性规划,它的学习效率不高,收敛速度较慢,主要导致的原因是它使用误差函数的负梯度方向来修改权值;算法容易收敛到局部极小。
针对这些不足,本研究结合了以下几种改进方法来提高基本BP算法的效率。
1. 2 MIV(Mean Impact Value)
BP神经网络中所包含的输入数据是研究者们根据专业知识和经验预先选择好的,数据收集时不可避免的存在一些与输出值相关度较低的干扰变量。本研究使用MIV(Mean Impact Value)方法来对大量的数据变量进行预处理,以去除相关度较低的变量。它的计算过程如下:
(1)在网络训练终止后,将训练样本P中的每一自变量特征在原值的基础上加/减10%构成新的两个训练样本P1和P2;
(2)将P1和P2分别作为仿真样本利用已训练好的网络进行仿真,得到两个仿真结果A1和A2;
(3)求出A1和A2的差值,即为该自变量对输出产生的影响变化值(Impact Value);
(4)最后将IV按照观测例数平均得出该自变量对于因变量—网络输出的MIV。
按照上述步骤依次算出各个自变量的MIV值,MIV值的绝对值大小代表了自变量网络结果的影响程度。通过保留绝对值大的自变量,去掉绝对值小的自变量,就实现了变量的筛选。
1.3 可变学习率算法
BP神经网络有一个重要参数学习率η,其取值范围在0-1。值越大,学习过程的权值修改越大。学习率取值如果太大,会导致权值学习过程的震荡,如果太小,权值学习不容易稳定,直接导致神经网络收敛过慢。可以使用变学习率学习算法来解决取值的问题。它指的是学习率在网络构建初期较大,这时网络收敛速度快,权值趋于稳定;随着学习过程的进行,学习率不断减小,网络震荡变小,趋于稳定。变学习率计算公式为:
式中,ηmax为最大学习率;ηmin为最小学习率;tmax为最大迭代次数;t为当前迭代次数。
结果表明,可变学习率算法对于减少训练次数很有效。
1.4 附加动量方法
传统BP网络容易收敛到局部最小值,收敛速度慢。为避免这种缺陷,可以使用附加动量法修正权值,公式为:
式中:mc称动量因子(MC),取值为0.95左右;wij为第i层到第j层的连接权值。
本研究把BP神经网络同以上改进结合起来,首先使用MIV方法把输入数据降维处理,然后在网络设计训练时结合使用变学习率学习算法和附加动量法,充分发挥它们各自的优点。并通过使用MATLAB编程实现,完成农产品价格的预测研究。
2.1 输入层和输出层设计
(1)数据库建立
根据影响农产品价格的因素,选取相关26项指数作为样本数据。查阅中国统计年鉴,选取1994-2011年共18组数据构建数据库。
(2)使用MIV方法选取强影响因子作为输入项
使用归一化函数mapminmax对数据进行归一化处理,使所有数据都转化为[-1,1]之间的数,消除了数据之间的数量级差别,避免因为输入输出数据之间数量级的差别导致网络预测误差较大。
编程实现MIV神经网络变量筛选。计算出26项指数的MIV值后,最终根据各个指数的MIV值高低,选取值较高的10个指数作为网络的输入项。它们分别是:人均国内生产总值,货币和准货币M2,居民消费水平指数,国内生产资料价格指数,主要农产品人均占有量,燃料和动力类购进价格指数,乡村人口占总人口比例,农作物播种面积(粮食),农产品单位面积产量(粮食),国际农产品价格。
(3)输出项的选择
选取商品零售价格指数(粮食)作为网络的输出项。
2.2 隐含层设计
本研究使用三层BP神经网络,也就是只使用一层隐含层。最佳隐含节点的确定可以根据以下经验公式预估:
式中: m为输入层节点数,n为输出层节点数,a为0-10之间的常数。使用公式确定隐含节点取值范围后,使用试凑法确定最佳的节点数。在本研究中,节点数目选6时,网络预测值的误差最小。
2.3 样本
2.3.1 训练样本
数据库中有1994-2011年共18组数据,我们使用除了1998年和2002年之外的16组数据作为训练样本,来训练改进后的BP神经网络。数据如表1所示。表1中Xi是之前所述的归一化后的10个MIV值较高的指数。Y0是网络输出项商品零售价格指数(粮食)。
2.3.2 预测样本
1994-2011年18组数据,选取1998年和2002年的数据作为验证样本。数据如表2所示。表2中Ti是之前所述的归一化后的10个MIV值较高的指数。Y1是预测项商品零售价格指数(粮食)。
2.4 使用的神经网络函数与结果分析
隐含层决定函数使用函数“tansig”,输出层决定函数使用函数“purelin”,训练函数使用函数“traingdm”。编程实现BP神经网络的搭建、训练与预测。网络预测输出结果如表3所示。
表1 训练样本
表2 预测样本
表3 预测输出结果
通过定性分析,得到了影响农产品价格波动的影响因子,进而建立了影响因子数据库。使用MIV方法对数据库中的数据进行变量筛选,最终选中10个变量作为BP神经网络的输入项,使用商品零售价格指数(粮食)作为网络的输出项,训练后的网络预测误差均小于10%。改进后的BP神经网络模型为农产品价格预测提供了一种有效的预测工具。
[1] 程国强,徐雪高.改革开放以来我国农产品价格波动的回顾[J].重庆工学院学报:社会科学版,2009,23(4):1-3.
[2] 刘勇,王伟,易法海.我国通货膨胀与农产品价格经济增长动态关系分析[J].生态经济,2009(2):61-65.
[3] 李敬辉,范志勇.利率调整和通货膨胀预期对大宗商品价格波动的影响基于中国市场粮价和通货膨胀关系的经验研究[J].经济研究,2005(6):61-68.
[4] 姜长云,张晓敏.近年来我国农产品成本变化的特点原因及趋势分析[J].经济研究参考,2009(58):9-28.
[5] 黄季煜,仇焕广,Michielk,等.发展生物燃料乙醇对我国区域农业发展的影响分析[J].经济学,2009,8(2):727-742.
[6] 张文军,投资对农产品价格波动的传导机制探究[J].厦门理工学院学报,2011,19(3):90-94.
[7] 王超,鲍锋,新一轮农产品价格波动的成因及对策[M].经济纵横,2011(4):38-41.
[8] 刘峰,王儒敬,李传席.ARIMA模型在农产品价格预测中的应用[J].计算机工程与应用,2009(25):238-239,248.
[9] 李艳,刘军,农产品价格预测系统设计与实现[M].湖北农业科学,2011,50(14):2976-2978.
[10] 罗晓曙.人工神经网络理论[M].桂林:广西师范大学出版社,2005:31-32.
(责任编辑、校对:田敬军)
The Construction and Implementation of the Prediction Model of Agricultural Product’s Price Based on the Improved BP Neural Network
WEI Ming-hua1,2, ZHENG Jin-gui2
(1. Computer Department, Fuzhou Polytechnic, Fuzhou 350007, China; 2. Agricultural Product Quality Institute, Fujian Agriculture and Forestry University, Fuzhou 350007, China)
An improved BP neural network model is proposed to improve the precision of the prediction of agricultural products. Firstly, the factors of price fluctuation of agricultural products are gotten through the qualitative analysis and then use the MIV method to choose the strong influent factors as the input nodes of a neural network. Find the optimal structure of BP network through the improved learning algorithm, and then use the improved model to realize the agricultural high precision simulation of the product price.
price of agricultural products; BP neural network; MIV; variable learning rate; momentum back propagation
TP389.1
A
1009-9115(2014)02-0066-03
10.3969/j.issn.1009-9115.2014.02.019
农业部948项目(2012-z30)
2013-09-29
魏明桦(1980-),男,福建福州人,博士研究生,讲师,研究方向为网络技术、神经网络。