鄭李園 吳鑫 李君 茅智慧 陳煒偉
1.浙江萬(wàn)里學(xué)院信息與智能工程學(xué)院;2.寧波市海曙區(qū)教育局教研室
精確的商品需求預(yù)測(cè)可以有效減少缺貨和降低庫(kù)存積壓,幫助企業(yè)制定合理的訂貨策略和庫(kù)存決策。本文將深度學(xué)習(xí)模型時(shí)間卷積網(wǎng)絡(luò)TCN 引入到電商商品需求預(yù)測(cè)中,并與長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM 以及機(jī)器學(xué)習(xí)模型隨機(jī)森林、CBRT、XGBoost 進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證了TCN 模型的預(yù)測(cè)精度最高,有助于TCN 模型在商品需求預(yù)測(cè)中的推廣應(yīng)用。
電商發(fā)展迅速,同時(shí)面臨了諸多挑戰(zhàn),如何有效降低庫(kù)存成本成為決策者的一大難題。如何利用數(shù)據(jù)挖掘技術(shù)實(shí)現(xiàn)精確的商品需求預(yù)測(cè),成為電商平臺(tái)降低庫(kù)存成本,提高自身競(jìng)爭(zhēng)力的有效手段。
但由于電商商品類目繁多,種類龐大,每類商品的需求影響因素不同,而且受季節(jié)、節(jié)假日、促銷活動(dòng)等影響,使得精確預(yù)測(cè)電商商品需求量面臨著巨大挑戰(zhàn)。通過(guò)挖掘消費(fèi)者行為數(shù)據(jù),可以有效替代商品自身因素、季節(jié)以及節(jié)假日等因素對(duì)需求量的影響。學(xué)者們利用不同方法對(duì)商品需求量進(jìn)行預(yù)測(cè),Demiriz[1]利用線性回歸模型對(duì)服裝零售商品每周需求量進(jìn)行預(yù)測(cè)研究。Zhang Y[2]針對(duì)水產(chǎn)養(yǎng)殖產(chǎn)量和出口規(guī)模預(yù)測(cè)中存在的問(wèn)題,提出了一套優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)算法的產(chǎn)量預(yù)測(cè)模型,取得了不錯(cuò)的預(yù)測(cè)效果。李長(zhǎng)春[3]對(duì)阿里平臺(tái)的交易數(shù)據(jù)進(jìn)行挖掘,用多元回歸、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)未來(lái)兩周商品的需求量,實(shí)驗(yàn)結(jié)果表明隨機(jī)森林在各項(xiàng)指標(biāo)都顯示出明顯優(yōu)勢(shì)。深度學(xué)習(xí)做預(yù)測(cè)已在其他領(lǐng)域得到廣泛應(yīng)用[4-8]。近年來(lái),有不少學(xué)者將深度學(xué)習(xí)應(yīng)用到商品需求預(yù)測(cè)中。Taghizadeh E[9]針對(duì)沃爾瑪歷史銷售數(shù)據(jù),采用人工神經(jīng)網(wǎng)絡(luò)(ANN)模型對(duì)極端天氣敏感的零售商品未來(lái)需求量做預(yù)測(cè),研究表明在加入了天氣這一影響因素后,ANN 比決策樹(shù)效果更好。包吉祥等人[10]基于LSTM 神經(jīng)網(wǎng)絡(luò)對(duì)某企業(yè)紙質(zhì)類商品需求做預(yù)測(cè),實(shí)驗(yàn)取得了較好的精度。王淵明[11]將長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)優(yōu)化為具有自適應(yīng)訓(xùn)練能力的神經(jīng)網(wǎng)絡(luò),對(duì)某知名電商食品零售商12 種SKU 的月銷量做預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明與手工調(diào)整參數(shù)相比,該方法更有效。
本文對(duì)大量買家與賣家的交易數(shù)據(jù)以及消費(fèi)者行為數(shù)據(jù)進(jìn)行分析,將深度學(xué)習(xí)模型時(shí)間卷積網(wǎng)絡(luò)TCN 引入到電商商品需求預(yù)測(cè)中,并與長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM 以及機(jī)器學(xué)習(xí)模型隨機(jī)森林、CBRT、XGBoost進(jìn)行對(duì)比實(shí)驗(yàn),以驗(yàn)證不同模型對(duì)電商商品需求量預(yù)測(cè)的準(zhǔn)確率。這將對(duì)庫(kù)存管理者以及供應(yīng)鏈管理者提供有效的數(shù)據(jù)依托,對(duì)管理者做合理決策有重要意義。
1.1.1 隨機(jī)森林
隨機(jī)森林(Random Forests,RF)采用集成學(xué)習(xí)方法,即將若干個(gè)弱學(xué)習(xí)器結(jié)合起來(lái),形成一個(gè)強(qiáng)學(xué)習(xí)器。集成學(xué)習(xí)分為Bagging 模型和Boosting 模型。RF 是Bagging模型的代表,Bagging 模型是將同類別,彼此之間無(wú)強(qiáng)關(guān)聯(lián)的弱學(xué)習(xí)器,以均等投票機(jī)制進(jìn)行組合而成的強(qiáng)學(xué)習(xí)器。
1.1.2 GBRT
梯度提升回歸樹(shù)(Gradient Boosting Regression Tree,GBRT),屬于梯度提升樹(shù)(Gradient Boosting Tree,GBT)。梯度提升樹(shù)是利用損失函數(shù)Loss 的負(fù)梯度在當(dāng)前模型的值作為殘差的近似值,即對(duì)損失函數(shù)Loss 進(jìn)行一階泰勒展開(kāi)。GBT 是Boosting 模型,相比RF 其可以采用更少的子樹(shù)來(lái)獲取更優(yōu)的精度。
1.1.3 XGBoost
XGBoost 是GBT 的改進(jìn)算法,GBT 的目標(biāo)函數(shù)是損失函數(shù),XGBoost 在GBT 的目標(biāo)函數(shù)基礎(chǔ)上加上正則項(xiàng),來(lái)防止過(guò)擬合。GBT 對(duì)損失函數(shù)進(jìn)行一階泰勒展開(kāi),XGBoost 是對(duì)其損失函數(shù)進(jìn)行二階泰勒展開(kāi)。XGBoost在訓(xùn)練之前預(yù)先對(duì)數(shù)據(jù)進(jìn)行排序,并保存為模塊結(jié)構(gòu),迭代過(guò)程利用此結(jié)構(gòu),以減小計(jì)算量,此模塊結(jié)構(gòu)使并行成為了可能,在進(jìn)行節(jié)點(diǎn)分裂時(shí),需要計(jì)算每個(gè)特征的增益,最終選增益最大的特征進(jìn)行分裂,各特征的增益計(jì)算可多線程進(jìn)行。
1.2.1 LSTM 神經(jīng)網(wǎng)絡(luò)
長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)內(nèi)部主要有遺忘門、輸入門和輸出門3 個(gè)“門”結(jié)構(gòu)。遺忘門會(huì)根據(jù)當(dāng)前的輸入xt、上一刻的輸出ht-1和門的偏置項(xiàng)b共同決定哪一部分?jǐn)?shù)據(jù)記憶需要被遺忘;一般用表示當(dāng)前時(shí)刻第i個(gè)LSTM 單元的遺忘門的輸出值,由Sigmoid 單元將權(quán)重設(shè)置為0 和1 之間的值,計(jì)算方式如式(1)所示,其中U f和W f分別為輸入權(quán)重和循環(huán)權(quán)重。

