柴俊伟,陈金车,苏士翔,张 鑫
(1.兰州理工大学 电气工程与信息工程学院,甘肃 兰州 730050;2.兰州大学 大气科学学院,甘肃 兰州 730000)
我国作为一个农业大国,农业的发展对民生的改善极为重要。农业发展的好坏取决于很多因素,如:环境、耕地、人力、原材料,还有政府的政策等。其中农业原材料是很重要的一方面,农业原材料是指农业企业在生产过程中经加工改变其形态或性质并构成产品主要实体的各种原料及主要材料、辅助材料,以种植业为例,种植业的农业原材料包括种子、种苗、肥料、地膜、拌种农药等等。要想农业飞速发展,实现致富,对于农业原材料价格的发展趋势的了解就十分重要。因此,如果能够通过某种方法对它进行预测就很有意义[1]。其实对于一些原材料的价格走向,一些经验丰富的农民都有自己的一套判断方式,但这种方法更多的是依靠经验、感觉来判断的,具有不确定性。价格预测是依据市场经济规律,运用科学的方法,对未来价格的变动趋势所进行的分析和判断[2],因此建立一种科学有效的预测价格方法是极其重要的。
近年来,机器学习算法飞速发展,这些算法具有自动化、高效率、可塑性和普适性强等优点,可以通过学习从数据的获得规律并且使用这些规律来对新的数据进行分类和预测。如今一些回归预测能力较强的机器学习算法已经运用于一些农产品价格预测[3],具有代表性的有贝叶斯算法、人工神经网络算法(ANN,Artificial Neural Network)、随机森林算法(RF,Random forest)以及支持向量机算法(SVM,Support Vector Machine)等。机器学习作为人工智能的一大核心技术,近些年在农产品价格预测上已经取得了许多成果。段青玲等人建立了基于时间序列遗传优化(genetic algorithm,GA)支持向量回归(support vector regression,SVR)的水产品价格预测模型,该模型预测精度较高,为水产价格的预测提供了可行的方法[4];张顺利等人针对苹果价格数据随时间变化的非平稳性、季节性和周期性特征,提出一种基于长短期记忆网络(Long-short Term Memory,LSTM)的神经网络价格预测模型,该模型既没有损失细节信息,也没有损失整体趋势的价格信息,提高了预测价格的准确度[5]。
在众多深度学习算法中BP神经网络的非线性能力强、具有高度自学习和自适应能力,还具有将学习成果应用于新知识的能力,而且容错能力强等优点,鉴于以上优点,用BP神经网络建立农作物原材料价格预测模型具有良好的效果[6-7]。因此,本文引入BP神经网络建立4种常见农业原材料的价格预测模型,以过去5个月的历史价格数据作为自变量输入模型对农业原材料的价格进行了预测,从而达到更精确预测农业原材料价格的目的,给政府部门制定种植制度和合理规划农业生产提供参考。
农业原材料价格数据来源于和鲸社区官方网站,包括粗羊毛、细羊毛、椰干和棉花4种常见农业原材料的逐月平均价格数据,时间段为1990年4月至2017年6月,时间间隔为每个月一次。采用邻域平均的方法将残缺的价格数据进行补齐。
BP神经网络[9]是目前使用范围最为广泛的一种人工神经网络模型,在这种人工神经网络模型中,误差是反向传播的。本文以1990年4月至2017年6月的农业原材料价格数据为基础,选取了1990年4月至2009年2月的数据用来训练模型,2009年3月至2017年6月的数据用来进行农业原材料价格的测试,共计222条训练数据,100条测试数据。用平均绝对误差(MAE)和均方根误差(RMSE)来检验农业原材料价格的预测效果,其计算方法如公式(1)和(2)所示,预测准确率的计算公式如公式(3)所示。其中,Pi为预测价格,pi为真实价格。
构建预测模型时,前222条数据用于训练,后100条数据用于测试。基于BP神经网络的农业原材料价格预测模型构建流程如图1所示。
图1 BP神经网络预测模型构建流程
用待预测月前5个月某种农业原材料价格的历史数据作为输入变量,该月份的该农业原材料价格数据作为输出变量。分别构建粗羊毛、细羊毛、椰干和棉花4种常见农业原材料的价格预测模型。输入层的节点数为5,输出层的节点数为1。经反复试验,确定粗羊毛价格预测模型的中间层节点数为8,细羊毛价格预测模型的中间层节点数为10,椰干价格预测模型和棉花价格预测模型的中间层节点数分别为11和9。
图2a-d分别表示粗羊毛、细羊毛、椰干和棉花4种常见农业原材料价格预测值与真实值随时间的变化。从图中可以看出,粗羊毛、细羊毛、椰干和棉花价格预测值的曲线都能较好地反映真实值的变化趋势和走向,预测值和真实值较为接近。
图2 农业原材料价格的预测值和真实值对比
农业原材料价格预测结果的误差分布如表1所示,4种农业原材料价格预测的误差都较小,预测准确率都可以达到90%以上。其中棉花价格的预测准确率最高,为94.63%;椰干价格的预测准确率最低,为90.67%。BP神经网络对农业原材料价格预测方面有较强的泛化能力。
表1 农业原材料价格预测结果的误差分析
本文利用BP神经网络对4种常见农业原材料的价格进行了预测,并对预测结果的误差进行了检验,评价该模型的预测性能。
(1)对于农业原材料价格的预测而言,BP神经网络预测结果的预测值与真实值之间有良好的线性对应关系,因此将BP神经网络应用于农业原材料价格的预测是可行的。
(2)棉花价格的预测准确率最高,为94.63%,粗羊毛和细羊毛紧随其后,椰干价格的预测准确率最低,为90.67%,这可能与椰干价格的波动幅度较大有关。