鄭 琰,黃 興,肖玉杰
(1.南京林業(yè)大學(xué) 汽車與交通工程學(xué)院, 南京 210037;2.南京財經(jīng)大學(xué) 營銷與物流管理學(xué)院, 南京 210046)
隨著電子商務(wù)、互聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)以及各種移動設(shè)備的快速發(fā)展,客戶在網(wǎng)絡(luò)購物中產(chǎn)生或保存的數(shù)據(jù)更容易獲取,從而使得全樣本數(shù)據(jù)的搜集成為了可能。通過對這些數(shù)據(jù)進行分析,電子商務(wù)企業(yè)可以發(fā)現(xiàn)客戶群體對不同商品的偏好程度,預(yù)測各商品在不同時間段的需求量以及庫存?zhèn)湄浟康?。企業(yè)根據(jù)預(yù)測結(jié)果可為生產(chǎn)、經(jīng)營、管理提供決策支持,為庫存管理提供依據(jù),從而為企業(yè)節(jié)省庫存成本,同時提高了客戶購物滿意度。
目前,商品需求預(yù)測方法主要有定性預(yù)測與定量預(yù)測兩種。定性預(yù)測易受主觀因素影響,不適合對大量商品進行預(yù)測,且預(yù)測精度也會隨著預(yù)測者對商品銷售的熟悉程度而大幅變化。定量預(yù)測的方法有簡單移動平均法、加權(quán)移動平均法等。簡單移動平均法與加權(quán)移動平均法都只適用于需求量一直處于比較平穩(wěn)且不存在季節(jié)變化趨勢的商品,而且對于加權(quán)平均法,權(quán)重的賦予仍然具有很大主觀性。
自回歸滑動平均模型(auto-regressive and moving average model,簡稱ARMA模型),近年來被國內(nèi)外學(xué)者運用于各個領(lǐng)域,取得了豐碩的研究成果。劉璐[1]利用我國1986—2016年人均GDP的數(shù)據(jù),通過構(gòu)建ARMA模型,對未來3年的GDP做出了預(yù)測。Marcia等[2]運用基于ARMA模型的數(shù)據(jù)驅(qū)動技術(shù)對航空工具進行故障預(yù)測,減少了以固定時間間隔進行維護所帶來的資源浪費。Ervural等[3]運用基于遺傳算法的ARMA模型對未來土耳其伊斯坦布爾城市的天然氣消耗量進行了有效預(yù)測,為土耳其天然氣進口的決策提供了合理的依據(jù)。Mirzavand等[4]證明了聚類分析與ARMA結(jié)合并用于預(yù)測地下水位的方法具有一定的預(yù)測優(yōu)勢。Fernando[5]提出了一種結(jié)合三角分布假設(shè)和相關(guān)性分析的ARMA模型,并運用于解決隨機需求的隨機庫存問題,可以用來預(yù)測沒有歷史需求數(shù)據(jù)的新產(chǎn)品,并以智利醫(yī)院為例對其新藥品的采購和庫存管理提供了有價值的依據(jù)。可見,ARMA預(yù)測模型能夠適應(yīng)多種研究領(lǐng)域,且取得很好的預(yù)測結(jié)果。本文基于時間序列的ARMA模型,結(jié)合了多種群遺傳算法對基礎(chǔ)模型的定階方法做出了改進,并針對阿里巴巴電商企業(yè)的部分商品進行需求預(yù)測。
ARMA模型是一種以自回歸模型(AR模型)與滑動平均模型(MA模型)為基礎(chǔ)的時間序列模型。根據(jù)Hamilton Smith[6]理論,運用ARMA模型進行預(yù)測,首先需要對序列進行平穩(wěn)性的統(tǒng)計檢驗,通過時間序列自相關(guān)、偏相關(guān)函數(shù),確定多組模型參數(shù)。然后確定一組最優(yōu)模型參數(shù),常用的方法是利用貝葉斯信息化準則(簡稱BIC)檢驗。最后,對序列進行白噪聲檢驗,如果該序列通過檢驗則進行預(yù)測計算;否則,需要對模型的各參數(shù)值進行重新確定。具體預(yù)測流程如圖1所示。
圖1 預(yù)測方法流程
ARMA模型適用于平穩(wěn)的時間序列,但在實際研究中絕大多數(shù)序列是不平穩(wěn)的,因此就需要對原序列進行d階差分處理,處理后得到一組平穩(wěn)序列。而這種適用于不平穩(wěn)序列的模型稱為ARIMA模型。
對于任意一個序列Yt,通過做出時序圖以及自相關(guān)圖可以粗略判斷序列平穩(wěn)性。平穩(wěn)序列的時序圖表現(xiàn)為一種圍繞著某個值上下波動,自相關(guān)圖表現(xiàn)為自相關(guān)函數(shù)迅速下降至零,并且在零附近收斂。不平穩(wěn)序列的時序圖表現(xiàn)為在不同時間段內(nèi)圍繞不同的值上下波動,自相關(guān)圖表現(xiàn)為自相關(guān)函數(shù)未迅速下降至零,也沒有在零附近收斂。
平穩(wěn)序列的一個顯著特征就是自相關(guān)函數(shù)值會隨著時間間隔k的增大迅速減小到零,并且在零附近收斂,針對這一特征使用QLB統(tǒng)計量進行檢驗,檢驗統(tǒng)計量如下:
式中p為滯后階數(shù),如果各滯后階數(shù)p的QLB統(tǒng)計量都沒有超過顯著性水平為5%決定的臨界值,則序列不存在p階自相關(guān),序列各階自相關(guān)系數(shù)與偏相關(guān)系數(shù)都趨于零,該序列平穩(wěn)。如果只要存在1個滯后階數(shù)p的QLB統(tǒng)計量超過了顯著性水平為5%決定的臨界值,則序列存在p階自相關(guān),該序列非平穩(wěn)。
若序列Yt存在顯著線性趨勢,則采用1階差分消除不平穩(wěn);如果序列Yt存在二次多項式趨勢,則采用2階差分消除不平穩(wěn);以此類推,如果序列Yt存在d次多項式趨勢,則采用d階差分消除不平穩(wěn)。
若Yt是一個含有指數(shù)趨勢的非平穩(wěn)序列,可以通過對序列取對數(shù),先將指數(shù)趨勢轉(zhuǎn)化為線性趨勢,再進行差分處理。
若Yt是一個有明顯周期變化的季節(jié)性不平穩(wěn)序列,將該類序列某一時刻的數(shù)據(jù)與下一周期相對應(yīng)的數(shù)據(jù)相減,可以消除周期性變化。
3.1.1模型識別
計算序列經(jīng)過平穩(wěn)處理后的自相關(guān)系數(shù)ρk和偏相關(guān)系數(shù)φkk,繪出自相關(guān)圖與偏相關(guān)圖,識別模型類別,識別依據(jù)參考文獻[7],如表1所示。
表1 模型識別
如果不能通過自相關(guān)與偏相關(guān)圖做出判斷,則需要進行定量計算,計算依據(jù)如下:
1)序列自相關(guān)函數(shù)(偏相關(guān)函數(shù))在最初滯后q(p)階的系數(shù)明顯大于兩倍標準差,其后超過95%的序列自相關(guān)(偏相關(guān))系數(shù)都在2倍標準差的范圍內(nèi),則視為自相關(guān)(偏相關(guān))系數(shù)截尾。
2)存在超過5%的序列自相關(guān)(偏相關(guān))系數(shù)超過2倍標準差的范圍,則判斷自相關(guān)(偏相關(guān))系數(shù)拖尾。
3.1.2模型定階
通過模型識別,已經(jīng)確定了模型的p、q值,但大多情況下,p與q的值并不唯一,就需要借助BIC準則確定適應(yīng)模型的唯一一組參數(shù)。BIC準則中文全稱是貝葉斯信息化準則,該準則就是在信息不完全的情況下,對未知的參數(shù)先用主觀概率進行估計的得到的結(jié)果成為先驗概率,后用樣本數(shù)據(jù)與貝葉斯公式對主觀概率進行修正得到后驗概率,最后再利用期望與后驗概率做出最優(yōu)的決策[8]。
多種群遺傳算法(MPGA)是一種進化算法,它借鑒了生物界中“物競天擇,適者生存”的自然法則,算法擁有高度隨機、并行、自適應(yīng)的全局優(yōu)化搜索能力,且彌補了標準遺傳算法(SGA)早熟收斂的不足。將其應(yīng)用在ARMA模型的p、q定階計算中,能夠避免傳統(tǒng)方法的試探搜索與窮舉搜索兩種極端現(xiàn)象,提高了模型定階的準確性,與標準遺傳算法相比,運行速度也會有所提高。
建模步驟如下:
1)確定p、q取值范圍,對其進行二進制編碼,并在取值范圍內(nèi)創(chuàng)建隨機初始種群。
2)確定適應(yīng)度函數(shù)。
3)在實際應(yīng)用中,使用時間序列前一半數(shù)據(jù)進行建模,使用后一半數(shù)據(jù)對模型進行驗證。若預(yù)測值與實際值的差值越小,則模型越理想。通常采用預(yù)測值與實際值的平均相對變動值(Average relative variance:VAR)進行衡量。其表達式如下:
當VAR越小,表明預(yù)測效果越好。由此構(gòu)造適應(yīng)度函數(shù):F=1/VAR。當F的值越大,表明預(yù)測效果越好,最后計算各初始種群個體的適應(yīng)度值。
4)在[0.7,0.9]區(qū)間內(nèi)隨機產(chǎn)生交叉概率(Pc),在[0.001,0.05]區(qū)間內(nèi)隨機產(chǎn)生變異概率(Pm)。一組Pc、Pm值分別決定了算法全局搜索能力和局部搜索能力,即決定了一個種群的最優(yōu)值。將隨機產(chǎn)生的Pc、Pm作用于不同的種群,即可得到各個種群的最優(yōu)值。
5)通過移民算子將各種群關(guān)聯(lián)起來,保證了多種群的協(xié)同進化,并得到種群收斂的最優(yōu)依據(jù)。
6)通過人工算子存儲各種群中的最優(yōu)個體,保證其在計算的過程中不丟失。
7)記錄精華種群及其編碼,最終通過在精華種群中尋找最優(yōu)個體,并進行解碼找到適合模型的最優(yōu)p、q值。
得到模型相關(guān)參數(shù)后,通過判斷模型殘差序列是否為白噪聲序列來進行假設(shè)檢驗。若QLB統(tǒng)計量的pvalue值大于0.05,則認定殘差序列為白噪聲序列,模型可進行預(yù)測求解。
依據(jù)本文提出的預(yù)測模型和方法,使用Matlab軟件,將阿里云天池大數(shù)據(jù)眾智平臺的數(shù)據(jù)集作為樣本來預(yù)測某電商企業(yè)未來一周內(nèi)的商品需求量。
本文使用該數(shù)據(jù)集中商品ID、成交件數(shù)、交易發(fā)生時間這3個特征,隨機選取ID = 72836的商品作為實例,為驗證模型的精確度,以2015年3月20日—2015 年12 月20日的成交件數(shù)作為訓(xùn)練集進行建模,以2015年12月21日—2015年12月27日的成交件數(shù)作為測試集進行模型驗證。
由圖2 可以看出,商品原始序列Y1的時序圖存在異常值,這是由于電商企業(yè)在特殊時期舉行大型促銷活動而導(dǎo)致商品需求數(shù)量激增,而本文旨在預(yù)測電商企業(yè)在一般情況下的商品需求量,因此在數(shù)據(jù)處理階段需要剔除這些異常值。在剔除異常值后,本文采用插值法對缺失值進行補充,從而得到一組新的時間序列Y2,如圖3所示。
圖2 原始時間序列Y1
圖3 時間序列 Y2
根據(jù)圖4所示的Y2自相關(guān)圖,判斷Y2的平穩(wěn)性,由圖4可看出該序列的自相關(guān)函數(shù)沒有迅速趨于零,也沒有在零處收斂,大致判斷出該序列為非平穩(wěn)的。通過定量計算,滯后最大階數(shù)的QLB=871.246大于顯著性水平為5%決定的臨界值313.608 1。
圖4 Y2的自相關(guān)圖
通過差分法,對序列Y2進行平穩(wěn)化處理,差分后得到序列Y3如圖5所示,可以看出該序列在零值附近波動,大致判斷差分后的時間序列為平穩(wěn)序列。
圖5 時間序列Y3
由圖6所示的序列Y3自相關(guān)圖可知自相關(guān)函數(shù)迅速趨于零,并且在零處收斂,大致判斷該序列為平穩(wěn)序列。通過定量計算,滯后最大階數(shù)的QLB=231.732 2小于顯著性水平為5%決定的臨界值312.537 7。因此,可以判斷序列Y3為平穩(wěn)序列。
由圖7所示的序列Y3偏相關(guān)圖對模型進行識別,通過定量計算,并結(jié)合Y3的相關(guān)函數(shù),存在超過5%的自相關(guān)與偏相關(guān)系數(shù)超過2倍標準差的范圍,由此判斷自相關(guān)與偏相關(guān)系數(shù)均拖尾,由于序列Y3是由序列Y2經(jīng)過一次差分處理得到的,所以差分次數(shù)d=1,根據(jù)圖1所示的流程圖,選擇ARIMA模型進行預(yù)測。
圖6 Y3的自相關(guān)圖
圖7 Y3的偏相關(guān)圖
通過計算對模型進行定階,在滯后15階的范圍內(nèi),自相關(guān)系數(shù)滯后1、2、10、12階級時,對應(yīng)的自相關(guān)值超過了兩倍標準差的范圍,偏相關(guān)系數(shù)滯后1、2、3階時,對應(yīng)的偏相關(guān)值超過了兩倍標準差的范圍,確定模型p、q組合以及每種組合對應(yīng)的BIC值如表2所示。
表2 模型p、q值及BIC值
選擇BIC值最小的p,q組合(2,1,1)為ARIMA模型的參數(shù)。對序列的殘差值進行白噪聲檢驗,得到 pvalue(=0.536 754)>0.5,判斷該序列的殘差值為白噪聲序列,模型適合預(yù)測。對上文所確定的模型及參數(shù),進行求解,得到2015年12月20日—2015年12月27日這7天的預(yù)測值為32.202 99,由測試集得到7天的實際需求量為46。
通過迭代運算得到當p=1,q=8,VAR=3.105 116,適應(yīng)度函數(shù)值F最大為0.322 05,將(1,1,8)作為ARIMA模型的參數(shù)。
對序列的殘差值進行白噪聲檢驗,得到pvalue(=0.536 754)>0.5,判斷該序列的殘差值為白噪聲序列,模型適合預(yù)測。對上文所確定的模型及參數(shù),進行求解得到2015年12月20日—2015年12月27日這7天的預(yù)測值為36.989,由測試集得7天的實際需求量為46。
為驗證本文模型預(yù)測的準確性,對10種商品未來7天的需求量進行預(yù)測,商品ID、真實值與使用ARMA_BIC、ARMA_MPGA兩種方法所得結(jié)果以及相對誤差RE值如表3所示。
表3 3種模型預(yù)測結(jié)果對比分析
使用ARMA_BIC模型與ARMA_MPGA模型對上述11種商品預(yù)測值的均方根誤差(RMSE)、平均相對誤差(MAPE)進行對比,得到的對比結(jié)果如表4所示。
表4 對比結(jié)果
預(yù)測方法RMSEMAPEARMA_BIC26.161 00.242 532 394ARMA_MPGA16.870 10.128 225 186
由表4可以看出本文提出的ARMA_MPGA模型所對應(yīng)的RMSE值與MAPE值小于常用的ARMA_BIC模型,表明本文模型的預(yù)測準確性較高。
本文基于時間序列ARMA_MPGA 模型對電商企業(yè)在一定時間內(nèi)的商品需求量進行預(yù)測,通過對阿里巴巴公司某種商品進行需求預(yù)測分析,本文模型的特性適應(yīng)了商品需求變化的復(fù)雜性,能夠取得較滿意的預(yù)測結(jié)果。通過計算預(yù)測精度和ARMA_BIC模型的預(yù)測精度進行對比分析,結(jié)果顯示本文提出的方法具有較高精度。說明本文所出的模型能夠為電商企業(yè)的庫存管理提供決策依據(jù)。未來的研究方向在于應(yīng)用ARMA模型的同時,如何結(jié)合其他模型對數(shù)據(jù)規(guī)模較少的促銷日商品需求量進行預(yù)測,并且也能夠達到一定的精確度。