温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
TCN
商品
需求预测
郑李园
2023 年1 月Jan2023DigitalTechnology&Application第 41 卷第 1 期Vol.41No.1数字技术与应用110中图分类号:TP182文献标识码:A 文章编号:1007-9416(2023)01-0110-04DOI:10.19695/12-1369.2023.01.34基于 TCN 的电商商品需求预测*郑李园1吴鑫1李君1茅智慧1陈炜伟21.浙江万里学院信息与智能工程学院;2.宁波市海曙区教育局教研室精确的商品需求预测可以有效减少缺货和降低库存积压,帮助企业制定合理的订货策略和库存决策。本文将深度学习模型时间卷积网络 TCN 引入到电商商品需求预测中,并与长短期记忆神经网络 LSTM 以及机器学习模型随机森林、CBRT、XGBoost 进行对比实验,验证了 TCN 模型的预测精度最高,有助于 TCN 模型在商品需求预测中的推广应用。电商发展迅速,同时面临了诸多挑战,如何有效降低库存成本成为决策者的一大难题。如何利用数据挖掘技术实现精确的商品需求预测,成为电商平台降低库存成本,提高自身竞争力的有效手段。但由于电商商品类目繁多,种类庞大,每类商品的需求影响因素不同,而且受季节、节假日、促销活动等影响,使得精确预测电商商品需求量面临着巨大挑战。通过挖掘消费者行为数据,可以有效替代商品自身因素、季节以及节假日等因素对需求量的影响。学者们利用不同方法对商品需求量进行预测,Demiriz1利用线性回归模型对服装零售商品每周需求量进行预测研究。Zhang Y2针对水产养殖产量和出口规模预测中存在的问题,提出了一套优化后的 BP 神经网络算法的产量预测模型,取得了不错的预测效果。李长春3对阿里平台的交易数据进行挖掘,用多元回归、随机森林、神经网络模型预测未来两周商品的需求量,实验结果表明随机森林在各项指标都显示出明显优势。深度学习做预测已在其他领域得到广泛应用4-8。近年来,有不少学者将深度学习应用到商品需求预测中。Taghizadeh E9针对沃尔玛历史销售数据,采用人工神经网络(ANN)模型对极端天气敏感的零售商品未来需求量做预测,研究表明在加入了天气这一影响因素后,ANN 比决策树效果更好。包吉祥等人10基于 LSTM 神经网络对某企业纸质类商品需求做预测,实验取得了较好的精度。王渊明11将长短期记忆神经网络(LSTM)优化为具有自适应训练能力的神经网络,对某知名电商食品零售商 12 种 SKU 的月销量做预测,实验结果表明与手工调整参数相比,该方法更有效。本文对大量买家与卖家的交易数据以及消费者行为数据进行分析,将深度学习模型时间卷积网络 TCN 引入到电商商品需求预测中,并与长短期记忆神经网络LSTM 以及机器学习模型随机森林、CBRT、XGBoost进行对比实验,以验证不同模型对电商商品需求量预测的准确率。这将对库存管理者以及供应链管理者提供有效的数据依托,对管理者做合理决策有重要意义。1 建模与分析1.1 机器学习模型1.1.1随机森林随机森林(Random Forests,RF)采用集成学习方法,即将若干个弱学习器结合起来,形成一个强学习器。集成学习分为 Bagging模型和 Boosting模型。RF是 Bagging模型的代表,Bagging 模型是将同类别,彼此之间无强关联的弱学习器,以均等投票机制进行组合而成的强学习器。1.1.2GBRT梯度提升回归树(Gradient Boosting Regression Tree,GBRT),属于梯度提升树(Gradient Boosting Tree,GBT)。梯度提升树是利用损失函数 Loss 的负梯度在当前模型的值作为残差的近似值,即对损失函数 Loss 进行一阶泰勒展开。GBT 是 Boosting 模型,相比 RF 其可以采用更少收稿日期:2022-08-29*基金项目:浙江省教育厅一般科研项目“基于 LSTM-TCN 的电商商品短期需求量预测研究”(SQ1132011800200)作者简介:郑李园(1980),女,浙江宁波人,硕士,助理研究员,研究方向:数据挖掘。通讯作者:吴鑫(1994),女,山东烟台人,硕士研究生,研究方向:数据挖掘、物流工程。2023 年第 1 期111郑李园吴鑫李君等:基于 TCN 的电商商品需求预测的子树来获取更优的精度。1.1.3XGBoostXGBoost 是 GBT 的改进算法,GBT 的目标函数是损失函数,XGBoost 在 GBT 的目标函数基础上加上正则项,来防止过拟合。GBT 对损失函数进行一阶泰勒展开,XGBoost 是对其损失函数进行二阶泰勒展开。XGBoost在训练之前预先对数据进行排序,并保存为模块结构,迭代过程利用此结构,以减小计算量,此模块结构使并行成为了可能,在进行节点分裂时,需要计算每个特征的增益,最终选增益最大的特征进行分裂,各特征的增益计算可多线程进行。1.2 深度学习模型1.2.1LSTM 神经网络长短期记忆神经网络(Long-Short Term Memory,LSTM)内部主要有遗忘门、输入门和输出门 3 个“门”结构。遗忘门会根据当前的输入 xt、上一刻的输出 ht-1和门的偏置项 b 共同决定哪一部分数据记忆需要被遗忘;一般用表示当前时刻第 i 个 LSTM 单元的遗忘门的输出值,由 Sigmoid 单元将权重设置为 0 和 1 之间的值,计算方式如式(1)所示,其中 U f和 W f分别为输入权重和循环权重。(1)1.2.2TCN 神经网络时间卷积网络(Temporal Convolutional Network,TCN)是卷积神经网络 CNN 的变体,它非常适合于建立时间模型,并且结合了 CNN 和 RNN 的框架优势12。TCN 的主要组成部分是扩张卷积和因果卷积,其中扩张卷积是为了改善在处理顺序任务时多个卷积层堆叠在一起使得建模困难的现象13。如示(2)所示为扩张卷积计算公式。其中 f 为过滤器大小,t-di 表示过去某一时刻的方向。(2)扩展卷积相当于在每个相邻滤波器之间引入一个额定步长。当展开因子设置为 1 时,展开卷积可视为正则卷积。为了获得更大的感受野大小,TCN 卷积层的扩展因子呈指数增加。当 TCN 卷积层的扩展因子为()12K且步数为 1 时,网络的感受野大小可用公式(3)计算14。其中 K 是卷积层数。()()1211KRf=+(3)网络使用标准化的 Sigmoid 函数和空间损失层来处理数据15。本文采用 Sigmoid 函数作为激活函数。计算方式如(4)所示。1=1+exp()i (4)本文选择 TCN 的原因是 TCN 与具有相同容量的循环网络结构相比有更长的内存,并且具有平行度、灵活的接收场大小、稳定的梯度、训练所需的低内存和可变长度的输入等优点,在大量任务中其性能都优于 LSTM16。2 实证分析2.1 实验环境实验操作环境是 Windows10 系统,Intel(R)core(TM)i5-6200U CPU 2.30GHz 2.40GHz处理器,内存(RAM)为 8.00GB。实验平台是 Anaconda3、Python3.7 版本,数据分析和处理采用 Numpy 库和 Panadas 库。实验模型用到的框架为 TensorFlow 和 Keras 框架。2.2 数据集本文的数据来源于 M 电商平台,其运营模式为 B2C模式,2014 年 10 月 10 日-2015 年 12 月 27 日,共 210548条样本数据,数据中包含了商品自身属性、市场表现、价格等方面特征。2.3 数据分析及处理首先本文针对收集来的“脏数据”进行数据清洗,主要是对异常值清洗和缺失值的查找。然后对原有数据中商品销量,加购次数、收藏、浏览次数等相关数据的整体情况进行可视化分析。如图 1 所示为平台上商品成交件数相关数据,如图 2 所示为平台上商品的浏览次数部分相关数据。消费者行为(13个)可视化分析之成交件数(qty_alipay)140001200010000800060004000200002014-112015-012015-032015-052015-072015-092015-112016-01图 1 平台商品成交件数Fig.1 Number of transactions of platform commodities数字技术与应用 第 41 卷112从图 1、图 2 可以看出商品的需求量与浏览次数成正相关。说明原始特征对销量的影响是存在的,但是原始特征之间是否存在内在联系以及特征之间具体是如何影响商品需求的,这就需要进一步构建衍生特征并通过模型来对特征进行学习,发现特征与需求之间的深层联系。2.4 衍生特征构建本文根据原始数据构造相关衍生特征,衍生特征构造情况如表 1 所示。表 1 衍生特征群Tab.1 Derived feature group特征因素名称说明商品商品热度商品销量/商品点击量价格商品折扣商品的优惠折扣最低价商品销售以来的最低价最高价商品销售以来的最高价均价商品过去 n 周以来的平均价格市场表现转化率浏览点击、加购、收藏成交等转化率商品销量最大、最小、均值商品热销商品销量/浏览次数2.5 实验结果对比分析2.5.1评估指标本文选取回归模型常用的评估指标均方根误差(Root Mean Square Error,RMSE)和拟合优度(R2得分)作为商品需求预测模型的评估指标。RMSE 是预测误差平方和与观测次数比值的平方根,用来平衡预测值与真实值的偏差,其计算公式如式(5)所示,其中,n 代表样本的数量,yt代表样本 t 的真实值,y t是模型对 yt的预测值,RMSE 越小模型效果越好。R2得分表示目标向量的变化中有多少能通过模型进行解释,R2越接近 1,代表模型性能越好,其计算公式如式(6)所示。其中,n 代表样本的数量,yt代表样本 t 的真实值,y t是模型对 yt的预测值,y-表示目标向量的平均值。(5)(6)2.5.2实验结果对比分析将处理好的数据输入到构建好的深度学习模型TCN、LSTM 中和机器学习模型 RF、GBRT、XGBoost中对 M 平台电商商品需求量进行预测,模型预测结果的R2值如表 2 所示,RMSE 值如表 3 所示。表 2 模型预测结果的 R2值Tab.2 R2 value of model prediction resultitem_idR2RFR2GBRTR2XGBoostR2LSTMR2TCN1037610.54550.53660.65380.98130.980434240.56050.48090.70060.96850.9878537350.35200.71960.55630.69880.96861455580.40040.31320.61020.69400.93971448740.62130.48850.67480.87140.98411218950.56130.53370.65020.97350.98651289190.35900.50370.51070.90080.9431293090.37560.21390.47880.90130.8967857810.38410.41320.47930.72680.89341002930.19490.38100.34060.50150.84301107630.2174-2.2032-2.65860.73170.4293935190.32910.28850.29860.38080.4283表 2 中,部分商品的 R2值效果较差,查看商品信息后发现此类商品均为新上架商品,商品热度低,周销量为个位数,而深度学习模型适用于数据量多、数值相对较大的数据集,所以模型对商品热度低的商品预测效果相对较差。随着周销量数值的增大,模型 R2的值越趋向于 1,模型效果越好。并且从 5 种模型的 R2值可以看出消费者行为(13个)可视化分析之浏览次数(pv_ipv)50000040000030000020000010000002014-112