1.2.2 TCN 神經(jīng)網(wǎng)絡(luò)
時(shí)間卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)是卷積神經(jīng)網(wǎng)絡(luò)CNN 的變體,它非常適合于建立時(shí)間模型,并且結(jié)合了CNN 和RNN 的框架優(yōu)勢(shì)[12]。TCN 的主要組成部分是擴(kuò)張卷積和因果卷積,其中擴(kuò)張卷積是為了改善在處理順序任務(wù)時(shí)多個(gè)卷積層堆疊在一起使得建模困難的現(xiàn)象[13]。如示(2)所示為擴(kuò)張卷積計(jì)算公式。其中f為過(guò)濾器大小,t-di表示過(guò)去某一時(shí)刻的方向。

擴(kuò)展卷積相當(dāng)于在每個(gè)相鄰濾波器之間引入一個(gè)額定步長(zhǎng)。當(dāng)展開(kāi)因子設(shè)置為1時(shí),展開(kāi)卷積可視為正則卷積。為了獲得更大的感受野大小,TCN 卷積層的擴(kuò)展因子呈指數(shù)增加。當(dāng)TCN 卷積層的擴(kuò)展因子為 2(K?1)且步數(shù)為1時(shí),網(wǎng)絡(luò)的感受野大小可用公式(3)計(jì)算[14]。其中K是卷積層數(shù)。

網(wǎng)絡(luò)使用標(biāo)準(zhǔn)化的Sigmoid 函數(shù)和空間損失層來(lái)處理數(shù)據(jù)[15]。本文采用Sigmoid 函數(shù)作為激活函數(shù)。計(jì)算方式如(4)所示。

