?

基于混合神經網絡模型的卷煙投放預測方法

2024-02-05 05:57張吳波馬勛政
關鍵詞:銷售量檔位卷煙

鄒 旺,張吳波,2,馬勛政,3

(1.湖北汽車工業學院,電氣與信息工程學院,湖北 十堰 442002;2.武漢科技大學,計算機科學與技術學院,湖北 武漢 430081; 3.湖北省煙草公司十堰市公司,湖北 十堰 442000)

煙草部門落實國家“總量控制,稍緊平衡”的方針,為了更好的消化社會庫存,促進市場良性發展,在每輪投放中都會根據卷煙規格和不同檔位的零售戶來制定具體的投放策略.由于卷煙品種繁多,投放策略需要每輪重新制定,任務繁重,同時存在主觀情感等局限性,難以實現大規模的準確計算.建立科學的卷煙投放預測模型有利于煙草專賣局對資源合理的利用和產品精確的投放,有利于推進精細化管理.

目前卷煙投放預測技術的研究主要包括傳統方法和機器學習方法.傳統方法是應用概率統計學和計量經濟學的思想,建立概率模型或多組線性函數去擬合并預測卷煙歷史銷售數據.王偉民等[1]提出1種基于灰色馬爾科夫模型的卷煙需求預測方法,并在10年的全國卷煙銷量數據集上驗證該模型的準確性.王詩豪等[2]集成差分自回歸移動平均模型(ARIMA)、向量自回歸模型(VAR)、支持向量回歸(SVR)以及習慣消費下的卷煙需求模型來實現卷煙需求的預測.隨著機器學習算法的廣受矚目,不少研究者逐漸將其引入到卷煙銷量預測的任務中.武牧等[3]提出1種線性模型整合支持向量機(SVM)的卷煙銷量預測方法,該模型相比ARIMA模型的誤差率降低45.79%.為了進一步提升學習器的性能,研究者考慮將單個學習器融合向集成學習方向發展.目前,集成學習按照優化方向可以分為用于減少方差的裝袋算法(Bagging)[4]、用于減少偏差的提升算法(Boosting)[5]、用于提升準確率的堆疊算法(Stacking)[6]3大類.韓偉民等[7]提出1種極端梯度提升(XGBoost)的卷煙創新產品的工商交易預測.機器學習方法中的深度學習算法的適用性更廣、精度較優.在卷煙銷量預測中廣泛使用有門控神經網絡特點的長短期記憶網絡(LSTM)[8]和循環門控單元(GRU)[9]模型.鄧超等[10]提出1種基于LSTM和BP神經網絡模型的卷煙智能投放模型,該模型能實現產品銷量的預測和卷煙產品投放策略的生成.

1 相關技術

1.1 GRU神經網絡

GRU作為LSTM的改進優化模型,擁有更少的參數和簡單的結構.GRU只包含更新門、重置門兩種門控結構,更新門負責對信息的篩選和存儲;重置門負責對上一節點狀態選擇性遺忘.GRU內部結構如圖1所示.

圖1 GRU結構圖

其中,Xt表示當前節點的輸入;ht-1表示上一節點的隱藏狀態;r為重置門;z為更新門;h′為候選隱藏狀態;ht表示傳遞給下一節點的隱藏狀態.GRU內部計算如式(1)-(4)所示.

r=σ(w1[ht-1,Xt]+b1).

(1)

z=σ(w2[ht-1,Xt]+b2).

(2)

h′=tanh(w3[r?ht-1,Xt]+b3).

(3)

ht=(1-z)?ht-1+z?h′.

(4)

其中:σ表示Sigmoid激活函數;tanh為激活函數;[ ]表示兩個向量相連接;W1-3為權重矩陣;b1-3為偏置項.

1.2 Boosting-GRU模型

Boosting算法的思想是將多個基學習器串聯組合,通過不斷的調整樣本權重來訓練每個基學習器,然后計算每個基學習器的權重值,待所有基學習器訓練完成后,按相應的權重值線性組合所有基學習器得到一個整體模型,以此來提升模型的性能.更新樣本權重的目的是使本輪預測錯誤的樣本在下一輪訓練中得到更大的權重,受到更多的重視[11].權重值用于評估每個基學習器的重要性,基學習器預測越準確在整體模型中的權重越大.

圖2 Boosting-GRU模型結構

Boosting-GRU模型的結構如圖2所示,在Boosting模型中采用多個GRU模型作為基學習器.首先對訓練集分配初始樣本權重值,將帶樣本權重值1訓練集輸入到GRU1模型中進行訓練.然后采用測試集進行模型的預測,計算預測的誤差率并以此來更新樣本權重2和計算當前基學習器的權重值1.最后采用帶樣本權重值2訓練集訓練第二個基學習器,依次串聯的訓練所有的基學習器.

