APP下载

基于深度学习的大蒜价格预测研究

2023-07-05胡彦军张平川尚峥王慧敏乔永峰

关键词:大蒜神经网络价格

胡彦军,张平川,尚峥,王慧敏,乔永峰

(1.河南科技学院信息工程学院,河南新乡453003;2.郑州电力职业技术学院信息工程学院,河南 郑州451450)

农产品价格的波动会导致其他相关产品出现不同程度的价格波动,从而影响市场经济的运行[1].在近期农产品价格波动中,不但大宗农产品价格有整体波动,而且大蒜、绿豆、生姜等小农产品价格也有显著波动.大蒜价格的波动受到种植面积、种植成本、市场需求、资本操控、政策、自然灾害、舆论等许多因素的影响[2].近年来我国大蒜价格多次经历剧烈波动,这种波动严重扰乱了市场预期,不但影响了行业从业者的利益,造成大蒜市场秩序混乱,甚至导致社会动荡[3].为此,许多学者对大蒜等小农产品价格预测进行了研究并取得了许多有价值的成果.

王宝佳等[4]采用ARIMA 模型对月度大蒜价格进行预测,实验结果表明该模型对大蒜价格的短期预测有一定的效果.郭峰等[5]将GARCH 模型应用于大蒜价格分析预测领域,发现序列呈现尖峰厚尾、波动聚集、异方差等特征.以上文献表明,可以经过捕获价格波动特征来实现大蒜价格预测,但上述文献[4-5]使用的是传统计量经济学方法虽然可以有效处理价格序列的线性特征关系,但面对突发情况造成的非线性序列特征时,容易出现预测性能不稳定的问题.

近年来,随着人工智能技术的广泛应用,机器学习被大量应用到复杂非线性关系的农产品预测中.Jha 等[6]利用时间延迟神经网络(TDNN)和ARIMA 模型对油菜籽进行价格预测比较,发现TDNN 具有更高的预测准确率.Li 等[7]开发了一个混沌神经网络用于预测每周的鸡蛋价格,实验表明混沌神经网络比ARIMA 具有更好的非线性拟合能力和更高的预测准确率.Hemageetha 等开发了一种反向传播神经网络(BPNN)能较好地预测番茄价格.

由于浅层神经网络很难有效表达复杂的非线性函数[8],于是深度学习被广泛应用于农产品价格预测中.Weng 等[9]提出了一种基于RNN 的短期黄瓜预测方法,实验结果显示RNN 的预测效果优于BPNN 和ARIMA.Jaiswal 等[10]开发了一种DLSTM网络模型,该网络模型在非线性价格序列的预测精度和方向变化方面优于传统的神经网络模型和ATIMA 模型.Banerjee 等[11]提出用LSTM 来预测蔬菜价格,发现LSTM 在长期和短期蔬菜价格预测方面优于各种采用传统统计方法和机器学习方法的模型.Yeong 等[12]提出了一种基于双输入注意力机制的LSTM 模型来预测韩国卷心菜和萝卜的每月价格,实现了较好的预测效果.

综上所述,基于机器学习和深度学习的小农产品价格有着丰富的研究基础,有些研究取得了不错的价格预测效果.对大蒜价格的研究主要停留在计量经济模型上,使用机器学习和深度学习的农产品价格预测目前很少涉及大蒜这一波动性极强的小农产品上.上述研究建立了一定的市场预测指标体系,探索了小农产品价格预测的研究方法.

大蒜由于社会需求量限制造成市场较小,没有形成正规的期货交易体系,存在市场交易数据分散、数据量较少等因素.这些因素决定了不能使用传统的价格预测体系进行价格预测.决定大蒜价格的因素繁多,主要有大蒜的产量、市场需求、市场库存量、资本热钱的进入、自然灾害、国家政策、蒜农惜售心理预期等多种因素[13].大蒜价格具有非线性、非平稳的特点,如果采用指标过多易产生维数冗余问题,形成维数灾难.本文基于大蒜时间序列价格数据,结合大蒜库存量、产量、自然灾害等其他随机因素,提出了一种基于注意力机制的门控逻辑单元神经网络模型Attention-GRU,用于大蒜短期价格预测,实验结果表明本文提出的Attention-GRU 网络模型具有较高的预测准确度和较低的预测误差.