本文選擇TCN 的原因是TCN 與具有相同容量的循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)相比有更長(zhǎng)的內(nèi)存,并且具有平行度、靈活的接收?qǐng)龃笮 ⒎€(wěn)定的梯度、訓(xùn)練所需的低內(nèi)存和可變長(zhǎng)度的輸入等優(yōu)點(diǎn),在大量任務(wù)中其性能都優(yōu)于LSTM[16]。
實(shí)驗(yàn)操作環(huán)境是Windows10 系統(tǒng),Intel(R)core(TM)i5-6200U CPU @2.30GHz 2.40GHz 處理器,內(nèi)存(RAM)為8.00GB。實(shí)驗(yàn)平臺(tái)是Anaconda3、Python3.7 版本,數(shù)據(jù)分析和處理采用Numpy 庫(kù)和Panadas 庫(kù)。實(shí)驗(yàn)?zāi)P陀玫降目蚣転門ensorFlow 和Keras 框架。
本文的數(shù)據(jù)來(lái)源于M 電商平臺(tái),其運(yùn)營(yíng)模式為B2C模式,2014 年10 月10 日-2015 年12 月27日,共210548條樣本數(shù)據(jù),數(shù)據(jù)中包含了商品自身屬性、市場(chǎng)表現(xiàn)、價(jià)格等方面特征。
首先本文針對(duì)收集來(lái)的“臟數(shù)據(jù)”進(jìn)行數(shù)據(jù)清洗,主要是對(duì)異常值清洗和缺失值的查找。然后對(duì)原有數(shù)據(jù)中商品銷量,加購(gòu)次數(shù)、收藏、瀏覽次數(shù)等相關(guān)數(shù)據(jù)的整體情況進(jìn)行可視化分析。如圖1 所示為平臺(tái)上商品成交件數(shù)相關(guān)數(shù)據(jù),如圖2 所示為平臺(tái)上商品的瀏覽次數(shù)部分相關(guān)數(shù)據(jù)。

圖1 平臺(tái)商品成交件數(shù)Fig.1 Number of transactions of platform commodities

圖2 平臺(tái)商品被瀏覽次數(shù)Fig.2 Number of views of platform products
從圖1、圖2 可以看出商品的需求量與瀏覽次數(shù)成正相關(guān)。說(shuō)明原始特征對(duì)銷量的影響是存在的,但是原始特征之間是否存在內(nèi)在聯(lián)系以及特征之間具體是如何影響商品需求的,這就需要進(jìn)一步構(gòu)建衍生特征并通過(guò)模型來(lái)對(duì)特征進(jìn)行學(xué)習(xí),發(fā)現(xiàn)特征與需求之間的深層聯(lián)系。
本文根據(jù)原始數(shù)據(jù)構(gòu)造相關(guān)衍生特征,衍生特征構(gòu)造情況如表1 所示。

表1 衍生特征群Tab.1 Derived feature group
2.5.1 評(píng)估指標(biāo)
本文選取回歸模型常用的評(píng)估指標(biāo)均方根誤差(Root Mean Square Error,RMSE)和擬合優(yōu)度(R2得分)作為商品需求預(yù)測(cè)模型的評(píng)估指標(biāo)。RMSE 是預(yù)測(cè)誤差平方和與觀測(cè)次數(shù)比值的平方根,用來(lái)平衡預(yù)測(cè)值與真實(shí)值的偏差,其計(jì)算公式如式(5)所示,其中,n 代表樣本的數(shù)量,yt代表樣本t的真實(shí)值,是模型對(duì)yt的預(yù)測(cè)值,RMSE越小模型效果越好。R2得分表示目標(biāo)向量的變化中有多少能通過(guò)模型進(jìn)行解釋,R2越接近1,代表模型性能越好,其計(jì)算公式如式(6)所示。其中,n 代表樣本的數(shù)量,yt代表樣本t的真實(shí)值,是模型對(duì)yt的預(yù)測(cè)值,表示目標(biāo)向量的平均值。

2.5.2 實(shí)驗(yàn)結(jié)果對(duì)比分析
將處理好的數(shù)據(jù)輸入到構(gòu)建好的深度學(xué)習(xí)模型TCN、LSTM 中和機(jī)器學(xué)習(xí)模型RF、GBRT、XGBoost中對(duì)M 平臺(tái)電商商品需求量進(jìn)行預(yù)測(cè),模型預(yù)測(cè)結(jié)果的R2值如表2 所示,RMSE 值如表3 所示。

表2 模型預(yù)測(cè)結(jié)果的R2值Tab.2 R2 value of model prediction result

