相广俐,李 林
(上海理工大学管理学院,上海 200093)
近年大宗商品在我国国民经济和社会生产活动中的地位愈加显著,需求量也居世界前列。除了石油、矿产及农产品外,化工产品也是大宗商品重要组成部分。以聚乙烯为例,在塑料化工业中,五大通用生产原材料有:聚乙烯(PE)、聚丙烯(PP)、聚氯乙烯(PVC)、聚苯乙烯(PS)及ABS 树脂。其中聚乙烯是塑料工业中产量最高的品种。2020 年中国已是全球聚乙烯进口量最大的国家,占全球进口总量的31.7%,且呈快速上涨态势[1]。聚乙烯价格的波动会给国内相关生产企业和社会经济带来很大的影响,因此,准确预测聚乙烯价格具有十分重要的意义。
聚乙烯价格数据是时间序列数据,受众多线性与非线性因素影响,具有很强的不确定性和波动性,这使得准确预测价格比较困难。如今可以应用“大数据、机器学习”来研究此类问题[2],机器学习可以快速且自动生成应用于大规模、多样化数据的分析模型。如沈欣宜等[3]对比了SVM 模型、LSTM 模型、MLP 模型、GRU 模型预测铜期货价格的效果,结果表明多因素特征对其有较强的长短期预测能力且机器学习预测有良好的适用性。彭燕等[4]运用LSTM 模型对苹果公司股价进行预测,结果表明预测值与实际值拟合度较高。陈佳等[5]应用系统聚类进行特征分类、主成分分析对分类特征降维,用LSTM 模型进行股指预测,预测结果在速度和准确度两方面分析均有显著提升。伯毅[6]使用XGBoost模型对股票进行短期预测,结果表明模型预测效果较好。许晴[7]等建立基于因素分析的支持向量机模型(FS-SVM)对煤炭价格进行了预测分析。李辉等[8]采用RF-LSTM 组合模型来预测股票的收盘价,该组合模型可提高股票价格预测的准确性。边璐等[9]采用基于主成分分析的BP 神经网络(PCABP)组合模型预测稀土产品价格,结果表明该模型能更准确地预测氧化镝价格走势。
基于现有的研究,本研究采用PCA-LSTM 模型来预测聚乙烯价格。首先通过相关性分析选择合适的影响因素,然后利用主成分分析进行降维来构建影响因素体系,最后利用LSTM 神经网络模型预测聚乙烯价格,并将其与SVM、XGBoost 模型的预测结果对比分析。
长短时记忆神经网络是由循环神经网络(Recurrent Neural Network,RNN)改进而来。LSTM在RNN 的基础上增加了门结构,有效克服RNN 权重影响过大、梯度消失和梯度爆炸等缺点[10]。LSTM 通过遗忘门、输入门、输出门来控制信息传输。遗忘门决定传入进来的数据信息xt哪些被遗忘哪些被保留下来;输入门决定有多少信息加入细胞当中,对信息选择性地记忆;输出门决定每一时刻是否有信息输出。其基本结构如图1所示。
图1 LSTM基本结构图
支持向量机(Support Vector Machine,SVM)是由Cortes 和Vapnik[11]于1995 年提出的。SVM 的学习机理是在样本空间内找到间隔最大的分类超平面,以达到最优分类的效果,在时间序列预测、模式识别和回归分析等领域有丰富的研究和应用。具体表达为:
其中,w、b分别为回归函数的权重和偏置;C为惩罚系数;Lε为损失函数。
极端梯度提升树(eXtreme Gradient Boosting,XGBoost)是陈天奇在2016年开发的Boosting库,是以梯度提升决策树(Gradient Boost Decision Tree,GBTD)为框架改进而来。该算法可以解决回归、分类、排序及用户自定义的预测问题[12]。其预测模型可表示为:
其中,K为树的总数,f(k)表示第k棵树。
本研究以2010 年1 月至2022 年6 月的聚乙烯价格和相关影响因素的138 个月度数据为样本,相关数据来源于国家统计局和前瞻数据库。本研究选取2010 年1 月-2020 年5 月的聚乙烯月度价格数据作为训练集,2020年6月-2022年6月的聚乙烯月度价格数据作为测试集。聚乙烯历年月度价格数据如图2所示。
图2 聚乙烯价格数据图
本研究首先采用上下值补全法填补原始数据;再采用min-max 归一化处理以此消除原始数据间的纲量化差异,最终使数据落在[0,1]区间中。转换公式:
其中,x为原始数据,xmin为原始数据序列中的最小值,xmax为原始数据序列中的最大值。
2.2.1 影响因素选择
要提高聚乙烯价格预测精度,找到影响其价格的主要影响因素很关键。聚乙烯价格主要受到上游原材料、供给需求、下游产品以及宏观经济等因素的影响。目前,国内聚乙烯主要有如图3 所示的两种生产方式:一是通过石油生产,二是通过煤炭生产,目前以石油生产方式为主流。因此,本研究选取WTI 原油期货价格、石脑油价格、煤炭价格、焦炭价格、乙烯价格、甲醇价格代表上游原材料。选取聚乙烯进口量、初级聚乙烯进口额当月值和聚乙烯产量来反映供给需求。聚乙烯主要用来生产塑料产品,用塑料制品产量和初级形态塑料产量来反映下游产品。选取工业生产者出厂价格指数、化工原料类购进价格指数来反映宏观经济。13个影响因素见表1。
图3 聚乙烯生产方式
表1 聚乙烯价格影响因素
2.2.2 主成分分析
在研究多特征问题时,不同特征间往往存在一定相关性,通过主成分分析把多个特征转化成几个综合特征,从而在根本上解决信息冗余,达到降维目的[9,13]。本研究首先采用Pearson 相关性分析来描述13 个影响因素与聚乙烯价格的相关程度。由表2 可知,工业生产者出厂价格指数、化工原料类购进价格指数、煤炭价格、焦炭价格与聚乙烯价格相关度较低,因此剔除这四个影响因素,剩于九个影响因素与聚乙烯价格的相关性系数均大于0.3。
表2 Pearson相关系数分析
为避免多因素导致模型出现多重共线性的问题,本研究采用主成分分析法对九个因素进行降维处理。首先,利用KMO 检验和Bartlett 球形度检验来判断数据是否可以进行降维处理。由表3 可知:KMO 值为0.751 大于0.600,Bartlett 球形度检验P 值为0.000,这说明本研究的数据适合主成分分析。
表3 KMO和Bartlett的检验
其次,使用SPSS24 对九个影响因素进行主成分分析。表4 为因素的方差解释率,一共提取出三个主成分,成分1—成分3 的累积方差解释率为88.249%,说明三个主成分足够反应原始数据信息。表5 为各因素系数成分矩阵,成分1 主要反映了供给需求相关指标,成分2 主要反映了上游原材料相关指标,成分3主要反映下游产品相关指标。因此,本研究提取前三个主成分,构建聚乙烯价格影响因素指标体系,将其代入预测模型中进行价格预测。
表4 方差解释率表格
表5 成分得分系数表
本研究基于Python 语言搭建模型,利用Pandas 和Numpy 模块对数据进行读取处理,使用sklearn 和Pytorch 模块对模型分析。选择PCA 降维的三个主成分作为聚乙烯价格预测模型的输入值,聚乙烯价格为输出值,利用长短期记忆神经网络建立PCA-LSTM 聚乙烯价格预测模型。随着训练过程的进行,模型易出现过拟合问题,即训练集拟合效果很好但在测试集结果失效。为避免过拟合的出现,本研究在设计LSTM模型中加入了正则化以优化模型,提高模型的泛化能力[14]。经过实验调整,模型各个参数值设定为:学习率为0.0001,隐藏层中神经元数为64,迭代次数为1000,正则项设置为0.001。各参数值如表6所示。
表6 模型参数值
将经过归一化处理的测试集数据代入训练好的LSTM 预测模型。同时分别用SVM、XGBoost 算法建立模型对聚乙烯价格展开预测。各模型的预测结果如图4,由图4 可知,LSTM、SVM、XGBoost 三种模型都能预测聚乙烯价格的总体趋势,SVM、XGBoost 模型整体趋势捕捉较好,LSTM 模型的预测值更加接近真实值。
图4 各模型预测结果
为了检验模型的预测精度,选用平均绝对误差MAE、均方误差MSE 和中值绝对误差MedAE 作为评价指标来评价模型效果。
由表7 可知,LSTM 神经网络模型的MAE 仅为0.085,MSE 仅 为0.011,MedAE 仅 为0.080,均小于SVM、XGBoost 模型的相应误差值。由此可见,基于主成分分析的LSTM 神经网络模型预测精度更好,能更准确地反映聚乙烯价格的变化规律。
表7 各模型预测误差值
本研究基于过往聚乙烯价格数据,结合其上游原材料、供给需求、下游产品和宏观经济等影响因素的历史数据,先采用PCA 对影响因素降维,再利用LSTM 模型展开价格预测。结果表明:本研究构建的PCA-LSTM 预测模型相较于SVM、XGBoost两对比模型结果更优、误差更小,可以提高聚乙烯价格预测的准确性。
聚乙烯价格与我国国民经济发展直接相关,本研究结果显示LSTM 神经网络模型在一定程度上更适合聚乙烯价格预测,对今后聚乙烯价格走势具有一定的参考性,有助于相关企业节约生产成本,促进相关产业健康发展。由于现实数据的局限性,本研究仅考虑到13个影响因素,且大宗商品价格还受到不可量化的因素影响,比如政策、突发事件等,所以在影响因素的选取上还需进一步研究;本研究的参数选取有一定的主观性,将来可利用优化算法寻找最优模型参数,这均是接下来需要进一步研究的问题。