柴鴻斌,鄭軍紅,何利力
(浙江理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310018)
大數(shù)據(jù)時代,消費(fèi)者需求不斷變化,企業(yè)對消費(fèi)品需求的預(yù)測難度也越來越大。對企業(yè)來說,提高需求預(yù)測的精確度有極大意義[1],因此,有必要探索新的需求預(yù)測方法,改進(jìn)預(yù)測模型,使預(yù)測精度更高。
在時間序列的需求預(yù)測中,常見的方法有灰色預(yù)測,回歸分析法,指數(shù)平滑法等。但這些常見的需求預(yù)測方法不適用于現(xiàn)在迅速變化的市場,如王濟(jì)干在基于需求預(yù)測的庫存決策研究綜述與展望中提到,這些方法在需求波動大的情況下,無法進(jìn)行有效預(yù)測[2]。近年來,機(jī)器學(xué)習(xí)在預(yù)測中的應(yīng)用越來越多,如深度神經(jīng)網(wǎng)絡(luò)、BP 網(wǎng)絡(luò)模型[3]等提高了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果的準(zhǔn)確性。然而單一的預(yù)測模型還是無法滿足復(fù)雜的市場需求,于是出現(xiàn)了考慮多方面的組合預(yù)測模型。雷斌在庫存需求預(yù)測方法研究綜述中提到了灰色系統(tǒng)預(yù)測理論與馬爾可夫預(yù)測方法的結(jié)合,并應(yīng)用于具有強(qiáng)隨機(jī)性的零售超市庫存需求預(yù)測[4]。陳紫薇在特殊快消品需求預(yù)測時發(fā)現(xiàn),現(xiàn)有預(yù)測方法已無法滿足日趨多樣化的市場,因此探討分別利用季節(jié)性SARIMA模型和雙向LSTM 神經(jīng)網(wǎng)絡(luò)的組合模型進(jìn)行預(yù)測研究[5]。熊芷瑤在對于生鮮零售行業(yè)生鮮商品庫存需求中,采取的也是一種基于SARIMA-LSTM 組合預(yù)測模型[6]。由此我們可以看出,在進(jìn)行需求預(yù)測的過程中SARIMA-LSTM 的組合預(yù)測模型是值得借鑒的,但依舊其預(yù)測精度不準(zhǔn)確,與真實(shí)情況還是會有差距,在豐富多樣的快消品需求市場中無法做到準(zhǔn)確把握。
本文提出融合自注意力機(jī)制和SARIMA-LSTM組合模型,因?yàn)镾ARIMA 模型可以很好地?cái)M合序列中的線性關(guān)系,LSTM 神經(jīng)網(wǎng)絡(luò)也可以挖掘序列中的非線性關(guān)系,所以在SARIMA 線性回歸基礎(chǔ)上,增加LSTM 神經(jīng)網(wǎng)絡(luò)模型。并將影響需求的因素做數(shù)據(jù)相關(guān)性計(jì)算處理,其作為預(yù)測變量的一部分,再將自注意力機(jī)制加入到組合模型中,該模型應(yīng)用在Z 企業(yè)快消品中,對其需求進(jìn)行預(yù)測,驗(yàn)證Z企業(yè)的預(yù)測需求和實(shí)際值,最后再與三種模型進(jìn)行衡量指標(biāo)比較,證明該模型是有效的。
SARIMA 是考慮了季節(jié)性因素的一個乘積季節(jié)模型,被記作ARIMA(p,d,q)×(P,D,Q,S),其中,p、P為非季節(jié)和季節(jié)回歸項(xiàng)數(shù),d、D 為非季節(jié)和季節(jié)差分階數(shù),q、Q 為非季節(jié)和季節(jié)移動平均項(xiàng)數(shù),S 為季節(jié)性時間跨度[7]。其公式如下:
從式⑴可以看出,序列的短期相關(guān)性由低階ARMA(p,q)模型提??;序列的季節(jié)相關(guān)性由具有周期步長S 的ARMA(P,Q)模型提取。由于短期相關(guān)性和季節(jié)性之間存在乘積關(guān)系,因此擬合模型本質(zhì)上是ARMA(p,q)和ARMA(P,Q)的乘積。
SARIMA 模型在解決實(shí)際問題時頗為廣泛,其優(yōu)點(diǎn)在于既能保證預(yù)測精度,又易于實(shí)時預(yù)測。本文的研究對象具有明顯季節(jié)性,故采用此模型進(jìn)行預(yù)測。
由于SARIMA 預(yù)測模型適用于短期預(yù)測,故面對復(fù)雜多變的環(huán)境與長期預(yù)測的準(zhǔn)確性,我們需要應(yīng)用到長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)預(yù)測模型來有效保證預(yù)測,LSTM 是一種特殊RNN模型,LSTM 利用多個門函數(shù)來決定需遺忘的信息、記住的信息和輸出的信息,從而使信息有選擇地傳遞。LSTM 包括三個門結(jié)構(gòu):遺忘門、輸入門和輸出門,各個門之間相互作用,提高了LSTM模型的信息分析能力[8]。如圖1所示。
圖1 LSTM結(jié)構(gòu)圖
圖1 中,xt表示t 時刻的輸入數(shù)據(jù),ht表示t 時刻輸出的隱藏狀態(tài),t 時刻的LSTM 將接收三種輸入信息:ct-1、ht-1、xt。這些信息首先被送入遺忘門和輸入門處理,ft表示遺忘門,控制刪除哪些信息;it表示輸入門,篩選需要保留的信息。其公式如下:
經(jīng)過遺忘門和輸入門處理后,t 時刻的狀態(tài)也會更新:
最后輸出門將信息整合,生成輸出信號為ot:
雖然LSTM 神經(jīng)網(wǎng)絡(luò)在處理長時間序列問題上效果很好,但是在實(shí)際過程中長時間序列特征的重要性存在差異,LSTM 神經(jīng)網(wǎng)絡(luò)不區(qū)分長時間序列輸入,會忽略一些重要信息。Attention機(jī)制是一種信息處理方法,能夠從大量信息中快速過濾掉高價值信息。快消品需求數(shù)據(jù)會隨著各種影響因素而變化,時間序列中各時間節(jié)點(diǎn)的特征對預(yù)測值的影響不同,與被預(yù)測節(jié)點(diǎn)的隱層狀態(tài)相似的特征信息對被預(yù)測節(jié)點(diǎn)的影響較大而且顯著。
而作為注意力機(jī)制的一種特例,自注意力機(jī)制也被稱為內(nèi)部注意力機(jī)制,自注意力機(jī)制減少了對外部信息的依賴,更擅長捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性[9]。因此,在SARIMA-LSTM預(yù)測模型中加入Self Attention機(jī)制,可以有效突出不同時間節(jié)點(diǎn)能量消耗特性的影響,從而提高預(yù)測效果。如圖2所示。
圖2 Attention機(jī)制結(jié)構(gòu)圖
本文建立的組合預(yù)測模型結(jié)合了兩種性能互補(bǔ)的算法,有效地克服了單一算法在預(yù)測中的局限性,提高了預(yù)測精度。由于SARIMA 模型可以很好地?cái)M合序列中的線性關(guān)系,LSTM 神經(jīng)網(wǎng)絡(luò)可以挖掘序列中的非線性關(guān)系。兩種模型結(jié)合,可以利用兩者的優(yōu)點(diǎn)來預(yù)測復(fù)雜的時間序列。特定時間段內(nèi)的快消品需求受季節(jié)波動的影響形成與平時不同的需求曲線,這是一個復(fù)雜的時間序列。同時,利用自注意力機(jī)制的方法可以幫助模型對輸入元素不同部分賦予不同權(quán)重,提取出更關(guān)鍵、更重要的信息,使模型做出更準(zhǔn)確的判斷,同時不影響模型的計(jì)算以及處理存儲帶來更大的消耗。
通過計(jì)算周期性節(jié)日變量、地方經(jīng)濟(jì)環(huán)境(GDP)變量、準(zhǔn)時交貨率變量三個影響因素與需求量之間的相關(guān)性,得到相關(guān)系數(shù),并將SARIMA 模型中的異常指標(biāo)結(jié)合,帶入LSTM 神經(jīng)網(wǎng)絡(luò)作為輸入變量,其中訓(xùn)練集數(shù)據(jù)波動較大,隨著網(wǎng)絡(luò)深度的不斷加深,會造成網(wǎng)絡(luò)退化。自注意力機(jī)制的引入有效緩解了網(wǎng)絡(luò)模型訓(xùn)練過程中梯度消失的問題,同時也解決了深度網(wǎng)絡(luò)訓(xùn)練難度和性能下降的問題。自注意力層的實(shí)現(xiàn)是通過LSTM 編碼器保留輸入序列的中間輸出結(jié)果,上一層的輸入結(jié)果與當(dāng)前輸出結(jié)果進(jìn)行相似度比較,得到權(quán)重因子,最后得到自注意力系數(shù)。如圖3所示。
圖3 在LSTM中加入自注意力機(jī)制
其中,Xi,i∈(1,n)為輸入層;hi是每個單元的中間輸出結(jié)果,輸入到每個注意力模型中,作用于下一層的元素作為計(jì)算的相似度和權(quán)重系數(shù),得到一個關(guān)系系數(shù)。然后對當(dāng)前元素與上一層中間輸出結(jié)果進(jìn)行點(diǎn)乘計(jì)算得到相似度,再通過softmax函數(shù)歸一化得到對應(yīng)的權(quán)重系數(shù)。最后加權(quán)求和產(chǎn)生預(yù)測。自注意力層采用以下公式:
本文以Z企業(yè)2018-2021年連續(xù)48個月的快消品需求量作為研究數(shù)據(jù)。其中2018-2020年的需求量數(shù)據(jù)作為訓(xùn)練樣本,2021年的需求量數(shù)據(jù)作為測試樣本。
首先,根據(jù)人們對快消品的購買歷史,結(jié)合其需求具有周期性的特點(diǎn)分解序列,通過ADF 檢驗(yàn)如表1所示。認(rèn)為該時間序列是非平穩(wěn)的,故需要進(jìn)行平穩(wěn)化操作。
表1 ADF檢驗(yàn)
對數(shù)據(jù)進(jìn)行去均值化處理,再通過一階差分來提取序列的季節(jié)性影響,由結(jié)果來看,統(tǒng)計(jì)量低于每個顯著性水平下的臨界值,認(rèn)為該序列顯著平穩(wěn)。滿足序列平穩(wěn)的建模要求。
利用赤池信息準(zhǔn)則(AIC)評估選擇模型參數(shù)。當(dāng)AIC值最低值時,模型為ARIMA(1,1,1)×(1,1,1,12)。由此,可以利用2018-2020 年36 個月份快消品的需求量數(shù)據(jù)來預(yù)測2021年快消品的各月需求量。
其次,先通過時間序列對數(shù)據(jù)進(jìn)行處理,找出其定義的異常指標(biāo),該月異常指標(biāo)后的日需求數(shù)據(jù)進(jìn)行歸一化處理,并對需求影響因素進(jìn)行相關(guān)性計(jì)算,兩者線性組合,形成多維指標(biāo)向量導(dǎo)入LSTM 神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算。
最后,將預(yù)處理后的輸入數(shù)據(jù)通過輸入層傳遞到下一層,在神經(jīng)網(wǎng)絡(luò)中嵌入自注意力機(jī)制模塊,在構(gòu)建改進(jìn)的LSTM 模型時確定網(wǎng)絡(luò)的結(jié)構(gòu),將輸入層的大小設(shè)置為輸入系列長度。把歷史數(shù)據(jù)和最新數(shù)據(jù)一起作為訓(xùn)練集數(shù)據(jù),不斷學(xué)習(xí)新的訓(xùn)練集數(shù)據(jù),不斷調(diào)整模型參數(shù),實(shí)時更新數(shù)據(jù)變化,尋找最新規(guī)律,提高準(zhǔn)確率的預(yù)測。計(jì)算過程涉及殘差學(xué)習(xí),如果殘差結(jié)果接近白噪聲序列,則累加層僅做了恒等映射。所以,訓(xùn)練目標(biāo)是使殘差結(jié)果接近白噪聲序列,這樣精度不會隨著網(wǎng)絡(luò)加深而下降。接下來進(jìn)入自注意力層,將神經(jīng)網(wǎng)絡(luò)計(jì)算出的分量再次歸一化,得到LSTM 優(yōu)化模型的預(yù)測結(jié)果,最后將SARIMA 線性模型預(yù)測數(shù)據(jù)和LSTM 神經(jīng)網(wǎng)絡(luò)模型預(yù)測數(shù)據(jù)代入權(quán)重組合計(jì)算出上一層中間輸出結(jié)果與當(dāng)前輸出的相似度,得到權(quán)重因子和注意力系數(shù),然后利用Adam 算法對兩種互補(bǔ)算法的訓(xùn)練結(jié)果進(jìn)行權(quán)重優(yōu)化,并計(jì)算組合模型的預(yù)測誤差,在輸出層得到2021年該月快消品需求預(yù)測數(shù)據(jù)。
首先,將被歸一化的樣本數(shù)據(jù)輸入到SARIMALSTM 組合模型中。使用Adam 算法公式進(jìn)行計(jì)算,不斷更新模型的權(quán)重。每迭代一次,都要計(jì)算模型的當(dāng)前誤差精度,結(jié)果如圖4 所示。從圖4 可以看出,經(jīng)過100 次迭代訓(xùn)練,訓(xùn)練誤差的精度從0.9842 降到0.1021并保持穩(wěn)定,效果良好。
圖4 迭代誤差圖
其次,驗(yàn)證組合模型的性能,將其與SARIMA、LSTM、SARIMA-LSTM 三種算法模型比較。使用平均絕對誤差(EMAE)、平均百分比誤差(EMAPE)和均方誤差(EMSE)作為檢驗(yàn)?zāi)P偷脑u價指標(biāo)。計(jì)算公式如下:
其中,n 是測試樣本的總數(shù)量;yi代表是快消品的需求實(shí)際值表示預(yù)測快消品的需求值;EMAE、EMAPE和EMSE用于描述樣本實(shí)際值與預(yù)測值之間的差異程度,這些評價指標(biāo)的度量數(shù)越小,模型的平均預(yù)測精度越高。如表2所示。
表2 預(yù)測指標(biāo)對比
最后,得到不同模型的需求量預(yù)測結(jié)果比(圖5)。結(jié)合預(yù)測指標(biāo)對比可以看出,結(jié)合需求影響因素的LSTM 模型未考慮季節(jié)周期性因素,SARIMA 模型沒有考慮需求影響因素,兩者的效果相差不大,但預(yù)測精度差距大,不過兩者的組合模型在評價指標(biāo)上優(yōu)于單一模型。加入自注意力機(jī)制后的SARIMA-LSTMSAM 模型在MAE、MAPE、MSE 評價指標(biāo)上優(yōu)于其他模型,這表明SARIMA-LSTM-SAM 模型的預(yù)測精度總體上效果良好。
圖5 不同模型的需求量預(yù)測結(jié)果比
結(jié)果表明,使用SARIMA 模型和LSTM 優(yōu)化模型的互補(bǔ)優(yōu)勢再結(jié)合自注意力機(jī)制的特性,在組合模型的預(yù)測中,大大降低組合模型平均絕對誤差(EMAE)、平均百分比誤差(EMAPE)和均方誤差(EMSE),提高了快消品需求的預(yù)測準(zhǔn)確性,能夠較為準(zhǔn)確地反映出快消品的變化趨勢。綜上,本文預(yù)測模型精確且高效,可用于實(shí)際的快消品需求預(yù)測。接下來的研究,將結(jié)合快消品營銷活動數(shù)據(jù)和品牌規(guī)格的細(xì)分需求來滿足不同的預(yù)測需求。