基于长短期记忆网络的大蒜价格预测模型研究
作者: 李丹 冯新玲 付国帅 李玉香
基金项目:教育部产学合作协同育人项目“基于海豚实验平台的人工智能专业‘双师型’教师培训实践探索”(230705384254049)。
作者简介:李丹(1984—),女,硕士,讲师,研究方向:数据分析与处理、农业工程与信息技术;冯新玲(1983—),女,硕士,副教授,研究方向:计算机图形学、计算机算法;付国帅(1984—),男,本科,高级实验师,研究方向:农业工程与信息技术;李玉香(1964—),女,硕士,教授,研究方向:数据分析与处理、农业工程与信息技术。
摘 要:大蒜是一种重要农产品,其价格波动会给农民、经销商和消费者带来较大影响。因此,准确预测大蒜价格对决策制定、市场规划和风险管理起到至关重要的作用。基于长短期记忆网络算法来分析大蒜价格历史数据,利用核主成分分析法对数据进行特征提取,得到最优参数的预测模型,并对大蒜价格进行短期预测。结果表明,基于KPCA的LSTM模型在对大蒜价格预测时达到预期良好效果,与传统的神经网络和时序模型相比,其具有更高的准确度和稳定性。
关键词:长短期记忆网络;大蒜价格预测;预测模型
中图分类号:S126;TP183;S511 文献标志码:B 文章编号:1674-7909(2024)1-136-5
DOI:10.19345/j.cnki.xckj.1674-7909.2024.01.034
0 引言
大蒜是一种被广泛种植和消费的农产品,其价格波动会对农民、经销商和消费者产生重要影响。然而,受自然因素、市场需求和供应变化等多种因素影响,大蒜价格往往难以被精确预测。因此,建立可靠的大蒜价格预测模型对农户进行种植决策、市场规划和风险管理具有重要意义。随着对人工智能的不断研究和优化,BP神经网络、RNN神经网络、ARIMA模型在解决时间序列数据预测中的问题时有了很大突破,其被广泛应用于预测大蒜市场价格。例如,史冠宇等[1]利用时间序列模型ARIMA对中国大蒜市场价格进行预测,基于历史价格数据来建立模型,从而预测出大蒜未来价格走势;刘合兵等[2]以5种农产品为研究对象,提出基于小波变换和BP神经网络的组合预测模型,其能较好地预测出农产品价格,适用于对多种蔬菜价格的预测。
长短期记忆网络(Long Short-Term Memorty,LSTM)是一种改进的时间循环神经网络(RNN),在处理长时间序列预测问题时具有独特优势,被广泛应用于机器翻译、语音识别等领域[3-4]。然而,LSTM在大蒜价格预测中的应用还比较有限。为构建基于LSTM的大蒜价格预测模型,并提高大蒜价格预测的准确性,此研究用长短期记忆网络来预测大蒜日价格和月价格,并将其预测结果与BP神经网络、ARIMA预测模型的预测结果进行比较,探讨LSTM在大蒜价格预测中的表现,进而为大蒜产业各环节提供精准的数据服务,为农户的种植计划、企业的高效运营和政府的科学调控提供更多的参考依据,推动大蒜产业健康可持续发展。
1 研究方法
1.1 研究区域
中牟县位于河南省中部,是中国重要的大蒜产区之一。该地区属温带季风气候区,四季分明,夏季炎热潮湿,冬季寒冷干燥,年降水量为500~700 mm,且降水主要集中在每年的6—8月。该地土壤主要为黄绵土,土质肥沃,且具有良好的排水性。中牟县农民积累了丰富的大蒜种植经验,能运用先进的种植技术,如土壤调理、肥料施用、种植密度控制、病虫害防治等,来提高大蒜的产量和质量。
1.2 数据来源
大蒜历史价格来源于大蒜网,大蒜成灾面积、大蒜播种面积和大蒜单位面积产量等数据来自《河南省统计年鉴》,大蒜库存量和进出口量数据来自前瞻数据库,河南省城镇居民人均可支配收入数据来自国家统计局,原油价格数据来自金投网。研究时间为2021年1月1日—12月31日。
1.3 LSTM算法
LSTM算法在处理序列数据和时间序列预测任务方面表现出色[5]。相较于传统的RNN,LSTM具有更长的记忆延迟和更好的梯度传播特性,能有效解决传统RNN中的梯度消失和梯度爆炸问题,能更好地捕捉到序列中的长期依赖关系。LSTM的基本结构如图1所示。
<E:\2024年工作\乡村科技\1月份\1上内文与目录\《乡村科技》2024年1上正文\Image\image1_4.png>
图1 LSTM神经网络结构
LSTM通过引入门控机制结构来控制信息流动,包括输入门、遗忘门和输出门[6]。
1.3.1 输入门(Input Gate)
通过计算当前输入和前一个时刻的隐藏状态,使用一个sigmoid函数来决定保留输入中的哪些信息。输入门可控制输入权重,有选择性地传递和存储重要输入。其计算公式为式(1)。
[it=σWiht-1,xt+bi]
[gt=σWght-1,xt+bg] (1)
式(1)中:Wi、Wg为权重;bi、bg为偏置。
1.3.2 遗忘门(Forget Gate)
通过计算当前输入和前一个时刻的隐藏状态,使用一个sigmoid函数来确定遗忘前一个时刻信息的程度。遗忘门可丢弃过去信息,只保留对当前任务有用的信息,其计算公式为式(2)。
[ft=σWfht-1,xt+bf] (2)
式(2)中:[Wf]为忘记门权重;[ht-1]为上一个单元的输出;[xt]为当前单元的输入;[bt]为偏置;[σ]为sigmod函数。
1.3.3 输出门(Output Gate)
通过计算当前输入和前一个时刻隐藏状态,用一个sigmoid函数来决定输出的激活状态。同时,使用tanh函数生成一个新的隐藏状态,作为当前时刻输出。输出门决定隐藏状态中哪些信息会被传递到下一个时刻。当前状态的计算公式为式(3)。
[St=ft×St-1+gt×it] (3)
门控机制使得LSTM能根据当前输入和前一个时刻隐藏状态来选择性保留和传递重要信息,并能有效解决梯度消失和梯度爆炸问题。因此,LSTM在处理长序列和捕捉长期依赖关系方面表现出色。此研究采用LSTM算法来预测大蒜的短期价格,模型的输入为中牟县2021年大蒜销售旺季和淡季任意连续10 d的销售价格。
1.4 模型评价指标
此研究采用均方根误差和平均绝对误差来评价预测模型的优劣程度。
1.4.1 均方根误差(root mean square error,RMSE)
[RMSE=1ni=1nY'i-Yi2] (4)
1.4.2 平均绝对误差(mean absolute error,MAE)
[MAE=1ni=1nY'i-Yi] (5)
式(4)和(5)中:[Y'i]和[Yi]分别为预测值和实际值,n为测试样本的个数。
2 结果和分析
2.1 月度大蒜价格波动趋势
对2021年每个月份的大蒜价格波动幅度进行频数统计,结果如图2所示。2021年,大蒜价格的正常波动和小幅波动均在年初和年末出现频率最高,这说明在11月至次年2月的大蒜价格相对稳定。与小幅波动相比,中幅波动在1—3月出现的频率相似,而在3—12月,中幅波动的频率与小幅波动相反。在波动幅度方面,只有9月的波动幅度以中幅为主,其他月份的波动幅度主要是大幅或正常波动。每年9月份,大蒜库存已经确定,市场上供应量稳定,因此大蒜价格波动从大幅向正常过渡。大幅波动主要集中在3—7月,其中6月的幅度波动频率最高,表明新蒜上市对大蒜价格的影响较大。
<E:\2024年工作\乡村科技\1月份\1上内文与目录\《乡村科技》2024年1上正文\Image\3.jpg>
图2 2021年月度大蒜价格波动幅度统计
2.2 大蒜价格影响因素分析
此研究采用灰色关联分析法来评估大蒜价格的影响因素与价格波动之间的关联程度,从而筛选出影响大蒜价格的主要因素,为后续研究提供依据。
灰色关联分析法是通过观察参考序列和比较序列之间的变化趋势相似度来确定关联程度紧密程度的。两者变化趋势越相似,则二者之间的关联程度就越大[7]。具体分析流程如图3所示。
<E:\2024年工作\乡村科技\1月份\1上内文与目录\《乡村科技》2024年1上正文\Image\7.jpg>
图3 灰色关联分析流程
2.2.1 确定参考序列和比较序列
以参数指标为参考序列Y、影响参数指标因素为比较序列X,其矩阵表示见式(6)。
[Y=Y1,Y2,…,Yn][T]
[Xi=Xi1,Xi2,…,Xin][T] (6)
式(6)中:i(=1,2,…,n)为比较序列中的一行,即一个特征。
2.2.2 变量的无量纲化处理
由于原始数据的单位或量纲不同,若直接比较,会对结论产生一定影响,因此需要进行无量纲化处理。此研究采用均值化处理,见式(7)。
[xik=xikxi] (7)
式(7)中:i=1,2,…,m;k=i=1,2,…,n;k为对应时间段。
2.2.3 计算关联系数
[ζik=miniminkyk-xik+ρmaximaxkyk-xikyk-xik+ρmaximaxkyk-xik]
[Δik=yk-xik],则
[ζik=miniminkΔik+ρmaximaxkΔikΔik+ρmaximaxkΔik] (8)
2.2.4 计算关联度
[ri=1nk=1nζik] (9)
2.2.5 关联度排序及评价
对计算得到的关联度进行排序,关联度越大表示两者间的关联程度越大。根据相关文献和经验,此研究选择灰色关联度在0.75以上的因素作为影响大蒜价格的主要因素[8],包括大蒜产量、大蒜库存量、大蒜播种面积、大蒜出口量、居民人均可支配收入、国际原油价格和货币供应量。通过分析可知,大蒜产量、库存量等因素是造成大蒜价格波动的重要因素。此外,根据已有的研究成果,上一期的大蒜价格对当前价格也有较大影响。因此,在预测大蒜价格时,可将选取的影响因素与大蒜历史价格数据作为输入数据,建立相应的大蒜价格预测模型。大蒜价格与各影响因素的灰色关联度见表1。