1 模型构建

本部分内容介绍了大蒜价格数据的来源、数据的处理及改进的GRU 神经网络.

1.1 数据来源

本文大蒜价格数据来源于国际大蒜贸易网和蒜易通等大蒜交易平台,通过对山东、河南、江苏3 个大蒜主产区2019—2022 年3 年每天的大蒜批发价格进行平均加权重处理得出全国大蒜平均批发价格.以天为单位共获得1096 个大蒜价格的时间序列数据,加上3 年的市场库存量数据,以这两项数据为主要训练数据.同时将这3 年的大蒜产量、自然灾害进行无单位量化,作为训练扰动数据.

大蒜产量量化,以上年全国大蒜产量为基础,上年产量减去当年产量的差值除以上年产量所得值为扰动因素值.

自然灾害量化分为两部分。第一,将自然灾害影响大蒜产量强弱分为6 个等级.0 级表示自然灾害不影响大蒜产量, 其值为1;1 级表示自然灾害使大蒜产量降低20%, 其值取0.8;5 级表示自然灾害使大蒜产量降低100%;其值取0.第二,根据自然灾害影响,大蒜产量的面积除以当年全国大蒜的种植面积.将这两项数值相乘作为大蒜价格在自然灾害发生后当时的大蒜价格扰动因素值,从而实现了自然灾害对大蒜价格扰动的量化.

1.2 Attenion-GRU 神经网络模型

为精准预测大蒜价格,本文提出了Attenion-GRU 神经网络模型.首先,根据大蒜的历史价格和大蒜库存量时间序列,利用Attention 机制放大大蒜价格有价值特征;然后,利用GRU 神经网络提取价格波动特征;最后,融合大蒜年产量和自然灾害等随机价格扰动变量数据,探索大蒜价格趋势并预测价格.

1.2.1 GRU GRU 是基于传统循环神经网络(Recurrent Neural Network,RNN)的一种改进版神经网络.RNN 以时间序列数据为输入序列的演进方向进行递归推理,将所有的循环单元连接成递归神经网络.由于RNN 设计了记忆功能, 它与传统神经网络相比在处理时间序列数据方面有更为优秀的性能[14].RNN网络的状态对输入和时刻状态有较强的依赖性,这导致RNN 在面对长序列问题时,容易出现梯度爆炸和梯度消失问题.Hochreiter 提出了LSTM网络,这是一种能有效改善RNN 的长期依赖问题的神经网络[15].LSTM网络由输入门、遗忘门、输出门与记忆单元组成.Chung 等[16]对LSTM网络进行了简化设计,提出了GRU 网络.GRU 只有两个门,去掉了LSTM的细胞状态单元,可直接计算输出,结构如图1 所示.

图1 GRU 单元结构Fig.1GRU network structure

其递归函数可表示为

式(1)~(4)中:rt为重置门,zt为更新门,xt为当前输入,ht-1为上一时刻输出,为当前输出,σ、tanh 为激活函数,Wr、Wz、Wh为权重矩阵,·为点积,*为矩阵乘积.

GRU 中的更新门是长短期记忆网络(LSTM)中输入门和遗忘门的融合.通过试验发现GRU 试验效果与LSTM相当,但GRU 参数更少,结构也更简洁.而且GRU 有更高的训练速度,训练效率也更高[17].

1.2.2 Attention 机制 注意力机制最早出现在语言识别应用中,该机制能较为准确地实现对自然语言的识别[18].注意力机制是一种可以将注意力聚焦在高价值信息上,对于低价值信息降低注意力,从而在大量信息中快速准确提取出目标信息.本文在GRU 网络中增加了Attention 机制使GRU 网络对大蒜价格有了更为准确的捕获能力.

