熊芷瑤 李林
摘? 要:針對零售業(yè)的生鮮類商品存在易損耗、貨架周期短、明顯的季節(jié)性等特點(diǎn),提出一種新的組合預(yù)測模型。采用SARIMA-LSTM組合模型綜合供應(yīng)商、零售商、用戶三方面考慮需求影響因素如準(zhǔn)時交貨率、綜合成本、氣溫狀況、銷售金額等,并結(jié)合貝葉斯優(yōu)化算法對LSTM進(jìn)行超參數(shù)選擇,將SARIMA的模型預(yù)測值和實(shí)際值間的誤差序列進(jìn)行修正并得到預(yù)測值。實(shí)驗(yàn)證明,考慮需求影響因素的組合預(yù)測模型比單一傳統(tǒng)統(tǒng)計(jì)方法的預(yù)測精度要高,并對以后零售業(yè)庫存管理有一定的建設(shè)意義。
關(guān)鍵詞:SARIMA;LSTM;組合預(yù)測模型;貝葉斯優(yōu)化算法;庫存需求預(yù)測
中圖分類號:F253? ? 文獻(xiàn)標(biāo)識碼:A
Abstract: Aiming at the characteristics of fresh goods in retail industry, such as easy wear and tear, short shelf cycle and obvious seasonality, a new combination forecasting model was proposed. The SARIMA-LSTM portfolio model integrated suppliers, retailers and users demand three aspects to consider factors such as on-time delivery rate, comprehensive cost, the temperature condition, the sales amount, etc., and combined with bayesian optimization algorithm for super LSTM parameter selection, the SARIMA model error between the predicted value and actual value sequence modification and predictive value. The experimental results show that the combined forecasting model considering the demand influencing factors has higher forecasting accuracy than the single traditional statistical method, and has a certain construction significance for the future retail inventory management.
Key words: SARIMA; LSTM; combination prediction model; bayesian optimization algorithm; inventory demand forecast
0? 引? 言
庫存需求預(yù)測指根據(jù)物料歷史庫存需求狀況來預(yù)測未來的需求量,屬于庫存管理中重要的一部分。隨著近幾年零售市場庫存物料種類繁多,生命周期短,庫存需求預(yù)測越發(fā)困難。尤其是生鮮類商品,它有著極大的消耗需求,同時本身具有易損耗、易變質(zhì)等特點(diǎn),其庫存控制是需在短時期內(nèi)立即做出決策判斷的,因此及時準(zhǔn)確的預(yù)測庫存需求變得越發(fā)困難。
對于庫存需求量時間序列預(yù)測方面,主要包括統(tǒng)計(jì)方法和機(jī)器學(xué)習(xí)兩大類。比較經(jīng)典傳統(tǒng)的統(tǒng)計(jì)方法有加權(quán)平均法、指數(shù)平均法、灰色預(yù)測[1]等。后來漸漸出現(xiàn)機(jī)器學(xué)習(xí)在預(yù)測方面的應(yīng)用,如BP神經(jīng)網(wǎng)絡(luò)[2]、前饋神經(jīng)網(wǎng)絡(luò)與蝙蝠算法和縮放共軛梯度算法結(jié)合[3]提高了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力和預(yù)測結(jié)果的精度。近年來,單一的預(yù)測模型不能滿足復(fù)雜的庫存需求,逐漸出現(xiàn)考慮需求特性或需求影響因素的預(yù)測模型以及組合預(yù)測模型。龔巍[4]在庫存需求預(yù)測不僅考慮了電力物資的包括重要性、緊急性等需求特性,并且運(yùn)用GA-BP組合預(yù)測模型最終實(shí)現(xiàn)動態(tài)庫存控制。Elcio, Tarallo等[5]運(yùn)用機(jī)器學(xué)習(xí)在短保質(zhì)期和易腐產(chǎn)品在預(yù)測方面的好處,降低零售店的庫存率。
本研究提出基于SARIMA和LSTM的組合預(yù)測模型,并且將領(lǐng)域?qū)<业囊庖姾蜕r類商品庫存的特性結(jié)合起來??紤]需求影響因素成為預(yù)測變量的一部分,應(yīng)用該模型對零售生鮮類商品做出庫存需求預(yù)測,并通過H零售企業(yè)的生鮮品每月庫存需求量進(jìn)行驗(yàn)證。
1? 理論方法
1.1? SARIMA預(yù)測模型
ARIMA全稱為差分移動平均模型,通常被記作ARIMAp,d,q。p表示自回歸項(xiàng)數(shù),d表示讓時間序列平穩(wěn)差分的次數(shù),q表示移動平均項(xiàng)數(shù)。
ARIMA模型的數(shù)學(xué)表達(dá)式如下:
X=λX+λX+…+λX+μ+φμ+φμ+…+φμ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中:X是平穩(wěn)變量,λ是自回歸項(xiàng)系數(shù),μ是殘差,φ是移動平均項(xiàng)系數(shù),δ是常數(shù)項(xiàng),ω是白噪聲序列,也稱為殘差。
SARIMA是建立在ARIMA模型基礎(chǔ)之上的,考慮了其季節(jié)性元素,形式為ARIMAp,d,q×P,D,Q,S,其中p為非季節(jié)性回歸項(xiàng)數(shù),d為非季節(jié)差分階數(shù),q為非季節(jié)移動平均項(xiàng)數(shù),P為季節(jié)性回歸項(xiàng)數(shù),D為季節(jié)性差分階數(shù),Q為季節(jié)性移動平均項(xiàng)數(shù),S為季節(jié)性時間跨度[6]。
本文的研究對象為零售企業(yè)生鮮類商品,具有明顯的季節(jié)性特征,因此擬用ARIMAp,d,q×P,D,Q,S進(jìn)行建模預(yù)測。
1.2? LSTM預(yù)測模型
LSTM是一種特殊的RNN,具有記憶數(shù)據(jù)序列的長期依賴關(guān)系,有著強(qiáng)大的自學(xué)習(xí)能力和非線性擬合能力[7]。如圖1所示,LSTM模型結(jié)構(gòu)中各單元的更新方式如下:
圖1中,x表示該時刻的數(shù)據(jù)信息,激活函數(shù)σ、tanh表達(dá)式通常取如下值:
σx=? ? ? ? ? ? ? ? ? ? ? (2)
tanhx=? ? ? ? ? ? ? ? ? ? ? (3)
f表示遺忘門,能夠過濾前序時刻的狀態(tài)信息,識別前序時刻對后序時刻的影響程度;i表示輸入門,用來控制輸入信息進(jìn)入本時刻信息的比例;o表示輸出門,用于控制本時刻狀態(tài)信息輸出的比例,計(jì)算公式分別為:
f=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
i=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
o=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
其中:W、W、W均是權(quán)重矩陣。如公式(7)所示,c表示本時刻狀態(tài)信息,其值由本時刻輸入信息以及上一時刻狀態(tài)信息決定:
c=f×c+i×? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
其中:=tanh
W
h,
x
+b。h表示本時刻隱藏層的狀態(tài)信息:
h=o×tanh
c? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (8)
1.3? 貝葉斯優(yōu)化算法
貝葉斯優(yōu)化算法能夠在每次迭代中,根據(jù)代理模型擬合實(shí)際目標(biāo)函數(shù)的結(jié)果選擇最優(yōu)評估點(diǎn),減少目標(biāo)函數(shù)的迭代次數(shù),可提高模型泛化能力并避免過擬合現(xiàn)象。
貝葉斯優(yōu)化算法的迭代過程分為三部分:根據(jù)最大化采集函數(shù)選擇最優(yōu)評估點(diǎn);將評估目標(biāo)函數(shù)加入觀測數(shù)據(jù);更新目標(biāo)函數(shù)的后驗(yàn)概率分布和采集函數(shù)。文中采用高斯過程作為代理函數(shù),期望提高函數(shù)為采集函數(shù)。
1.4? 模型實(shí)現(xiàn)及評估方法
研究基于Anaconda環(huán)境下的Python語言對SARIMA模型和LSTM神經(jīng)網(wǎng)絡(luò)模型進(jìn)行編程實(shí)現(xiàn)。其中,SARIMA模型主要通過調(diào)用Statsmodels庫進(jìn)行實(shí)現(xiàn);而LSTM神經(jīng)網(wǎng)絡(luò)模型主要通過Tensorflow作為后端,采用Keras進(jìn)行實(shí)現(xiàn)[8]。
關(guān)于模型評價,研究選用均方誤差MSE、平均絕對誤差MAE、平均絕對百分比誤差MAPE三個指標(biāo)來評價這幾種模型對于該庫存需求的時間序列預(yù)測性能,指標(biāo)數(shù)值越小,說明預(yù)測精度越高,預(yù)測效果越好。這四種評價指標(biāo)表達(dá)式分別為:
MSE=
-y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
MAPE=
(10)
其中:y為實(shí)際觀測值,為預(yù)測值,n代表測試集的樣本數(shù)量。
2? 組合模型的建立
2.1? 數(shù)據(jù)描述
本文采用H零售企業(yè)2010年至2020年連續(xù)11年132個月份的生鮮類商品的庫存需求量數(shù)據(jù)作為基礎(chǔ)研究數(shù)據(jù)。其中前120個的月份數(shù)據(jù)作為訓(xùn)練集,后12個的月份數(shù)據(jù)作為測試集。
2.2? 組合模型中SARIMA模型建立
2.2.1? 序列平穩(wěn)化
(1)平穩(wěn)性檢驗(yàn)及平穩(wěn)化處理
根據(jù)人們對生鮮類商品的購買習(xí)慣,夏季以及全網(wǎng)大促的特定月份會出現(xiàn)非常大的庫存需求量,因此存在明顯的周期性。將序列的趨勢、季節(jié)和隨機(jī)效應(yīng)分解出來繪制時間序列分解圖(圖2)。通過ADF檢驗(yàn)結(jié)果可知,檢驗(yàn)統(tǒng)計(jì)量的值為0.73,并且在90%、95%和99%的置信度下,檢驗(yàn)統(tǒng)計(jì)量的值均大于對應(yīng)的臨界值,所以認(rèn)為該初始時間序列是非平穩(wěn)的。因此,需要進(jìn)行平穩(wěn)化處理。
對原始的序列作1階12步差分來提取原序列的趨勢效應(yīng)和季節(jié)效應(yīng),由差分后的ADF檢驗(yàn)結(jié)果可知,1階12步差分后的序列是平穩(wěn)的。
2.2.2? 模型識別及定階
通過網(wǎng)格搜索遍歷參數(shù)的不同組合,利用AIC準(zhǔn)則評價選取最優(yōu)模型參數(shù)。所得AIC值最低為286.84時,模型為ARIMA1,1,1×1,1,1,12。
2.2.3? 模型擬合及檢驗(yàn)
根據(jù)擬合結(jié)果每個變量的P值均小于0.01,MSE=1.88,MAE=0.9025,MAPE=2.001%,因此可以認(rèn)為擬合的模型是合理的。然后對殘差采用LB檢驗(yàn)法進(jìn)行白噪聲檢驗(yàn),檢驗(yàn)結(jié)果顯示Q統(tǒng)計(jì)量的P值均大于0.05,擬合模型已經(jīng)充分提取了時間序列中的信息。最后對殘差的分布進(jìn)行模型診斷,診斷結(jié)果如圖3所示,殘差分布較為正常,時序圖基本穩(wěn)定,服從正態(tài)分布且自相關(guān)圖中不存在自相關(guān)。綜上,該模型ARIMA1,1,1×1,1,1,12擬合效果很好,具有較好的預(yù)測性能。
2.3? 組合模型中LSTM模型建立
將上文SARIMA模型的殘差指標(biāo)、準(zhǔn)時交貨率、零售綜合成本、銷售金額以及氣溫狀況共五個指標(biāo)作為LSTM模型的輸入變量,預(yù)測2020年中12個月的SARIMA模型的殘差指標(biāo)。
2.3.1? 數(shù)據(jù)歸一化
當(dāng)激活函數(shù)為sigmoid或者tanh時,需要把數(shù)據(jù)標(biāo)準(zhǔn)化,此時LSTM比較敏感。因此采用sklearn.preprocessing模塊中的最大最小值標(biāo)準(zhǔn)MinMaxSealer
函數(shù)將每一維的特征映射到指定區(qū)間——0到1之間。
2.3.2? 模型訓(xùn)練
LSTM神經(jīng)網(wǎng)絡(luò)模型包含三層:輸入層、LSTM層、輸出層,其中LSTM層包含三層LSTM模塊進(jìn)行訓(xùn)練,最后加一層普通的神經(jīng)網(wǎng)絡(luò)用于輸出結(jié)構(gòu)的降維。其中超參數(shù)運(yùn)用貝葉斯優(yōu)化算法進(jìn)行選擇,迭代次數(shù)設(shè)為50次。其中超參數(shù)及取值范圍如表1所示。
3? 算例分析
3.1? SARIMA時間序列預(yù)測
將2020年12個月份的庫存需求量進(jìn)行回代預(yù)測,得到預(yù)測圖如圖4所示。其中MSE=5.0035,RMSE=2.2369,MAE=1.7205,MAPE=3.85%。所得預(yù)測值與實(shí)際值進(jìn)行相減,得到的殘差作為后續(xù)LSTM模型的輸入變量之一,對殘差進(jìn)行修正。
3.2? LSTM殘差修正
利用上文中SARIMA模型的2020年12個測試樣本所得的殘差序列進(jìn)行考慮需求影響因素的LSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測。由圖5驗(yàn)證誤差迭代圖所示,利用貝葉斯優(yōu)化算法對LSTM模型進(jìn)行超參數(shù)優(yōu)化得到誤差值最優(yōu)為第30次。
模型預(yù)測得到的殘差修正值如圖6所示。其中各項(xiàng)評價指標(biāo)分別為MSE=5.72,RMSE=2.39,MAPE=6.22%。
最后,將SARIMA模型預(yù)測所得的12個月的預(yù)測值與LSTM神經(jīng)網(wǎng)絡(luò)的殘差預(yù)測修正值進(jìn)行累加,所得最終結(jié)果為2020年12個月的庫存需求量預(yù)測值。最終累加得到的預(yù)測值計(jì)算出的各項(xiàng)評價指標(biāo)分別為MSE=4.7862,MAE=1.4797,MAPE
=3.34%。
4? 結(jié)果分析
為評估提出的方法,實(shí)驗(yàn)選取幾種主流文獻(xiàn)中的傳統(tǒng)方法進(jìn)行對比分析,對比方法包括灰色理論、樣條回歸、SARIMA、單特征LSTM和多特征LSTM。
以上六種方法所得最終預(yù)測結(jié)果計(jì)算得到的三個誤差指標(biāo)對比如表2所示,以及2020年12個月份的預(yù)測結(jié)果圖如圖7所示。
由對比結(jié)果可知,灰色理論的整體趨勢捕捉較好,但是對于特殊月份的預(yù)測精度很差;而通過加入有效輸入變量,樣條回歸模型對部分特殊月份的預(yù)測效果較好,但整體的波動趨勢并未準(zhǔn)確捕捉。單特征LSTM預(yù)測模型的預(yù)測效果最差,預(yù)測精度最低,該模型既未考慮季節(jié)因素的影響,也未考慮庫存需求影響因素,因此具有較大偏差。考慮了需求影響因素的多特征LSTM預(yù)測模型的預(yù)測精度明顯較高,但是相比加入了季節(jié)因子的SARIMA預(yù)測模型的預(yù)測效果還是要差一些,未準(zhǔn)確抓取季節(jié)波動規(guī)律。SARIMA預(yù)測模型考慮到了時間序列的季節(jié)效應(yīng),整體預(yù)測精度顯著提升,但對于某些月份的預(yù)測還是具有一定差異。而SARIMA-LSTM組合預(yù)測模型既考慮到季節(jié)性又考慮到需求因素影響,盡管LSTM易發(fā)生過擬合現(xiàn)象,但是該組合預(yù)測模型中的LSTM模型僅僅對預(yù)測殘差進(jìn)行修正,對其整體預(yù)測效果影響較小。因此相比其他五種預(yù)測模型,該組合模型的預(yù)測精度最高。
5? 結(jié)束語
針對本文零售業(yè)生鮮類商品庫存需求量時間序列數(shù)據(jù),采取的是一種基于SARIMA-LSTM組合預(yù)測模型,與傳統(tǒng)預(yù)測方法不同的是該方法既考慮到了生鮮類商品的季節(jié)性特點(diǎn),還考慮到四點(diǎn)庫存需求的相關(guān)性較高的影響因素,如準(zhǔn)時交貨率、零售綜合成本、銷售金額、氣溫狀況。通過利用SARIMA模型良好地捕捉季節(jié)性規(guī)律的能力進(jìn)行預(yù)測,然后構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型加入多個影響指標(biāo)輔助預(yù)測SARIMA模型的殘差,盡可能地降低LSTM過擬合現(xiàn)象。對比傳統(tǒng)預(yù)測模型,得到組合模型的預(yù)測性能最佳。因此該組合預(yù)測方法對于零售業(yè)生鮮類商品庫存需求量時間序列數(shù)據(jù)預(yù)測具有一定合理性和參考性,利于庫存管理和控制,并且對于其他領(lǐng)域的預(yù)測具有一定參考性。
參考文獻(xiàn):
[1]? Paul H K H. Forecasting Construction Manpower Demand by Gray Model[J]. Journal of Construction Engineering and Management, 2010,136(12):1299-1305.
[2]? X G, C L, W X, et al. A Prediction-Based Inventory Optimization Using Data Mining Models: 2014 Seventh International Joint Conference on Computational Sciences and Optimization, 2014[C] // Computational Sciences and Optimization (CSO), 2014:611-615.
[3]? P M R B, J A N P, M R A C, et al. A bat optimized neural network and wavelet transform approach for short-term price forecasting[J]. Applied Energy, 2018,210:88-97.
[4] 龔巍. 基于需求特性分類的電力物資庫存控制與需求預(yù)測方法研究[D]. 沈陽:東北大學(xué)(碩士學(xué)位論文),2013.
[5]? Elcio T, Getúlio K A, Camilo I S, et al. Machine Learning in Predicting Demand for Fast-Moving Consumer Goods: An Exploratory Research[J]. IFAC PapersOnLine, 2019,52(13):737-742.
[6]? Nari S A, Diane A. A hybrid seasonal autoregressive integrated moving average and quantile regression for daily food sales forecasting[J]. International Journal of Production Economics, 2015,170:321-335.
[7] 王淑平,李敏,杜敏,等. ARIMA與LSTM模型在醫(yī)院出院人次預(yù)測中的比較研究[J]. 公共衛(wèi)生與預(yù)防醫(yī)學(xué),2021,32(1):18-21.
[8] 張曉卉,姚婷婷,陳陽,等. 基于Python語言的ARIMA模型在天津市結(jié)核病發(fā)病率預(yù)測中的應(yīng)用[J]. 中國感染控制雜志,2020,19(7):634-642.