1. 中央财经大学 ( 国际经济与贸易学院) 北京 100000 2. 天津农学院经济管理学院 天津 300392
摘要:棉花作为重要的战略物资,其价格是影响棉农的种棉积极性和纺织企业生产的重要因素。本文利用Python获取棉花价格历史数据并对数据的时间序列特征进行分析。建立了基于LSTM网络的棉花价格预测模型并与BP神经网络模型的预测结果进行对比分析,验证了LSTM棉花价格预测模型的实用性和精确度。
关 键字:棉花价格,预测模型,时间序列,LSTM神经网络,BP神经网络
中图分类号:F323.7 开放科学(资源服务)标识码(OSID):
文献标识码: A
棉花是我国重要的战略物资,棉花种植是国内许多地区实现脱贫攻坚的主要手段[1]。棉花价格变化直接影响着棉花产区以及与棉花息息相关的纺织产业的经济发展,对植棉生产的积极性和棉农收入的稳定性同样有着重要影响。中国是世界棉花产量最大的国家之一,但仍需要通过棉花进口来满足国内需求。近年来受中美贸易摩擦影响,国内进口自美国的棉花数量急剧减少,国内棉花销售也出现了紧张,国内棉花价格一路走高,使纺织产业的经济利益受到影响。因此,研究中国棉花价格的预测模型,提前预知国内棉花价格波动,从而制定棉花产业的应对政策,对维护植棉地区和纺织产业的经济利益起着重要作用。
目前,国内学者针对中国棉花价格预测模型开展了大量的研究:张立杰(2013)将ARIMA模型与支持向量机模型进行组合,预测2008年-2011年的棉花价格,发现其预测效果优于单独使用ARIMA模型[2];吴叶(2018)将平均影响值、遗传算法与BP神经网络相结合,建立国内棉花价格预测模型,对训练样本的拟合精度达到99%[3];谢渠(2019)建立了基于ARIMA的棉花价格模型,认为未来几年国内棉花价格将呈现缓慢下降的趋势[4];曹建飞(2021)对比了组合模型与ARIMA、GM等单一模型对棉花价格的预测精度,发现使用组合模型的预测效果更优[5]。由上可知,目前对棉花价格预测多采用以ARIMA模型为代表的浅层结构的机器学习方法,对于长时间序列的大数据缺乏鲁棒性,导致模型缺乏长效预测的能力。
LSTM网络是在RNN网络的基础上改进,克服了原始网络容易出现的梯度爆炸和梯度消失等问题,提高了模型准确性,在股价趋势分析[6]、节水灌溉[7-8]、水产养殖[9]等领域取得了广泛的应用。本文考虑到LSTM网络在处理长时间序列的数据的优势,在与BP神经网络模型进行对比的基础上,建立基于LSTM网络的棉花价格预测模型。
数据爬取是通过特定的规则,获取网页信息的有效工具[10]。本文的运行环境为Windows 10操作系统和Python3.7软件,通过使用Selenium技术模拟浏览器操作对网页爬虫,其爬虫流程如下图所示。
图1 爬虫流程图
Fig 1 Crawler flow chart
目标数据来源于中国棉花协会网页,本文选择2129B级棉花价格作为研究对象,样本的时间区间为2013年9月-2021年8月,共计2000个样本数据。为检验网络模型的拟合效果,将原始数据按7:3切分成训练样本集和测试样本集,其中2013年9月6日至2019年4月8日的棉花价格数据作为训练集,共计1400个,而2019年4月9日至2021年8月16日的棉花价格数据作为检验模型效果的测试集,共计600个。
图2为本文在中国棉花协会网页上采集到的棉花价格原始数据集,可以看出棉花价格数据具有较明显的时序特征,能够通过棉花价格在时序列上的拐点划分数据,具有较稳定的变化趋势。数据的时序特征为本文使用LSTM网络等时间序列研究方法奠定基础。
图2 2013年9月-2021年8月的棉花价格趋势图
Fig. 2 Cotton price trends chart from September 2013 to August 2021
相关研究表明[11-12],棉花价格在短时间内受到季节变化、自然灾害和市场变化的影响,造成棉花价格波动。因此,将本文采集到的棉花价格数据分为总体价格走势和年内价格走势,其中,以2013年9月-2021年8月的棉花价格时间序列作为总体价格走势的研究对象,分析连续8年间棉花价格受到自然灾害和市场变化的影响情况,而对于年内价格走势,则选定原始数据中价格波动相对稳定的2017年棉花价格开展研究,探明季节变化对棉花价格的影响。
1)总体价格走势
从图2中可以看出棉花价格主要集中于14 000-18 000 元/吨之间,最高价格为21 200 元/吨,最低价格为11 468 元/吨。2013年的9月至12月,棉花价格基本稳定在20 000 元/吨以上;2014年,国内启动了新疆棉花目标价格补贴政策
[13],棉花价格由20 313 元/吨持续下降,直到2016年3月棉花价格降至12 179 元/吨,降幅达40%。2016年,由于黄河流域棉花种植面积缩减,长江流域棉区受洪涝、高温等自然灾害影响,国内棉花产量下滑严重,进一步导致国内棉花价格上涨[14-15]。因为上年的棉花价格持续走高,2017年国内棉花种植面积出现反弹,棉花产量明显增加[16],使当年的棉花价格在16 600 元/吨左右波动。2018年的棉花价格呈先涨后跌的趋势:该年的5-6月新疆棉区出现大范围的风灾和雪灾等自然灾害,棉花产量受到影响,导致国内棉花价格出现上涨;7-8月由于国家对棉花市场的调整,加上自然条件好转,棉花价格趋于平稳;9月之后,中国棉花市场一直受到中美贸易摩擦的影响,促使国内棉花价格一度下降[17]。2019年国内的棉花种植面积相比2018年有所减少,达到3 340 千公顷,且国内的主要产棉区时有遭受风沙、低温冻害等自然灾害,棉花产量相比前一年下降3.04%[18],导致国内棉花价格回升。2020年初,受到新冠肺炎疫情的影响,国内纺织品零售店关闭,物流暂停,纺织品销量急剧下跌,棉花价格急剧下降[19],直至4月棉花价格有回升的趋势。
2)年内价格走势
图3为2017年内棉花价格趋势图,年内棉花价格的波动基本上是呈现先上升后下降的趋势,其中1、4、7、12月为波谷,3、6、11月为波峰。2017年1月,国内市场棉花价格维持在16 200 元/吨以下,这是由于新棉销售情况较好。2-3月份,国内新棉销售基本结束,棉价持续攀升。4月份国内储备棉开始投放市场,使价格有所降低。5-6月储备棉销售基本结束,而新播种的棉花生长刚进入第五真叶期,现货资源偏紧。9月,储备棉的竞拍推动棉花价格继续升高。11-12月,新棉大量上市促使棉价下行[16]。
图3 2017年内棉花价格趋势图
Fig. 3 Cotton price trend chart in 2017
LSTM是1997年被Sepp Hochreiter等[20]学者首次提出,模型结构是在RNN网络的基础上改进,在网络中引入了(1)遗忘门 、(2)输入门
和(3)输出门
,网络结构如图4所示。
图4 LSTM网络结构
Fig 4 LSTM network structure
(1)
(2)
(3)
式中, 为网络的偏置,
为输入权重,
为遗忘门的循环权重,
为Sigmod激活函数,
为上一时序输出的棉花价格,
为当前时序输入的棉花价格。
将棉花价格数据输入LSTM网络模型,用训练本数据集和测试样本数据集对基于LSTM网络的棉花价格预测模型训练和测试,选用均方误差(MSE)、均方根误差(RMSE)以及决定系数(R2)作为模型评价指标。该模型可用于棉花价格总体趋势的预测,也适用于年内价格的预测分析。
在模型训练前,对LSTM网络模型的主要参数进行设置,学习率设为0.001;迭代次数设为100次;批尺寸为16;设定网络性能函数为RMSE;采用Adam算法进行优化。本文的网络的隐含层节点数依据经验确定为60和150。对于LSTM网络的输入层和输出层的节点数,由模型一次性传入的样本维数和输出的样本维数决定:考虑到本文的应用场景,输出的样本维数设为1;输入的样本维数通过试凑法确定,先设为1、3、5、7、9,将训练集分别输入不同输入层维数的LSTM网络中,选取计算结果的RMSE值最小的网络结构设置,测试结果如图5所示。
图5 不同输入层维数条件下LSTM网络模型的
Fig. 5 RMSE of LSTM model under different input layer dimensions
由图4可以看出,随着设置的输入层维数增加,计算结果的RMSE总体呈上升的趋势,在输入层维数为1时计算效果最佳,RMSE为112.72,因此本研究选择1-60-150-1结构的LSTM网络作为棉花价格的预测模型,结构如图6所示。
图6 LSTM网络结构
Fig. 6 LSTM structure
将训练集输入已建立的LSTM网络模型中进行训练,用测试集对训练好的模型进行性能测试,得到模型预测值与实际值的对比图示(图7a)。可以看出,基于LSTM网络的棉花价格预测模型的整体精度较高,预测值与实际的棉花价格基本吻合较好,但在局部区域出现棉花价格剧烈波动时,模型结果容易出现局部失真,如2019年11月-2019年12月棉花价格迅速降低,在这段时间内LSTM网络模型的预测结果与实际值出现一定的偏离。
a.LSTM网络 b.BP神经网络
图7 两种模型的预测值与实际值对比图示
Fig. 7 Comparison of the predicted and actual values of the two models
为了验证LSTM网络模型在棉花价格预测中的优越性,本文用BP神经网络模型在相同的模型参数条件下对棉花价格进行预测,并与LSTM网络模型对比分析,BP神经网络的测试结果如图6b所示。对比图6a和图6b可以看出,LSTM网络的吻合程度更高,其预测结果的变化趋势与真实值更为接近。
表1 两种模型评价结果对比
Tab 1 Comparison of evaluation results of the two models
模型Model | 决定系数R2 | 均方误差MSE | 均方根误差RMSE |
LSTM网络 | 0.994 | 16 674.59 | 129.13 |
BP神经网络 | 0.987 | 35 530.23 | 188.49 |
表1为LSTM网络和BP神经网络的模型评价结果。由表1可知,LSTM网络对棉花价格预测结果的R2为0.994,高出BP神经网络0.007,说明LSTM网络对棉花价格数据的拟合效果更好。同时LSTM网络的MSE和RMSE分别低于BP神经网络18 855.64和59.36,表明使用基于LSTM网络模型来预测棉花价格具有更高的精确度。
模型对比试验结果表明,本文采用的LSTM网络模型的预测精度明显优于BP神经网络,对棉花价格预测能达到较高的准确度,基于LSTM网络模型在农业经济数据挖掘时具有较强的学习能力。
本文比较了LSTM网络和BP神经网络对国内棉花价格的预测效果。结果表明,LSTM网络模型能够准确地预测国内棉花价格,具有较高的精确度和稳定性,模型测试结果的R2、MSE和RMSE分别为0.994、16 674.59和129.13,其模拟结果优于BP神经网络,说明了基于LSTM网络的棉花价格预测模型的实用意义。
参考文献
[1] 决胜脱贫攻坚 助力乡村振兴——中棉所植棉技术标准化课题组[J]. 中国棉花, 2021, 48(4): 2.
[2] 张立杰,寇纪淞,李敏强,等. 基于自回归移动平均及支持向量机的中国棉花价格预测[J]. 统计与决策, 2013(6): 30-33.
[3] 吴叶,刘婷婷,方少勇. 基于MIV-GA-BP神经网络的我国棉价预测研究[J]. 棉纺织技术, 2018, 46(7): 77-80.
[4] 谢渠,吴月,杨兴祖,等. 基于ARIMA模型的新疆阿克苏地区棉花价格分析与预警[J]. 农村经济与科技, 2019, 30(19): 166-168.
[5] 曹建飞. 基于多尺度组合模型的我国棉花价格预测[J]. 统计与决策, 2021, 37(2): 176-180.
[6] 孙瑞奇. 基于LSTM神经网络的美股股指价格趋势预测模型的研究[D]. 首都经济贸易大学, 2016.
[7] Jimenez AF,Ortiz BV,Bondesan L, et al. Long Short-term Memory Neural Network for Irrigation Management: a Case Study From Southern Alabama, Usa[J]. Precision Agriculture, 2020: 1-18.
[8] 李莉,李文军,马德新,等. 基于LSTM的温室番茄蒸腾量预测模型研究[J]. 农业机械学报: 1-9.
[9] 韩永贵,高阳,韩磊,等. 基于模糊规则的人工神经网络模拟新疆杨蒸腾耗水[J]. 应用生态学报, 2020, 31(5): 1525-1534.
[10] 樊涛,赵征,刘敏娟. 基于Selenium的网络爬虫分析与实现[J]. 电脑编程技巧与维护, 2019(9): 155-156, 170.
[11] 程文明. 中国棉花价格波动规律研究——基于X12和H-P滤波法的实证分析[J]. 数学的实践与认识, 2021, 51(6): 303-312.
[12] 李辉尚,马娟娟,沈辰,等. 我国马铃薯价格波动规律研究--基于X-12和H-P滤波法的实证分析[J]. 中国蔬菜, 2017(2): 60-66.
[13] 朱满德,程国强. 棉花目标价格补贴试点政策成效及完善建议[J]. 经济纵横, 2017(11): 90-96.
[14] 李想,郭新宇. 2016年中国棉花市场形势回顾及2017年展望[J]. 农业展望, 2016, 12(12): 4-7.
[15] 翟雪玲,原瑞玲. 2016年中国棉花市场形势分析及2017年展望[J]. 农业展望, 2017, 13(4): 10-14.
[16] 李想,孙一铮. 2017年中国棉花市场形势分析及2018年展望[J]. 农业展望, 2018, 14(4): 4-7.
[17] 翟雪玲. 2018年国内外棉花市场形势分析及2019年展望[J]. 农业展望, 2019, 15(3): 4-8.
[18] 柳凌云. 中美棉花现货市场价格波动及传导效应研究[D]. 塔里木大学, 2020.
[19] 马小艳,王文魁,黄群,等. 新冠肺炎疫情对棉花产业的影响及对策建议[J]. 中国棉花, 2020, 47(2): 1-3.
[20] Hochreiter S,Schmidhuber J. Long Short-term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.