Attention 机制结构可以用图2 来表示,xt(t∈[1,n])是GRU 的输出值;ht(t∈[1,n])是GRU 输出的隐藏层状态;αt(t∈[1,n])为Attention 机制计算权重系数;C 为每个权重的加权值;y 为通过Attention 机制修正过的输出值.

图2 Attention 单元结构Fig.2Structure of the Attention mechanism

Attention 机制修正原理可以用以下公式表示

式(5)~(7)中:St为t 时刻GRU 输出隐藏层ht决定的注意力概率分布值,u、w 为权重系数,b 为偏置系数,Ct为Attention 层在t 时刻的输出值.

1.2.3 Attention-GRU 模型 整体预测模型结构如图3 所示,它由输入层、GRU 层、全连接层、注意力层和输出层5 个层构成.

图3 Attention-GRU 网络结构Fig.3Attention-GRU network structure

输入层:将大蒜价格、库存量时间序列数据和相关因素数据进行融合作为模型的输入,融合数据长度为t,表示为x=[x1,x2,x3,…,xt].

GRU 层:GRU 层输入的数据进行学习训练,对序列数据内部变化的规律进行学习归纳.GRU 学习训练过的数据用公式(8)来表示

全连接层:这里使用全连接层的目的是提高模型对特征的学习力,其激活函数使用的是ReLU 激活函数,可用公式(9)来表示,H 为全连接层的输出序列;L、d 分别为本层中的权重矩阵与偏置向量.

注意力层:经过GRU 网络训练过的数据输入注意力层,通过300 次的迭代训练不断优化输入特征的权重,从而使输入数据贡献度得到提高.注意力层权重计算见公式(6),第t 个序列的输出yt可用公式(10)来表示

输出层:通过注意力层的计算输出层输出预测结果,Ypre可表示为公式(11),DNN()为全连接计算.

损失函数:在模型的训练过程中采用均方误差MSE(mean squared error)损失函数,其表达式表示为公式(12),t 为样本个数,为实际值,yi为模型预测输出值.

2 实验与分析

2.1 实验环境

实验环境由计算机硬件和开发平台两部分组成,详细信息如表1 所示.

表1 详细实验环境Tab.1Detailed experimental environment

2.2 网络模型结构

为验证本文所提Attention-GRU 网络模型的有效性,选择了GRU、BP 网络、CNN-GRU3 种常见的神经网络模型与本文所提方法进行预测效果比较.为了确保实验的可比性,Attention-GRU 模型中GRU 网络与GRU 模型和CNN-GRU 模型结构均相同,详细结构如图4 所示.

图4 实验中的对比神经网络结构图Fig.4 Structural diagram of the comparison neural network in the experiment

Attention-GRU、GRU、CNN-GRU、BP 网络4 种网络模型中,步长均设置为5.输出神经元个数为1,Batch_size 设置为100,训练迭代次数为300,优化函数为Adam 其学习率为0.0001,损失函数为MSE.Attention-GRU、GRU、CNN-GRU 中,GRU 层为1 层,神经元个数均为50.CNN-GRU 中,CNN 卷积核个数为50.BP 网络中,有2 层全连接层,每层神经元个数为50.

2.3 网络模型评价方法

在大蒜价格预测阶段,本文结合不平衡数据处理技术以及网络模型对次日大蒜价格预测,将它们归为回归问题.使用MSE、均方根误差(root mean square error,RMSE)、平均绝对误差(mean absolute error,MAE)和决定系数R2作为模型平均指标,R2计算公式如13 所示.MSE、RMSE、MAE 值越小,说明模型的预测误差越小,预测效果越好.R2值越接近1,模型预测越准确,R2值越接近0,模型预测误差越大.

公式(13)中:yprei为预测值,为平均值,yi为真实值.

2.4 实验结果

