熊芷瑤 李林



摘? 要:針對零售業的生鮮類商品存在易損耗、貨架周期短、明顯的季節性等特點,提出一種新的組合預測模型。采用SARIMA-LSTM組合模型綜合供應商、零售商、用戶三方面考慮需求影響因素如準時交貨率、綜合成本、氣溫狀況、銷售金額等,并結合貝葉斯優化算法對LSTM進行超參數選擇,將SARIMA的模型預測值和實際值間的誤差序列進行修正并得到預測值。實驗證明,考慮需求影響因素的組合預測模型比單一傳統統計方法的預測精度要高,并對以后零售業庫存管理有一定的建設意義。
關鍵詞:SARIMA;LSTM;組合預測模型;貝葉斯優化算法;庫存需求預測
中圖分類號:F253? ? 文獻標識碼: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? 引? 言
庫存需求預測指根據物料歷史庫存需求狀況來預測未來的需求量,屬于庫存管理中重要的一部分。隨著近幾年零售市場庫存物料種類繁多,生命周期短,庫存需求預測越發困難。尤其是生鮮類商品,它有著極大的消耗需求,同時本身具有易損耗、易變質等特點,其庫存控制是需在短時期內立即做出決策判斷的,因此及時準確的預測庫存需求變得越發困難。
對于庫存需求量時間序列預測方面,主要包括統計方法和機器學習兩大類。比較經典傳統的統計方法有加權平均法、指數平均法、灰色預測[1]等。后來漸漸出現機器學習在預測方面的應用,如BP神經網絡[2]、前饋神經網絡與蝙蝠算法和縮放共軛梯度算法結合[3]提高了傳統神經網絡的學習能力和預測結果的精度。近年來,單一的預測模型不能滿足復雜的庫存需求,逐漸出現考慮需求特性或需求影響因素的預測模型以及組合預測模型。龔巍[4]在庫存需求預測不僅考慮了電力物資的包括重要性、緊急性等需求特性,并且運用GA-BP組合預測模型最終實現動態庫存控制。Elcio, Tarallo等[5]運用機器學習在短保質期和易腐產品在預測方面的好處,降低零售店的庫存率。
本研究提出基于SARIMA和LSTM的組合預測模型,并且將領域專家的意見和生鮮類商品庫存的特性結合起來。考慮需求影響因素成為預測變量的一部分,應用該模型對零售生鮮類商品做出庫存需求預測,并通過H零售企業的生鮮品每月庫存需求量進行驗證。
1? 理論方法
1.1? SARIMA預測模型
ARIMA全稱為差分移動平均模型,通常被記作ARIMAp,d,q。p表示自回歸項數,d表示讓時間序列平穩差分的次數,q表示移動平均項數。
ARIMA模型的數學表達式如下:
X=λX+λX+…+λX+μ+φμ+φμ+…+φμ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中:X是平穩變量,λ是自回歸項系數,μ是殘差,φ是移動平均項系數,δ是常數項,ω是白噪聲序列,也稱為殘差。
SARIMA是建立在ARIMA模型基礎之上的,考慮了其季節性元素,形式為ARIMAp,d,q×P,D,Q,S,其中p為非季節性回歸項數,d為非季節差分階數,q為非季節移動平均項數,P為季節性回歸項數,D為季節性差分階數,Q為季節性移動平均項數,S為季節性時間跨度[6]。
本文的研究對象為零售企業生鮮類商品,具有明顯的季節性特征,因此擬用ARIMAp,d,q×P,D,Q,S進行建模預測。
1.2? LSTM預測模型
LSTM是一種特殊的RNN,具有記憶數據序列的長期依賴關系,有著強大的自學習能力和非線性擬合能力[7]。如圖1所示,LSTM模型結構中各單元的更新方式如下:
圖1中,x表示該時刻的數據信息,激活函數σ、tanh表達式通常取如下值:
σx=? ? ? ? ? ? ? ? ? ? ? (2)
tanhx=? ? ? ? ? ? ? ? ? ? ? (3)
f表示遺忘門,能夠過濾前序時刻的狀態信息,識別前序時刻對后序時刻的影響程度;i表示輸入門,用來控制輸入信息進入本時刻信息的比例;o表示輸出門,用于控制本時刻狀態信息輸出的比例,計算公式分別為:
f=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
i=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
o=σ
W
h,
x
+b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
其中:W、W、W均是權重矩陣。如公式(7)所示,c表示本時刻狀態信息,其值由本時刻輸入信息以及上一時刻狀態信息決定:
c=f×c+i×? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
其中:=tanh
W
h,
x
+b。h表示本時刻隱藏層的狀態信息:
h=o×tanh
c? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (8)
1.3? 貝葉斯優化算法
貝葉斯優化算法能夠在每次迭代中,根據代理模型擬合實際目標函數的結果選擇最優評估點,減少目標函數的迭代次數,可提高模型泛化能力并避免過擬合現象。
貝葉斯優化算法的迭代過程分為三部分:根據最大化采集函數選擇最優評估點;將評估目標函數加入觀測數據;更新目標函數的后驗概率分布和采集函數。文中采用高斯過程作為代理函數,期望提高函數為采集函數。
1.4? 模型實現及評估方法
研究基于Anaconda環境下的Python語言對SARIMA模型和LSTM神經網絡模型進行編程實現。其中,SARIMA模型主要通過調用Statsmodels庫進行實現;而LSTM神經網絡模型主要通過Tensorflow作為后端,采用Keras進行實現[8]。
關于模型評價,研究選用均方誤差MSE、平均絕對誤差MAE、平均絕對百分比誤差MAPE三個指標來評價這幾種模型對于該庫存需求的時間序列預測性能,指標數值越小,說明預測精度越高,預測效果越好。這四種評價指標表達式分別為:
MSE=
-y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
MAPE=
(10)
其中:y為實際觀測值,為預測值,n代表測試集的樣本數量。
2? 組合模型的建立
2.1? 數據描述
本文采用H零售企業2010年至2020年連續11年132個月份的生鮮類商品的庫存需求量數據作為基礎研究數據。其中前120個的月份數據作為訓練集,后12個的月份數據作為測試集。
2.2? 組合模型中SARIMA模型建立
2.2.1? 序列平穩化
(1)平穩性檢驗及平穩化處理
根據人們對生鮮類商品的購買習慣,夏季以及全網大促的特定月份會出現非常大的庫存需求量,因此存在明顯的周期性。將序列的趨勢、季節和隨機效應分解出來繪制時間序列分解圖(圖2)。通過ADF檢驗結果可知,檢驗統計量的值為0.73,并且在90%、95%和99%的置信度下,檢驗統計量的值均大于對應的臨界值,所以認為該初始時間序列是非平穩的。因此,需要進行平穩化處理。
對原始的序列作1階12步差分來提取原序列的趨勢效應和季節效應,由差分后的ADF檢驗結果可知,1階12步差分后的序列是平穩的。
2.2.2? 模型識別及定階
通過網格搜索遍歷參數的不同組合,利用AIC準則評價選取最優模型參數。所得AIC值最低為286.84時,模型為ARIMA1,1,1×1,1,1,12。
2.2.3? 模型擬合及檢驗
根據擬合結果每個變量的P值均小于0.01,MSE=1.88,MAE=0.9025,MAPE=2.001%,因此可以認為擬合的模型是合理的。然后對殘差采用LB檢驗法進行白噪聲檢驗,檢驗結果顯示Q統計量的P值均大于0.05,擬合模型已經充分提取了時間序列中的信息。最后對殘差的分布進行模型診斷,診斷結果如圖3所示,殘差分布較為正常,時序圖基本穩定,服從正態分布且自相關圖中不存在自相關。綜上,該模型ARIMA1,1,1×1,1,1,12擬合效果很好,具有較好的預測性能。
2.3? 組合模型中LSTM模型建立
將上文SARIMA模型的殘差指標、準時交貨率、零售綜合成本、銷售金額以及氣溫狀況共五個指標作為LSTM模型的輸入變量,預測2020年中12個月的SARIMA模型的殘差指標。
2.3.1? 數據歸一化
當激活函數為sigmoid或者tanh時,需要把數據標準化,此時LSTM比較敏感。因此采用sklearn.preprocessing模塊中的最大最小值標準MinMaxSealer
函數將每一維的特征映射到指定區間——0到1之間。
2.3.2? 模型訓練
LSTM神經網絡模型包含三層:輸入層、LSTM層、輸出層,其中LSTM層包含三層LSTM模塊進行訓練,最后加一層普通的神經網絡用于輸出結構的降維。其中超參數運用貝葉斯優化算法進行選擇,迭代次數設為50次。其中超參數及取值范圍如表1所示。
3? 算例分析
3.1? SARIMA時間序列預測
將2020年12個月份的庫存需求量進行回代預測,得到預測圖如圖4所示。其中MSE=5.0035,RMSE=2.2369,MAE=1.7205,MAPE=3.85%。所得預測值與實際值進行相減,得到的殘差作為后續LSTM模型的輸入變量之一,對殘差進行修正。
3.2? LSTM殘差修正
利用上文中SARIMA模型的2020年12個測試樣本所得的殘差序列進行考慮需求影響因素的LSTM神經網絡模型預測。由圖5驗證誤差迭代圖所示,利用貝葉斯優化算法對LSTM模型進行超參數優化得到誤差值最優為第30次。
模型預測得到的殘差修正值如圖6所示。其中各項評價指標分別為MSE=5.72,RMSE=2.39,MAPE=6.22%。
最后,將SARIMA模型預測所得的12個月的預測值與LSTM神經網絡的殘差預測修正值進行累加,所得最終結果為2020年12個月的庫存需求量預測值。最終累加得到的預測值計算出的各項評價指標分別為MSE=4.7862,MAE=1.4797,MAPE
=3.34%。
4? 結果分析
為評估提出的方法,實驗選取幾種主流文獻中的傳統方法進行對比分析,對比方法包括灰色理論、樣條回歸、SARIMA、單特征LSTM和多特征LSTM。
以上六種方法所得最終預測結果計算得到的三個誤差指標對比如表2所示,以及2020年12個月份的預測結果圖如圖7所示。
由對比結果可知,灰色理論的整體趨勢捕捉較好,但是對于特殊月份的預測精度很差;而通過加入有效輸入變量,樣條回歸模型對部分特殊月份的預測效果較好,但整體的波動趨勢并未準確捕捉。單特征LSTM預測模型的預測效果最差,預測精度最低,該模型既未考慮季節因素的影響,也未考慮庫存需求影響因素,因此具有較大偏差。考慮了需求影響因素的多特征LSTM預測模型的預測精度明顯較高,但是相比加入了季節因子的SARIMA預測模型的預測效果還是要差一些,未準確抓取季節波動規律。SARIMA預測模型考慮到了時間序列的季節效應,整體預測精度顯著提升,但對于某些月份的預測還是具有一定差異。而SARIMA-LSTM組合預測模型既考慮到季節性又考慮到需求因素影響,盡管LSTM易發生過擬合現象,但是該組合預測模型中的LSTM模型僅僅對預測殘差進行修正,對其整體預測效果影響較小。因此相比其他五種預測模型,該組合模型的預測精度最高。
5? 結束語
針對本文零售業生鮮類商品庫存需求量時間序列數據,采取的是一種基于SARIMA-LSTM組合預測模型,與傳統預測方法不同的是該方法既考慮到了生鮮類商品的季節性特點,還考慮到四點庫存需求的相關性較高的影響因素,如準時交貨率、零售綜合成本、銷售金額、氣溫狀況。通過利用SARIMA模型良好地捕捉季節性規律的能力進行預測,然后構建LSTM神經網絡模型加入多個影響指標輔助預測SARIMA模型的殘差,盡可能地降低LSTM過擬合現象。對比傳統預測模型,得到組合模型的預測性能最佳。因此該組合預測方法對于零售業生鮮類商品庫存需求量時間序列數據預測具有一定合理性和參考性,利于庫存管理和控制,并且對于其他領域的預測具有一定參考性。
參考文獻:
[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] 龔巍. 基于需求特性分類的電力物資庫存控制與需求預測方法研究[D]. 沈陽:東北大學(碩士學位論文),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模型在醫院出院人次預測中的比較研究[J]. 公共衛生與預防醫學,2021,32(1):18-21.
[8] 張曉卉,姚婷婷,陳陽,等. 基于Python語言的ARIMA模型在天津市結核病發病率預測中的應用[J]. 中國感染控制雜志,2020,19(7):634-642.