2 卷煙產品投放策略生成模型

產品投放策略生成模型如圖3所示.為精確的預測投放值序列(即下一年48輪投放值組成的序列),卷煙產投放策略生成模型采用3種不同的方法來計算投放值.第1種方法首先采用多元預測模型得到產品銷售量序列,然后通過銷售量與投放值之間的關系來計算投放值序列1;第2種方法直接采用多元預測模型來計算投放值序列2;第3種方法采用多分類模型進行海量數據的訓練并預測投放值序列3,最后選擇3種序列中誤差值最小的序列為最終序列.

圖3 卷煙產品投放策略生成模型

2.1 數據處理

數據處理將歷史銷售數據處理為模型所需的輸入數據,歷史銷量數據為A卷煙產品的所有零售戶的訂購信息,其中包括時間、檔位、投放值、訂購量(銷售量)、定足率、訂單滿足率共6條信息.首先將數據按不同的檔位劃分為1~30份數據,該數據可以用于訓練GRU多分類模型.然后在檔位劃分的基礎之上按時間進一步處理,得到數據包括總戶數、訂購戶數、銷售量(累加)、投放值、定足率(均值)、訂單滿足率(均值)、訂購率(計算).其中定足率、訂單滿足率、訂購率的計算方法如下:

定足率=(訂購量÷投放量)×100%.

訂單滿足率=(客戶訂購量÷客戶需求量)×100%.

訂購率=(訂購戶數÷總戶數)×100%.

最后將數據進行監督學習處理來用于訓練Boosting-GRU多元預測模型.

2.2 多元預測模型原理

采用神經網絡模型進行序列預測前需要對數據進行監督學習處理[12],設定一定長度的“回溯”值.例如,投放值序列為15,10,10,5,5,回溯值設置為1,則預測模型訓練數據為x=[15,10,10,5]、y=[10,10,5,5];回溯值設置為2,則預測模型訓練數據為x=[[15,10],[10,10],[10,5]]、y=[10,5,5],即采用前回溯個數據x來預測后一個數據y.多元預測是將每一行的總戶數、訂購戶數、銷售量、投放值、定足率、訂單滿足率、訂購率采用歸一化處理至0~1之間,然后將x作為數據y為標簽輸入Boosting-GRU模型進行訓練,通過GRU模型捕捉這7種數據之間的關系和各自數據隨時間變化的前后聯系,Boosting算法能降低GRU模型預測的偏差,模型輸出的結果為產品銷售量序列和投放值序列.

煙草行業常規的投放策略主要按“檔位”來制定.例如A產品卷煙在第1擋位投放5條,第2檔位投放6條,….則屬于1擋位的零售戶訂購上限為5條,屬于2檔位的零售戶訂購上限為6條,依次類推.由此來計算投放值的估值,第N檔位零售戶下一輪關于A產品銷售量SN和投放值TN之間的計算公式如下:

TN=SN÷(SN總戶數×RN訂購率), 1≤N≤30.

(5)

其中,銷售量SN通過模型預測得到;SN總戶數為第N檔位零售戶數量;RN訂購率為第N檔位的訂購率.

由于投放值只能為整數,采用公式計算和模型預測的投放值會存在小數的問題,模型采用四舍五入函數進行取整.

2.3 多分類模型原理

多分類模型采用有監督的學習方式,數據集為同檔位內的零售戶所有信息,將投放值作為標簽y,其它相關數據為x.首先統計投放值有多少類值來確定模型屬于幾分類任務,如果投放值設置為1~15那么模型設置為15分類.然后將數據轉化為計算機便于計算的形式,即x數據歸一化至0~1之間,標簽y數據采用獨立熱編碼表示.最后將(x,y)輸入到GRU模型中進行訓練,模型會根據標簽y來挖掘x數據之間的關聯,并通過全連接層和Softmax層計算投放值類別的概率.由于模型在測試集上預測的不確定性,同時還需要對預測的結果進行篩選來確定最適合該時間段的投放值,篩選原則在某時間段預測結果類別數量最多則為該時間的投放值.

3 實驗驗證

3.1 數據集

實驗的數據來源湖北省煙草公司十堰公司2016年1月1日至2021年12月30日的 2 630 萬條歷史銷售數據,為實現對具體產品不同檔位零售戶的投放預測,選取191萬條紅金龍軟裝精品為實驗對象.對實驗數據按照檔位處理得到30份平均6.4萬條的歷史銷售數據,卷煙產品按周投放,不包括假期每年共48輪投放,按照時間段處理得到288條累計數據.采用2016-2020年時間段內的數據為訓練集,2021年時間段內的數據為測試集,在2021年數據上驗證投放策略生成模型的性能.卷煙產品投放策略生成模型的各部分輸入輸出和數據集劃分如表1、表2所示.