为了使实验结果更为客观准确,消除偶然因素的影响,每个网络模型都进行了50 次随机重复大蒜价格预测实验,最后取各网络模型评价指标的50 次平均值和标准差.本文对2019—2022 年3 年每日大蒜价格数据集上的少数类样本、多数类样本及总体样本进行了实验结果对比,如表2 至表4 所示.

表2 大蒜价格数据集少数样本MSE、RMSE 和MAE 3 个评价指标对比Tab.2Comparison of the 3 evaluation indicators MSE,RMSE and MAE for a small sample of the garlic price dataset

表3 大蒜价格数据集多数样本MSE、RMSE 和MAE 3 个评价指标对比Tab.3 Comparison of the 3 evaluation indicators MSE,RMSE and MAE for the majority sample of the garlic price dataset

表4 大蒜价格数据集全部样本MSE、RMSE 和MAE 3 个评价指标对比Tab.4 Comparison of the 3 evaluation indicators MSE,RMSE and MAE for the full sample of the garlic price dataset

从表3 至表5 中的误差表现来看,证明本文所提出的Attention-GRU,在MSE、RMSE、MAE、R24 个平均指标中误差都是最小的.如在全部样本上以MSE 误差为例,它比GRU 少0.17、比CNN-GRU 少0.61、比BP 少0.77,分别减少了4%、15%和18%.从3 张表同时也可看出CNN-GRU 在某些预测中虽然也有较好的表现,但在预测时间序列数据方面的误差比GRU 还要大;4 个网络模型中BP 网络模型误差最大.通过对比实验验证了本文所提的Attention-GRU 模型在训练误差方面是最优的.

为验证本文所提预测模型的有效性和泛化性,本文抽取了2022 年8—10 月3 个月的大蒜价格进行了预测对比实验,实验结果如图5 所示.

图5 4 种网络模型预测对比Fig.5 Comparison of 4 network models for prediction

由图5 可以看出,Attention-GRU 模型预测值相较于其他3 种模型与真实值贴合度最高, 最接近真实值,说明预测准确度较高,进而证实本文所提模型的有效性.

以上结果表明, 本文所提的Attention-GRU 模型比其他3 种模型具有更为准确的大蒜价格预测能力,更小预测误差,说明Attention-GRU 模型可以应用于大蒜价格预测且预测效果较好.

3 结论

针对大蒜每天价格波动性大,容易受到多种因素影响导致其价格走势具有很强的非线性、平滑性差等特点, 本文提出了基于Attention 机制的GRU 深度学习模型.基于金乡地区2019—2022 年大蒜日价格、日库存量、自然灾害、大蒜年产量以及其他因素制作了大蒜价格数据集.大蒜价格数据集首先经过GRU 网络模型进行训练,归纳大蒜价格波动规律;然后,Attention 对GRU 网络输出的数据进行注意力处理,使其价格波动特征更为明显,优化大蒜价格预测结果.经过大量的实验表明,Attention 机制能有效提高GRU 网络模型对大蒜价格的预测能力,能有效提高预测准确度.实验同时表明,Attention-GRU 模型,比GRU、CNN-GRU、BP 这3 种模型具有更高预测精准度和更小的预测误差.

该模型从时间序列的角度对大蒜价格进行研究,解决单一网络模型预测精度差的问题.本模型可较为精准预测短期大蒜价格,可以为大蒜产业有关从业人员做出正确的判断和科学决策,有利于从业者降低风险,对稳定大蒜这一小农产品市场起到一定的指导作用.

目前,该模型对中长期大蒜价格预测的准确率需要进一步提高.由于大蒜具有耐储存、市场规模小容易受资本控制、易受供求关系影响等因素,大蒜中长期价格预测一直是学术界的一大难题.因此在以后的研究中,本文将探索更为科学的方法,以提高模型对中长期价格的预测精准度.

猜你喜欢

大蒜神经网络价格
种植大蒜要注意啥
神经网络抑制无线通信干扰探究
大蒜养生法
种大蒜
防病抑咳话大蒜
价格
价格
价格
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用