姜曉紅,曹慧敏 (南京林業(yè)大學 汽車與交通工程學院,江蘇 南京 210037)
商品需求預測是企業(yè)物流管理計劃的重要依據(jù),是企業(yè)制定戰(zhàn)略規(guī)劃、生產計劃、銷售計劃的重要舉措。電子商務零售的需求相對于傳統(tǒng)零售更加不確定,多種促銷機制手段以及各種社會因素甚至季節(jié)影響,會導致商品的需求變化趨勢變大,而不同商品的需求會表現(xiàn)不同的特點。商品預測精準度受數(shù)據(jù)規(guī)?;驍?shù)量、數(shù)據(jù)匯總程度、需求穩(wěn)定性、環(huán)境競爭力的影響較大。自回歸滑動平均模型(Auto Regressive Moving Average Model,ARIMA)對歷史數(shù)據(jù)處理效果較好,可較好地識別銷售的基本變化趙勢,對未來的市場需求進行有效預測。它可以用于當時間序列值變化趨勢較大的情況,是短期預測中比較有效的預測方法。
Norbor Wiene和Andrei Kolmogomor在20世紀40年代提出了傳統(tǒng)時間序列的基本理論基礎。近年來,F(xiàn)ink和Pratt剔除時間序列分段點的重要性是在局部范圍,通過判斷局部與重點的設定參數(shù)決定新的重要點,將參數(shù)進行不同賦值,所得到的精度也不同[1]。Ramos P結合狀態(tài)空間模型以及ARIMA模型對零售業(yè)鞋類商品進行了銷售額的一步及多步預測,并對兩種模型預測結果進行了精度對比及適用性對比[2]。國內學者曾海泉基于互關聯(lián)后繼樹模型,提出時間序列挖掘與相似性查找技術[3]。侯澍旻認為可以根據(jù)當前時間序列數(shù)據(jù)挖掘的研究情況將時間序列數(shù)據(jù)挖掘定義為:將基于一個或多個時間序列的數(shù)據(jù)挖掘稱為時間序列數(shù)據(jù)挖掘(Time Series Data Mining,TSDM)[4]。王志堅對我國1953年到2010年社會消費品零售總額年度數(shù)據(jù)進行ARMA建模[5]。郭慧敏、張學敏分別研究了基于R語言ARIMA模型在慢阻肺急性加重患者發(fā)病預測中的應用[6]和在猩紅熱分析預測中的應用[7]。ARIMA模型預測中發(fā)揮了作用,論文將進一步研究ARIMA模型預測商品未來需求量的可行性及R語言實現(xiàn)。
時間序列預測法是一種回歸預測方法,ARIMA模型在時間序列分析中應用較多。它是估計非季節(jié)和季節(jié)平穩(wěn)性的自回歸綜合移動平均模型。不同于一般回歸模型用k個外生變量,X1,X2,…,Xk,ARIMA模型是用隨機誤差項以及變量Yt自身的滯后項來解釋該變量。ARIMA方法在數(shù)據(jù)模式未知時就可以找到適合的模型,所以被廣泛應用在經濟領域。它的具體形式可表達為 ARIMA( p,d,q )。其中自回歸階數(shù)用p表示,差分次數(shù)用d表示,移動平均過程的階數(shù)用q表示。如果數(shù)據(jù)不平穩(wěn),則需對數(shù)據(jù)進行處理差分,使其平穩(wěn),稱作d階差分。基本前提是過去的銷售不存在趨勢性,而是具備一個水平或平穩(wěn)的模式。平穩(wěn)性意味著數(shù)據(jù)中不存在增長或下降。換言之,需求數(shù)據(jù)圍繞一個常數(shù)均值上下波動,與時間無關。利用時間曲線圖很容易對平穩(wěn)性進行評估。畫出時間序列,如果并沒有明顯證據(jù)表明趨勢存在,則可說明時間序列具有平穩(wěn)性。若數(shù)據(jù)明顯存在增長趨勢或有大幅波動,則需要剔除不穩(wěn)定趨勢,最好的方法就是差分法,差分法是通過利用原始時間序列中每個觀察值之間的差異或變化的一種方法,利用差分將數(shù)據(jù)轉換成類似白噪聲的具穩(wěn)定性時間序列,白噪聲的存在,也即意味著數(shù)據(jù)中不再存在趨勢特征。一旦數(shù)據(jù)從不穩(wěn)定轉化為平穩(wěn)狀態(tài),通過差分所生成的新數(shù)列即可取代。
實例選用天貓超市數(shù)據(jù),時間跨度為2014年10月1日至2015年12月27日。數(shù)據(jù)表中共有交易記錄232 621條,交易記錄屬性31個,包括收藏情況、拍下情況、成交情況等。隨機挑出一件id=100239的商品作為例子,將2014年10月10日至2015年12月20日數(shù)據(jù)作為訓練集,2015年12月21日至2015年12月27日數(shù)據(jù)作為測試數(shù)據(jù)。對數(shù)據(jù)預處理,剔除該商品在暢銷季節(jié)的異常值,采用插值的方法進行缺失值的補充,通過簡單移動平均進行平滑化處理,導出時間序列圖如圖1所示。R語言代碼如下:
圖1 剔除異常值后的商品數(shù)據(jù)時序圖
通過觀察時序圖,可以看出該序列在不同的值附近波動,可以大致判斷出該序列不是一個穩(wěn)定的序列。使用R語言計算并繪出時間序列滯后所有階數(shù)的自相關函數(shù),如圖2所示。R語言代碼如下:
>dev.new()
>pacf(qty_gmv)
>dev.new()
>acf(qty_gmv)
該時間序列的自相關系數(shù)沒有迅速下降到0,也沒有在0處收斂,而是處于波動狀態(tài),可以判斷該時間序列為一個不平穩(wěn)的序列。利用R語言對數(shù)據(jù)進行根檢驗及白噪聲檢驗,若白噪聲存在則說明數(shù)據(jù)是平穩(wěn)狀態(tài)。原始時間序列自相關圖如圖3所示。
圖2 原始時間序列偏相關圖
圖3 原始時間序列自相關圖
將原始序列進行一次差分(函數(shù)默認一階滯后項,即lag=1),存儲在dqty_gmv中。通過觀察差分后的序列的折線圖,顯然比原始序列更平穩(wěn)。對差分后的序列做ACF檢驗,檢驗結果顯示序列此時是平穩(wěn)的,差分一次的自相關圖如圖4所示,差分一次的偏相關圖如圖5所示。R語言代碼如下:
圖4 差分一次的自相關圖
圖5 差分一次的偏相關圖
利用R語言urca包對數(shù)據(jù)進行單位根檢驗及白噪聲檢驗,R語言代碼及結果如下:
計算并繪出時間序列的所有滯后階數(shù)的自相關函數(shù),由時序圖以及自相關函數(shù)在0處快速收斂可知一次差分后的序列為平穩(wěn)序列,通過QLB的定量的檢驗:QLBmax,未超過顯著性水平為5%時的臨界值,則此時表明該序列為平穩(wěn)的。與此同時,即可以得到ARIMA模型中的參數(shù)d=1。
對于ARIMA模型而言,如果自相關系數(shù)拖尾,偏相關系數(shù)p階截尾,則可以選用AR(p)模型;如果偏相關系數(shù)拖尾,自相關系數(shù)q階截尾,則可以選用MA(q)模型;如果自相關系數(shù),偏相關系數(shù)都拖尾,則可以選用ARMA( p,q)模型。為了選擇合適的ARIMA模型,引入自相關圖ACF及偏相關圖PACF。為了驗證模型是否合適,檢驗模型的殘差是否滿足均值為0的正態(tài)分布,若滿足那么對于任意的滯后階數(shù),殘差自相關系數(shù)都應該為0。運行以下代碼來檢驗這些假設。
qqnorm()和qqline()函數(shù)輸出如圖6所示,圖中數(shù)據(jù)中的點基本落在圖中的線上,顯然,本例的結果還不錯。用Box.test()函數(shù)檢驗殘差的自相關系數(shù)是否都為0。在本論文中,模型的殘差沒有通過顯著性檢驗,本文可以認為殘差的自相關系數(shù)為零。ARIMA模型能較好地擬合本數(shù)據(jù)。
圖6 正態(tài)分布QQ圖
由自相關圖(圖7)可以看出存在超過5%的序列自相關系數(shù)超過2倍的標準差的范圍,出現(xiàn)“自相關系數(shù)拖尾”。而序列的偏相關函數(shù)中,判斷該序列的偏相關系數(shù)截尾,運用R語言的auto.arima()函數(shù)確定p,q的值,于是設置ARIMA模型參數(shù)為arima( 2,1,1 )。
表1為相關系數(shù)表,其中:RMSE為均方根誤差,MAE為均方根,R^2為相關性強弱。MAE值為3.443995,開方即為1.855800,表明單個記錄的總體平均預測誤差為1.855800,模型總體性能較好。
圖7 模型檢測圖
表1 相關系數(shù)表
根據(jù)R語言forecast()函數(shù)得到20 151 221-20 151 227一周的預測結果,并與實際銷售量以及簡單移動平均法預測結果對比。使用forecast程序包預測7天的銷售量,R語言及結果如下:
函數(shù)選定ARIMA模型的參數(shù)為p=2、d=1和q=1。plot()函數(shù)可以畫出預測圖,淺灰色和深灰色區(qū)域分別代表80%和95%的置信區(qū)間。
商品預測圖如圖8所示:
為了驗證本方案的準確性,對另外10種商品進行ARIMA模型及簡單移動平均法需求量預測,繪制基于ARIMA模型結果與簡單移動預測結果的對比折線圖。可以從該折線圖(圖9)看出,ARIMA所得到的折線圖與實際值之間的擬合程度要明顯大于簡單移動平均所得到的折線圖,即ARIMA模型的精確度較高。
基于時間序列對大量不完整、含噪聲、內容不一致的數(shù)據(jù)進行平穩(wěn)化處理,采用ARIMA模型對商品需求進行預測,得到963件商品在未來7天內的全國銷售量,并與簡單移動平均法進行對比分析,通過統(tǒng)計學檢驗得出本方案預測結果相對精確。企業(yè)根據(jù)銷售量可以以銷定產,避免資源較大范圍的浪費或商品供不應求的情況發(fā)生。另外,商家在淡季,尤其是旺季來臨前的兩個月,可以積極宣傳推廣產品,采取集中配貨的方式以降低成本,旺季會有更好的競爭優(yōu)勢。本文所用模型及結果可為企業(yè)的運作和決策提供可靠依據(jù)。
圖8 商品預測圖
圖9 ARIMA模型與簡單移動平均預測對比折線圖