摘" 要:面對由多種現(xiàn)實因素引發(fā)的需求波動,飲料行業(yè)急需提升供應(yīng)鏈效率,而精準(zhǔn)的需求預(yù)測在這一過程中扮演著至關(guān)重要的角色。為解決這一問題,文章提出了一種先進的需求預(yù)測組合模型——跨序列模型。該模型通過“借用”其他產(chǎn)品線的銷售數(shù)據(jù),再輸入多種預(yù)測模型。文章通過標(biāo)準(zhǔn)化平均絕對誤差NMAE和標(biāo)準(zhǔn)化均方誤差NMSE等性能評估指標(biāo),將其與傳統(tǒng)的預(yù)測模型進行了詳盡的對比分析。實證研究表明,該跨序列模型在“借用”其他產(chǎn)品銷售數(shù)據(jù)的基礎(chǔ)上,實現(xiàn)了比傳統(tǒng)模型更高的預(yù)測精度,同時也產(chǎn)生了更為穩(wěn)健和更符合邏輯的預(yù)測結(jié)果。
關(guān)鍵詞:需求預(yù)測;機器學(xué)習(xí);跨序列訓(xùn)練;組合預(yù)測模型
中圖分類號:F272" " 文獻標(biāo)志碼:A" " DOI:10.13714/j.cnki.1002-3100.2024.17.006
Abstract: Faced with demand fluctuations triggered by a variety of real-world factors, the beverage industry is in urgent need of enhancing supply chain efficiency, and accurate demand forecasting plays a pivotal role in this process. To address this issue, this study introduces an advanced demand forecasting composite model—a cross-series model. This model \"borrows\" sales data from other product lines and feeds it into various forecasting models. Through performance evaluation metrics such as Normalized Mean Absolute Error NMAE and Normalized Mean Square Error NMSE, this study provides a comprehensive comparative analysis with traditional forecasting models. Empirical research shows that, based on \"borrowing\" sales data from other products, the cross
-series model achieves higher forecasting accuracy than traditional models, while also producing more robust and logical forecasting results.
Key words: demand forecast; machine learning; cross-series training; combination forecast model
0" 引" 言
需求預(yù)測的精確度是供應(yīng)鏈效率的基礎(chǔ),從原材料的供給、生產(chǎn)計劃的安排、庫存策略的選擇到財務(wù)目標(biāo)的確立,它在本質(zhì)上驅(qū)動著所有的重要運營決策。而飲料行業(yè)是一種典型的零售型行業(yè),得益于餐飲業(yè)的蓬勃發(fā)展,各種飲料產(chǎn)品的消費需求也呈現(xiàn)出強烈的上升趨勢,尤其在某些特定的時刻和場合,對飲料的即時需求急劇增加。這種需求往往受到眾多不可預(yù)測因素的影響,例如線下的促銷活動、大型體育賽事、節(jié)日慶祝等。同時,在一些負面因素影響下,很多計劃中的活動都存在突然取消的可能性,使得飲料的需求變得更加難以預(yù)測。
在需求預(yù)測方面,國內(nèi)外學(xué)者已有相當(dāng)多的文獻從不同角度進行論證。在單變量預(yù)測技術(shù)開始時,Donkor et al[1]有多種簡單的技術(shù)可以根據(jù)序列過去值、季節(jié)周期和時間趨勢的加權(quán)平均值來預(yù)測時間序列。隨著問題具有多目標(biāo)、多周期、多項目的特點,廣泛認為多回歸分析和多目標(biāo)規(guī)劃模型是探索各種解釋變量與需求之間因果關(guān)系的基本預(yù)測模型,機器學(xué)習(xí)算法逐漸開始興起。韓超等[2]針對短時交通流的實時數(shù)據(jù),提出了一種基于ARIMA模型的自適應(yīng)預(yù)測算法,黎鎖平等[3]優(yōu)化了指數(shù)平滑模型中的平滑參數(shù),建立起動態(tài)的二次指數(shù)平滑模型。隨著技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)模型已開始受到學(xué)界的關(guān)注,黃卿等[4]采用BP神經(jīng)網(wǎng)絡(luò)對股指期貨進行預(yù)測并比較了多種方法,王鑫等[5]針對使用階段的故障數(shù)據(jù)設(shè)計出基于LSTM神經(jīng)網(wǎng)絡(luò)的多層網(wǎng)格搜索模型。學(xué)者發(fā)現(xiàn)歷史久遠信息可能無法提供太多信息,開始選擇實際考慮因素來幫助提升預(yù)測。Aviv et al[6]根據(jù)零售商和制造商之間的協(xié)作伙伴關(guān)系,Kremer et al[7]聚焦于供應(yīng)鏈中不同聚集水平的分層預(yù)測性能,L Baardman et al[8]開始利用其他產(chǎn)品的信息交叉學(xué)習(xí)來預(yù)測未來前景。近年來,產(chǎn)品需求波動愈發(fā)劇烈,單一模型無法應(yīng)對這一局面,組合模型預(yù)測受到熱捧。龔魏[9]考慮電力物資的特點后采用GA-BP組合預(yù)測實現(xiàn)庫存控制,趙娟禾[10]提出對電商商品特征集進行學(xué)習(xí)與抽取、模擬趨勢項和概率分布計算的多層混合深度學(xué)習(xí)網(wǎng)絡(luò),熊芷瑤等[11]以生鮮類產(chǎn)品特點提出SARIMA-LSTM組合預(yù)測模型。
綜上所述,需求預(yù)測方法從簡單的統(tǒng)計模型逐漸演變?yōu)楦鼜?fù)雜、更精準(zhǔn)的機器學(xué)習(xí)和深度學(xué)習(xí)模型。學(xué)者們也從單一的時間序列預(yù)測擴展到了多目標(biāo)、多周期、多項目的預(yù)測。本文將這些研究成果和觀點轉(zhuǎn)向跨序列的應(yīng)用場景,通過聚類對飲料產(chǎn)品歷史銷售數(shù)據(jù)的時間序列進行分類,采用相同類簇中的銷售數(shù)據(jù)時間序列來幫助預(yù)測同類產(chǎn)品,以求提高模型的預(yù)測精度,并緩解數(shù)據(jù)缺乏帶來的不良影響。本文通過X飲料公司的產(chǎn)品銷售數(shù)據(jù)進行實證檢驗,并對比了多種預(yù)測模型。
1" 理論方法
1.1" Dynamic Time Warping
Dynamic Time Warping即為動態(tài)時間規(guī)整算法,簡稱為DTW,是時間序列的相似性度量的一種方法。時間序列度量方式分為兩類:一類是鎖步度量,即對時間序列進行一對一比較,通常使用歐式距離來計算;另一類是彈性度量,允許時間序列進行一對多的比較。一對一或一對多是指時間點的對比。倘若存在時間步無法對齊、序列長短不一等問題時,傳統(tǒng)的歐式距離無法更好地對比兩個時間序列的相似性。DTW則屬于彈性度量,其思想在于通過拉伸原始序列,與其他長度不同的時間序列進行相似性度量。DTW的核心思想是識別出一條最優(yōu)的規(guī)整路徑W=?覣■,?覣■,…,?覣■,其中?覣■=i, j標(biāo)示出時間序列1的第i個點與時間序列2的第j個點是相似的。這些相似點之間的距離和被用作規(guī)整路徑距離,以衡量兩個時間序列的相似性。規(guī)整路徑距離越小,兩者的相似度就越高。
1.3" 手肘法
1.4" Agglomerative Clustering
凝聚式聚類(Agglomerative Clustering)是一種自底向上的層次性聚類方法。它按照特定的層次對樣本集進行分類,而這里的“層次”實際上是指用于測量樣本相似性的某種距離定義。其目標(biāo)在于消減類別上的數(shù)量,所以在行為上類似于樹狀圖由葉節(jié)點逐步向根節(jié)點靠近的過程。
1.5" Exponential Smoothing
指數(shù)平滑法,縮寫為ETS,是一種相對簡單且常用的線性模型,特別是在處理季節(jié)性和趨勢性的時間序列時。其由誤差項、趨勢性和季節(jié)性組成,誤差項中可以是加法誤差或乘法誤差;趨勢性可以是沒有趨勢、加法趨勢或乘法趨勢;季節(jié)性可以是沒有季節(jié)性、加法季節(jié)性或乘法季節(jié)性,需要根據(jù)數(shù)據(jù)的特征和需求來組合選擇。
1.6" Autoregressive Integrated Moving Average
Autoregressive Integrated Moving Average即自回歸滑動平均模型,簡稱為ARIMA,用于分析和預(yù)測時間序列數(shù)據(jù)的方法,它結(jié)合了自回歸(AR)、差分(I)和滑動平均(MA)三種組成部分。
1.7" Long Short-Term Memory
長短期記憶網(wǎng)絡(luò)(LSTM)是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一個特殊變體,專門用于學(xué)習(xí)和記憶長期依賴關(guān)系。它是為了解決傳統(tǒng)RNN在處理長期依賴方面存在的問題而被設(shè)計出來的。與標(biāo)準(zhǔn)的循環(huán)神經(jīng)網(wǎng)絡(luò)不同,LSTM擁有三個特定的“門”結(jié)構(gòu):輸入門、遺忘門和輸出門。這三個門在網(wǎng)絡(luò)中協(xié)同工作,以幫助LSTM網(wǎng)絡(luò)記住或遺忘某些特定信息,這一特性通常通過相應(yīng)的圖示進行解釋。這些“門”的存在使得LSTM比普通的RNN更適合處理長時間序列的任務(wù)。
1.8" 評估方法
關(guān)于模型的性能評估,由于存在零需求的狀況,本文無法使用常用的平均絕對百分比誤差MAPE作為評價標(biāo)準(zhǔn)。因此,為了在不同數(shù)據(jù)集下具有普適性,本文采用標(biāo)準(zhǔn)化均方誤差NMSE和標(biāo)準(zhǔn)化平均絕對誤差NMAE兩個指標(biāo)來評估下文中模型的性能,以上兩個指標(biāo)皆是數(shù)值越小,表明預(yù)測性能越強大。表達式如下:
2" 基于跨序列的組合預(yù)測模型
本文先使用DTW算法作為確定各個時間序列之間距離和相似性度量的方法,確立需要預(yù)測的時間序列,利用手肘法求出最佳類簇個數(shù)后,用Agglomerative Clustering算法對一系列的時間序列進行分類操作,利用所需預(yù)測的時間序列同類別中其他時間序列來幫助預(yù)測,輸入進預(yù)測模型中。
2.1" 聚類模型
將所需預(yù)測的時間序列作為主時間序列,對所有時間序列采用最大最小值法進行歸一化處理,縮放至0到1之間。對聚類類簇個數(shù)設(shè)置一個合理的范圍區(qū)間,通過DTW算法計算每個簇內(nèi)成對的DTW距離平方和,Within-Cluster Sum of Squared DTW Distances即WCSSDTW,得到該簇的WCSSDTW,再計算所有簇的WCSSDTW的和,得到整個聚類結(jié)果的WCSSDTW。依次計算類簇個數(shù)區(qū)間中所有的取值,繪制類簇個數(shù)與WCSSDTW之間的手肘圖。觀察手肘圖,尋找一個“手肘”或“折點”,這個點對應(yīng)的類簇個數(shù)使得WCSSDTW的減小速度放緩,此類簇個數(shù)即為最佳類簇個數(shù)。
將最佳類簇個數(shù)輸入進Agglomerative Clustering算法,將每個時間序列初始化為一個單獨的類簇,計算所有序列之間的DTW距離,采用LB_Keogh算法進行優(yōu)化,并構(gòu)建距離矩陣。根據(jù)創(chuàng)建的距離矩陣,確定兩個距離最近的類簇,將它們合并為一個新的類簇。這一步驟會重復(fù)直到達到預(yù)訂的最佳類簇個數(shù)為止。
2.2" 預(yù)測模型
聚類結(jié)束后,找到主時間序列所在的類簇中,同一類中其他時間序列作為輔助時間序列組。對主、輔時間序列進行最大最小值計算歸一化,并劃分訓(xùn)練集和測試集。設(shè)置超參數(shù)后,利用輔助時間序列幫助預(yù)測主時間序列。步驟如圖1所示。
3" 實證分析
本文所采用的數(shù)據(jù)來源于X公司,其作為一家大型飲料供應(yīng)商,提供多種飲品從生產(chǎn)到配送的一體化服務(wù)。研究中采用的數(shù)據(jù)來自于X公司某一類產(chǎn)品中67種不同細分子類商品(Stock Keeping Unit, SKU)的銷售數(shù)據(jù),其日期跨度從2018年1月1日到2020年7月30日之間,再經(jīng)過分類后,本文實證展示了其中一類產(chǎn)品的預(yù)測過程和結(jié)果。
3.1" 聚類過程
3.1.1" 確定最佳類簇個數(shù)。在使用手肘法確定最佳類簇個數(shù)前,需要給出類簇的范圍,根據(jù)已有知識和對數(shù)據(jù)的分析,本文將類簇個數(shù)設(shè)置在2,15區(qū)間中,調(diào)用Python中tslearn的DTW模塊和sklearn中的Agglomerative Clustering算法運行手肘法,結(jié)果如圖2所示。顯然,“手肘”點處類簇個數(shù)的值為5,因此本數(shù)據(jù)中最佳聚類類簇個數(shù)為5。
3.1.2" 聚類。確定好最佳聚類類簇個數(shù)后,在Python中進行Agglomerative Clustering算法進行聚類計算。樹狀圖如圖3所示。
3.2" 預(yù)測模型設(shè)置
3.2.1" 數(shù)據(jù)預(yù)處理。將主時間序列所在的簇類中所有其他產(chǎn)品的銷售數(shù)據(jù)作為輔助時間序列,參照主時間序列進行時間步對齊、用空值填補完整等操作。隨后,用最大最小值法對所有時間序列進行歸一化處理。
3.2.2" ARIMA及ETS的參數(shù)設(shè)置。對時間序列進行ACF自相關(guān)函數(shù)和PACF偏自相關(guān)函數(shù)檢驗,根據(jù)函數(shù)圖的內(nèi)容以及時間序列平穩(wěn)性檢驗和差分圖,本文將ARIMA的三個組件階數(shù)p,d,q的設(shè)置為14,1,0?,F(xiàn)實需求波動極大,存在著0需求的現(xiàn)象,故ETS模型中趨勢部分和季節(jié)性部分都采用加性模型。
3.2.3" LSTM超參數(shù)設(shè)置。根據(jù)數(shù)據(jù)情況、多輪的調(diào)試和實驗,本文的超參數(shù)設(shè)定如表1所示。其中,timestep為LSTM捕捉最近兩周的時間步長以此進行每日的銷量預(yù)測;num-layers為LSTM層數(shù),多層可能會導(dǎo)致過擬合;dropout是LSTM的輸出和層之間的丟棄率,是一種正則化方法,可以幫助防止過擬合,提高模型泛化能力。Learning-rate是優(yōu)化器的學(xué)習(xí)率,決定了權(quán)重的更新幅度;num-epochs是模型訓(xùn)練的輪數(shù),確保模型學(xué)習(xí)到數(shù)據(jù)的特征;batch-size為每次模型權(quán)重更新之前看到的樣本數(shù)量,需要在計算效率和模型性能之間找到平衡。
3.3" 結(jié)果討論
為了能夠正確得評估本文提出的模型,并顯示出跨序列預(yù)測的優(yōu)點,本文將通過多個主流預(yù)測模型對比分析,在經(jīng)典的線性時間序列預(yù)測方法中選取了ETS,在機器學(xué)習(xí)方法中選取了ARIMA,在深度神經(jīng)網(wǎng)絡(luò)中選取了LSTM。
3.3.1" 無跨序列預(yù)測模型。不采用本文的跨序列組合算法,使用上述主流模型直接對商品進行預(yù)測工作。結(jié)果如表顯示,可以看出在面對NMSE和NMAE兩個評價指標(biāo)時,神經(jīng)網(wǎng)絡(luò)方法優(yōu)勢明顯。如表2所示,ETS的表現(xiàn)最差,傳統(tǒng)的線性模型在面對現(xiàn)實世界的數(shù)據(jù)時,由于需求的劇烈波動和復(fù)雜性,這種表現(xiàn)可以預(yù)估得出。LSTM的表現(xiàn)最好,擅于處理長期依賴關(guān)系的深度神經(jīng)網(wǎng)絡(luò),能夠?qū)W習(xí)和記憶長期模式,通常能夠捕捉數(shù)據(jù)中的復(fù)雜關(guān)系和非線性模式,故其表現(xiàn)最好。同時,雖然ETS和ARIMA表現(xiàn)平平,但在構(gòu)建過程中,能夠觀察到數(shù)據(jù)的季節(jié)性、趨勢和自相關(guān)結(jié)構(gòu)等特征,而神經(jīng)網(wǎng)絡(luò)的工作原理則很難解釋。
3.3.2" 跨序列組合預(yù)測模型。所有模型都通過跨序列的數(shù)據(jù)進行預(yù)測工作,評價指標(biāo)如表3所示,其中,具有CS前綴即cross
-series,為添加跨序列模型的結(jié)果。經(jīng)過跨序列的前期工作,數(shù)值結(jié)果表明,各個模型在所有的性能指標(biāo)上都有著一定的提升,即使是較簡單的線性模型ETS也有著不錯的提升。單從NMSE和NMAE兩個指標(biāo)中很難直觀了解到預(yù)測性能的提升,如圖4所示,可以看出在不經(jīng)過跨序列組合預(yù)測,由于需求的劇烈波動,三個主流模型預(yù)測中都出現(xiàn)了負值的現(xiàn)象,而經(jīng)過跨序列的組合預(yù)測后,負值都消失了??缧蛄械姆椒ㄈ诤狭酥鲿r間序列和輔助時間序列的特征,為模型提供了更豐富的關(guān)聯(lián)信息;融合多個相似的時間序列,對于數(shù)據(jù)的噪聲、異常值和其他不規(guī)則因素的影響,模型有了更好的容忍度,從而產(chǎn)生更穩(wěn)定的預(yù)測。
4" 結(jié)論與研究展望
在面對復(fù)雜、變動劇烈和不穩(wěn)定的數(shù)據(jù)時,本文提出的跨序列組合模型預(yù)測方法與傳統(tǒng)的時間序列預(yù)測模型相結(jié)合,提出了一種新的、結(jié)合多種時間序列的方法,相較于單一的預(yù)測方法,有著更高的預(yù)測精度和穩(wěn)定性。
本文發(fā)現(xiàn)跨序列方法在處理具有復(fù)雜模式和結(jié)構(gòu)的數(shù)據(jù)時表現(xiàn)出色,能夠有效地消除不合邏輯的預(yù)測,并提高預(yù)測的細節(jié)性。這種方法為時間序列分析提供了一個新的視角,展現(xiàn)出數(shù)據(jù)融合在提高預(yù)測質(zhì)量中的價值。
未來進一步的研究問題可以包含:第一,考慮更多種類的數(shù)據(jù)加入其中,例如供應(yīng)鏈的結(jié)構(gòu)等非定量數(shù)據(jù)。第二,全球化和數(shù)字化的趨勢下,大量的跨國、跨行業(yè)的時間序列數(shù)據(jù)正在不斷涌現(xiàn)。如何有效地整合和利用這些跨域數(shù)據(jù),以增強預(yù)測的普適性和應(yīng)用范圍。
參考文獻:
[1]" DONKOR E A, MAZZUCHI T A, SOYER R, et al. Urban water demand forecasting: Review of methods and models[J]. Journal of Water Resources Planning Management, 2014,140(2):146-159.
[2] 韓超,宋蘇,王成紅. 基于ARIMA模型的短時交通流實時自適應(yīng)預(yù)測[J]. 系統(tǒng)仿真學(xué)報,2004(7):1530-1532,1535.
[3] 黎鎖平,劉坤會. 平滑系數(shù)自適應(yīng)的二次指數(shù)平滑模型及其應(yīng)用[J]. 系統(tǒng)工程理論與實踐,2004(2):95-99.
[4] 黃卿,謝合亮. 機器學(xué)習(xí)方法在股指期貨預(yù)測中的應(yīng)用研究——基于BP神經(jīng)網(wǎng)絡(luò)、SVM和XGBoost的比較分析[J]. 數(shù)學(xué)的實踐與認識,2018,48(8):297-307.
[5] 王鑫,吳際,劉超,等. 基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的故障時間序列預(yù)測[J]. 北京航空航天大學(xué)學(xué)報,2018,44(4):772-784.
[6]" AVIV Y. On the benefits of collaborative forecasting partnerships between retailers and manufacturers[J]. Management Science, 2007,53(5):777-794.
[7]" KREMER M, SIEMSEN E, THOMAS D J. The sum and its parts: Judgmental hierarchical forecasting[J]. Management Science, 2016,62(9):2745-2764.
[8]" L BAARDMAN, I LEVIN, G PERAKIS, et al. Leveraging comparables for new product sales forecasting[J]. Production and Operations Management, 2018,27(12):2339-2349.
[9] 龔巍. 基于需求特性分類的電力物資庫存控制與需求預(yù)測方法研究[D]. 沈陽:東北大學(xué),2013.
[10] 趙娟禾. 基于多層混合深度神經(jīng)網(wǎng)絡(luò)的電商商品短期需求量預(yù)測方法研究[D]. 西安:長安大學(xué),2020.
[11] 熊芷瑤,李林. 基于SARIMA-LSTM的零售生鮮品庫存需求預(yù)測[J]. 物流科技,2022,45(3):21-24,28.