表3 模型預(yù)測(cè)結(jié)果的RMSE值Tab.3 RMSE value of model prediction result
表2中,部分商品的R2值效果較差,查看商品信息后發(fā)現(xiàn)此類商品均為新上架商品,商品熱度低,周銷量為個(gè)位數(shù),而深度學(xué)習(xí)模型適用于數(shù)據(jù)量多、數(shù)值相對(duì)較大的數(shù)據(jù)集,所以模型對(duì)商品熱度低的商品預(yù)測(cè)效果相對(duì)較差。隨著周銷量數(shù)值的增大,模型R2的值越趨向于1,模型效果越好。并且從5 種模型的R2值可以看出TCN 模型預(yù)測(cè)值與真實(shí)值的擬合效果最好,GBRT 模型效果相對(duì)較差。
表3 加粗字體對(duì)比了5 種模型的最優(yōu)RMSE 和最差RMSE,發(fā)現(xiàn)TCN 模型的穩(wěn)定性更好,其次是LSTM模型;從5 種模型的RMSE 均值可以發(fā)現(xiàn)精度最優(yōu)的仍然是TCN 模型,TCN 模型對(duì)電商商品需求的預(yù)測(cè)效果優(yōu)于LSTM 模型,這是因?yàn)門CN 擁有一維卷積核可以大規(guī)模并行處理數(shù)據(jù),而LSTM 是按順序處理數(shù)據(jù),模型效率高;TCN 擁 有穩(wěn)定的梯度,與LSTM 不同,TCN 不存在梯度消失和梯度爆炸的問(wèn)題。機(jī)器學(xué)習(xí)算法對(duì)電商商品需求預(yù)測(cè)的模型效果稍微遜色于深度學(xué)習(xí)算法,表3 中顯示在機(jī)器學(xué)習(xí)算法中RF 模型的穩(wěn)定性相對(duì)較弱,GBRT 模型的穩(wěn)定性效果最優(yōu),XGBoost 模型精度最優(yōu)。
為了精確預(yù)測(cè)多種電商商品的需求量,將深度學(xué)習(xí)模型時(shí)間卷積網(wǎng)絡(luò)TCN 引入到電商商品需求預(yù)測(cè)中,并與長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM 以及機(jī)器學(xué)習(xí)模型隨機(jī)森林、CBRT、XGBoost 進(jìn)行對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)TCN 網(wǎng)絡(luò)的預(yù)測(cè)精度及穩(wěn)定性都優(yōu)于LSTM 網(wǎng)絡(luò)以及上述機(jī)器學(xué)習(xí)模型。驗(yàn)證了TCN 模型的預(yù)測(cè)精度最高,穩(wěn)定性更強(qiáng),有助于TCN 模型在商品需求預(yù)測(cè)中的推廣應(yīng)用。
引用
[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] 李長(zhǎng)春.大數(shù)據(jù)背景下的商品需求預(yù)測(cè)與分倉(cāng)規(guī)劃[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2017,47(7):70-79.
[4] 楊茂,朱亮.基于FA-PCA-LSTM的光伏發(fā)電短期功率預(yù)測(cè)[J].昆明理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,44(1):61-68.
[5] 馬天男,王超,彭麗霖,等.計(jì)及需求響應(yīng)和深度結(jié)構(gòu)多任務(wù)學(xué)習(xí)的電力系統(tǒng)短期負(fù)荷預(yù)測(cè)[J].電測(cè)與儀表,2019,56(16):50-60.
[6] 方志強(qiáng),王曉輝,夏通.基于長(zhǎng)短期記憶網(wǎng)絡(luò)的售電量預(yù)測(cè)模型研究[J].電力工程技術(shù),2018,37(3):78-83.
[7] 常子漢.基于小波變換與Adam優(yōu)化的LSTM電價(jià)預(yù)測(cè)研究[D].蘭州:蘭州大學(xué),2019.
[8] 李月龍,唐德華,姜桂圓,等.基于維度加權(quán)的殘差LSTM短期交通流量預(yù)測(cè)[J].計(jì)算機(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] 包吉祥,李林,趙夢(mèng)鴿.基于考慮滯后性LSTM模型的電商需求預(yù)測(cè)[J/OL].計(jì)算機(jī)工程與應(yīng)用:1-13[2022-03-17].
[11] 王淵明.基于LSTM神經(jīng)網(wǎng)絡(luò)的電商需求預(yù)測(cè)的研究[D].濟(jì)南:山東大學(xué),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] 李燕飛,王子琪,余澄慶.基于時(shí)間強(qiáng)化學(xué)習(xí)卷積網(wǎng)絡(luò)的多數(shù)據(jù)驅(qū)動(dòng)風(fēng)電預(yù)測(cè)新模型(英文)[J/OL].Journal of Central South University:1-17[2021-06-01].
數(shù)字技術(shù)與應(yīng)用2023年1期