表1 模型各部分的輸入輸出

表2 模型各部分的數據集劃分

表3 各種預測方法的平均準確率對比

3.2 實驗設置及評價指標

實驗在Windows10上進行,CPU為Intel(R) Core(TM) i9,3.10GHz,GPU為RTX3060 12G,編程語言為Python3.7,深度學習框架為Tensorflow 2.4.1和Keras 2.4.3.

實驗中模型的的參數設置:GRU中隱藏單元數為256;Boosting算法中GRU模型的個數為10;迭代次數為20次;批次大小設置為32;學習率為1e-5;優化器Adam;為防止過擬合dropout設置為0.2;預測模型的損失函數為均方根誤差;分類模型的損失函數為交叉熵代價函數.

實驗選用準確率和平均絕對誤差(MAE)作為投放策略生成模型的衡量指標,其計算過程如下式(6)-(7)所示.

(6)

(7)

3.3 銷售量預測

銷售量預測通過多元預測模型來實現,為了驗證Boosting-GRU多元預測模型的準確性,實驗同時采用支持向量回歸(SVR)、邏輯回歸(LR)、決策樹(DT)、隨機森林(RF)、季節性差分回歸移動平均模型(SARIMA)、GRU神經網絡模型共6種回歸預測方法作為對比.計算幾種方法在1~30檔位零售戶的歷史銷售數據上預測銷售量的準確率并取平均值,各種方法預測的平均準確率對比如下表3所示.為便于直觀的觀測模型預測的性能,列舉多元預測模型在1檔、15檔和25檔零售戶上紅金龍軟裝精品卷煙2021年的銷售量預測如下圖4所示.

圖4 多元預測模型的預測對比

由表3可知,Boosting-GRU模型在不同檔位數據上的預測相比其它預測方法預測效果更優,平均預測準確率達到97.64%,對比另外6種預測方法的平均準確率最低提升1.67%,最高提升5.44%.由圖4觀測可知,在列舉的1檔、15檔和25檔零售戶檔位上預測的效果均為:Boosting-GRU>GRU>SARIMA,神經網絡的預測結果要優于傳統預測模型,而結合Boosting算法的神經網絡模型能通過不斷調整樣本權重來降低預測結果的誤差,從而提高整體模型的預測能力.

3.4 投放策略生成模型驗證

卷煙產品投放策略生成模型在十堰市2021年紅金龍軟裝精品的1~30檔位零售戶的歷史銷售數據上進行驗證,通過觀測模型銷售量預測值以及投放值序列的平均絕對誤差來驗證模型的性能,實驗結果如下表4所示.為便于直觀的觀測投放策略生成模型性能,同時列舉模型在1檔、15檔和25檔零售戶上紅金龍軟裝精品卷煙2021年的投放策略生成效果,如下圖5所示.

表4 投放策略生成模型驗證

圖5 投放策略生成模型預測效果

由表4對比計算可知,實際銷量和預測的銷量的差值均在100條以內.通過對比各投放值序列的誤差,最終序列的平均絕對誤差均低于20%.分析原因,最終序列是選擇3種投放值序列誤差最小的序列,因此最終序列更符合卷煙產品的投放策略.由圖5觀測可知,投放策略生成模型分別采用3種不同的方法計算投放值序列,在1檔和15檔零售戶數據上預測效果,投放值序列2要優于投放值序列1和投放值序列3,模型最終會選擇投放值序列2作為最終投放策略;在25檔零售戶數據集上預測的效果,投放值序列3優于投放值序列2和投放值序列1,即模型最終會選擇投放值序列3作為最終投放策略.

4 結語

為科學制定卷煙產品投放策略,結合GRU神經網絡模型和Boosting集成學習算法各自的優點,提出一種混合神經網絡模型的卷煙投放預測方法.該模型采用Boosting-GRU多元預測模型、產品銷量至投放值計算以及GRU多分類模型3種方法來分別計算卷煙產品投放值序列,并選擇誤差最小為最終的投放值序列.在湖北省十堰市卷煙產品的歷史銷售數據上進行實驗,實驗結果表明,該模型能很好的完成卷煙投放策略生成任務.

猜你喜歡
銷售量檔位卷煙
三繞組變壓器運行分接頭檔位計算及電壓分析
三繞組變壓器運行分接頭檔位計算及電壓分析
2017年美國電動自行車銷售量增長了440%
美國豆粕出口銷售量預計為0到18萬噸
引入分接頭檔位的換流變差動保護方案研究
基于單片機的變壓器檔位監測雙輸入BCD編碼器
卷煙包裝痕跡分析
2013年美國鈦產品銷售量出現大幅下滑
我國卷煙需求預測研究述評
卷煙引燃傾向測試方法的研究與改進
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合