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