郑李园 吴鑫 李君 茅智慧 陈炜伟
1.浙江万里学院信息与智能工程学院;2.宁波市海曙区教育局教研室
精确的商品需求预测可以有效减少缺货和降低库存积压,帮助企业制定合理的订货策略和库存决策。本文将深度学习模型时间卷积网络TCN 引入到电商商品需求预测中,并与长短期记忆神经网络LSTM 以及机器学习模型随机森林、CBRT、XGBoost 进行对比实验,验证了TCN 模型的预测精度最高,有助于TCN 模型在商品需求预测中的推广应用。
电商发展迅速,同时面临了诸多挑战,如何有效降低库存成本成为决策者的一大难题。如何利用数据挖掘技术实现精确的商品需求预测,成为电商平台降低库存成本,提高自身竞争力的有效手段。
但由于电商商品类目繁多,种类庞大,每类商品的需求影响因素不同,而且受季节、节假日、促销活动等影响,使得精确预测电商商品需求量面临着巨大挑战。通过挖掘消费者行为数据,可以有效替代商品自身因素、季节以及节假日等因素对需求量的影响。学者们利用不同方法对商品需求量进行预测,Demiriz[1]利用线性回归模型对服装零售商品每周需求量进行预测研究。Zhang Y[2]针对水产养殖产量和出口规模预测中存在的问题,提出了一套优化后的BP 神经网络算法的产量预测模型,取得了不错的预测效果。李长春[3]对阿里平台的交易数据进行挖掘,用多元回归、随机森林、神经网络模型预测未来两周商品的需求量,实验结果表明随机森林在各项指标都显示出明显优势。深度学习做预测已在其他领域得到广泛应用[4-8]。近年来,有不少学者将深度学习应用到商品需求预测中。Taghizadeh E[9]针对沃尔玛历史销售数据,采用人工神经网络(ANN)模型对极端天气敏感的零售商品未来需求量做预测,研究表明在加入了天气这一影响因素后,ANN 比决策树效果更好。包吉祥等人[10]基于LSTM 神经网络对某企业纸质类商品需求做预测,实验取得了较好的精度。王渊明[11]将长短期记忆神经网络(LSTM)优化为具有自适应训练能力的神经网络,对某知名电商食品零售商12 种SKU 的月销量做预测,实验结果表明与手工调整参数相比,该方法更有效。
本文对大量买家与卖家的交易数据以及消费者行为数据进行分析,将深度学习模型时间卷积网络TCN 引入到电商商品需求预测中,并与长短期记忆神经网络LSTM 以及机器学习模型随机森林、CBRT、XGBoost进行对比实验,以验证不同模型对电商商品需求量预测的准确率。这将对库存管理者以及供应链管理者提供有效的数据依托,对管理者做合理决策有重要意义。
1.1.1 随机森林
随机森林(Random Forests,RF)采用集成学习方法,即将若干个弱学习器结合起来,形成一个强学习器。集成学习分为Bagging 模型和Boosting 模型。RF 是Bagging模型的代表,Bagging 模型是将同类别,彼此之间无强关联的弱学习器,以均等投票机制进行组合而成的强学习器。
1.1.2 GBRT
梯度提升回归树(Gradient Boosting Regression Tree,GBRT),属于梯度提升树(Gradient Boosting Tree,GBT)。梯度提升树是利用损失函数Loss 的负梯度在当前模型的值作为残差的近似值,即对损失函数Loss 进行一阶泰勒展开。GBT 是Boosting 模型,相比RF 其可以采用更少的子树来获取更优的精度。
1.1.3 XGBoost
XGBoost 是GBT 的改进算法,GBT 的目标函数是损失函数,XGBoost 在GBT 的目标函数基础上加上正则项,来防止过拟合。GBT 对损失函数进行一阶泰勒展开,XGBoost 是对其损失函数进行二阶泰勒展开。XGBoost在训练之前预先对数据进行排序,并保存为模块结构,迭代过程利用此结构,以减小计算量,此模块结构使并行成为了可能,在进行节点分裂时,需要计算每个特征的增益,最终选增益最大的特征进行分裂,各特征的增益计算可多线程进行。
1.2.1 LSTM 神经网络
长短期记忆神经网络(Long-Short Term Memory,LSTM)内部主要有遗忘门、输入门和输出门3 个“门”结构。遗忘门会根据当前的输入xt、上一刻的输出ht-1和门的偏置项b共同决定哪一部分数据记忆需要被遗忘;一般用表示当前时刻第i个LSTM 单元的遗忘门的输出值,由Sigmoid 单元将权重设置为0 和1 之间的值,计算方式如式(1)所示,其中U f和W f分别为输入权重和循环权重。
1.2.2 TCN 神经网络
时间卷积网络(Temporal Convolutional Network,TCN)是卷积神经网络CNN 的变体,它非常适合于建立时间模型,并且结合了CNN 和RNN 的框架优势[12]。TCN 的主要组成部分是扩张卷积和因果卷积,其中扩张卷积是为了改善在处理顺序任务时多个卷积层堆叠在一起使得建模困难的现象[13]。如示(2)所示为扩张卷积计算公式。其中f为过滤器大小,t-di表示过去某一时刻的方向。
扩展卷积相当于在每个相邻滤波器之间引入一个额定步长。当展开因子设置为1时,展开卷积可视为正则卷积。为了获得更大的感受野大小,TCN 卷积层的扩展因子呈指数增加。当TCN 卷积层的扩展因子为 2(K−1)且步数为1时,网络的感受野大小可用公式(3)计算[14]。其中K是卷积层数。
网络使用标准化的Sigmoid 函数和空间损失层来处理数据[15]。本文采用Sigmoid 函数作为激活函数。计算方式如(4)所示。
本文选择TCN 的原因是TCN 与具有相同容量的循环网络结构相比有更长的内存,并且具有平行度、灵活的接收场大小、稳定的梯度、训练所需的低内存和可变长度的输入等优点,在大量任务中其性能都优于LSTM[16]。
实验操作环境是Windows10 系统,Intel(R)core(TM)i5-6200U CPU @2.30GHz 2.40GHz 处理器,内存(RAM)为8.00GB。实验平台是Anaconda3、Python3.7 版本,数据分析和处理采用Numpy 库和Panadas 库。实验模型用到的框架为TensorFlow 和Keras 框架。
本文的数据来源于M 电商平台,其运营模式为B2C模式,2014 年10 月10 日-2015 年12 月27日,共210548条样本数据,数据中包含了商品自身属性、市场表现、价格等方面特征。
首先本文针对收集来的“脏数据”进行数据清洗,主要是对异常值清洗和缺失值的查找。然后对原有数据中商品销量,加购次数、收藏、浏览次数等相关数据的整体情况进行可视化分析。如图1 所示为平台上商品成交件数相关数据,如图2 所示为平台上商品的浏览次数部分相关数据。
图1 平台商品成交件数Fig.1 Number of transactions of platform commodities
图2 平台商品被浏览次数Fig.2 Number of views of platform products
从图1、图2 可以看出商品的需求量与浏览次数成正相关。说明原始特征对销量的影响是存在的,但是原始特征之间是否存在内在联系以及特征之间具体是如何影响商品需求的,这就需要进一步构建衍生特征并通过模型来对特征进行学习,发现特征与需求之间的深层联系。
本文根据原始数据构造相关衍生特征,衍生特征构造情况如表1 所示。
表1 衍生特征群Tab.1 Derived feature group
2.5.1 评估指标
本文选取回归模型常用的评估指标均方根误差(Root Mean Square Error,RMSE)和拟合优度(R2得分)作为商品需求预测模型的评估指标。RMSE 是预测误差平方和与观测次数比值的平方根,用来平衡预测值与真实值的偏差,其计算公式如式(5)所示,其中,n 代表样本的数量,yt代表样本t的真实值,是模型对yt的预测值,RMSE越小模型效果越好。R2得分表示目标向量的变化中有多少能通过模型进行解释,R2越接近1,代表模型性能越好,其计算公式如式(6)所示。其中,n 代表样本的数量,yt代表样本t的真实值,是模型对yt的预测值,表示目标向量的平均值。
2.5.2 实验结果对比分析
将处理好的数据输入到构建好的深度学习模型TCN、LSTM 中和机器学习模型RF、GBRT、XGBoost中对M 平台电商商品需求量进行预测,模型预测结果的R2值如表2 所示,RMSE 值如表3 所示。
表2 模型预测结果的R2值Tab.2 R2 value of model prediction result
表3 模型预测结果的RMSE值Tab.3 RMSE value of model prediction result
表2中,部分商品的R2值效果较差,查看商品信息后发现此类商品均为新上架商品,商品热度低,周销量为个位数,而深度学习模型适用于数据量多、数值相对较大的数据集,所以模型对商品热度低的商品预测效果相对较差。随着周销量数值的增大,模型R2的值越趋向于1,模型效果越好。并且从5 种模型的R2值可以看出TCN 模型预测值与真实值的拟合效果最好,GBRT 模型效果相对较差。
表3 加粗字体对比了5 种模型的最优RMSE 和最差RMSE,发现TCN 模型的稳定性更好,其次是LSTM模型;从5 种模型的RMSE 均值可以发现精度最优的仍然是TCN 模型,TCN 模型对电商商品需求的预测效果优于LSTM 模型,这是因为TCN 拥有一维卷积核可以大规模并行处理数据,而LSTM 是按顺序处理数据,模型效率高;TCN 拥 有稳定的梯度,与LSTM 不同,TCN 不存在梯度消失和梯度爆炸的问题。机器学习算法对电商商品需求预测的模型效果稍微逊色于深度学习算法,表3 中显示在机器学习算法中RF 模型的稳定性相对较弱,GBRT 模型的稳定性效果最优,XGBoost 模型精度最优。
为了精确预测多种电商商品的需求量,将深度学习模型时间卷积网络TCN 引入到电商商品需求预测中,并与长短期记忆神经网络LSTM 以及机器学习模型随机森林、CBRT、XGBoost 进行对比实验,发现TCN 网络的预测精度及稳定性都优于LSTM 网络以及上述机器学习模型。验证了TCN 模型的预测精度最高,稳定性更强,有助于TCN 模型在商品需求预测中的推广应用。
引用
[1] Demiriz Ayhan.Demand Forecasting based on Pairwise Item Associations[J].Complex Adaptive Systems,2014(36):261-268.
[2] ZHANG Y Z.Application of Improved BP Neural Network Based on E-commerce Supply Chain Network Data in the Forecast of Aquatic Product Export Volume[J].Cognitive Systems Research,2019,57(OCT.):228-235.
[3] 李长春.大数据背景下的商品需求预测与分仓规划[J].数学的实践与认识,2017,47(7):70-79.
[4] 杨茂,朱亮.基于FA-PCA-LSTM的光伏发电短期功率预测[J].昆明理工大学学报(自然科学版),2019,44(1):61-68.
[5] 马天男,王超,彭丽霖,等.计及需求响应和深度结构多任务学习的电力系统短期负荷预测[J].电测与仪表,2019,56(16):50-60.
[6] 方志强,王晓辉,夏通.基于长短期记忆网络的售电量预测模型研究[J].电力工程技术,2018,37(3):78-83.
[7] 常子汉.基于小波变换与Adam优化的LSTM电价预测研究[D].兰州:兰州大学,2019.
[8] 李月龙,唐德华,姜桂圆,等.基于维度加权的残差LSTM短期交通流量预测[J].计算机工程,2019,45(6):1-5.
[9] TAGHIZADEH E.Utilizing Artificial Neural Networks to Predict Demand for Weather-sensitive Products at Retail Stores[C]//International annual conference of the American Society for Engineering Management,2017:718-727.
[10] 包吉祥,李林,赵梦鸽.基于考虑滞后性LSTM模型的电商需求预测[J/OL].计算机工程与应用:1-13[2022-03-17].
[11] 王渊明.基于LSTM神经网络的电商需求预测的研究[D].济南:山东大学,2018.
[12] PWA B,JS B,XC B,et al.Data-driven Reduced Order Model with Temporal Convolutional Neural Network[J].Computer Methods in Applied Mechanics and Engineering,2020,360:1-13.
[13] LENG X B,PIAO S C,WANG S,et al.An Improved Method for Odometry Estimation Based on EKF and Temporal Convolutional Network[J].Physical Communication,2020,43:1-7.
[14] PAUL W,MATTHIAS W,RALPH E.Using a Deep Temporal Convolutional Network as a Building Energy Surrogate Model That Spans Multiple Climate Zones-ScienceDirect[J].Applied Energy,2020,278:1-16.
[15] MATTHEWDAVIES E P,BOCK S.Temporal Convolutional Networks for Musical Audio Beat Tracking[C]//2019 27th European Signal Processing Conference(EUSIPCO),2019.
[16] 李燕飞,王子琪,余澄庆.基于时间强化学习卷积网络的多数据驱动风电预测新模型(英文)[J/OL].Journal of Central South University:1-17[2021-06-01].