田歌 吳曠 田紅蕊



摘要:現多數的商品銷量預測是以單個商品預測為主,而針對多類商品的銷量預測如綜合型商超或社區便利店來說存在一定的需求;同時對于縣域或鄉鎮級商超,在傳統節假日如春節期間出現大量返鄉人員,由于人員數量激增,且春節具有走親訪友,互饋禮品的傳統習俗,因此對各類商品的消費需求會在短時間內劇增,故對春節期間商品種類及銷貨數量的預測是商家及廠家備貨的重要參考數據。本文基于以上兩種現實需求對商品的種類和銷量進行預測:由于不同類別商品銷售量的波動會千差萬別,如果使用所有的數據進行訓練會對引入很多不必要的噪聲,導致誤差的增大,因此設計使用k-means聚類方法及ARIMA模型對多種商品在傳統節假日期間的銷量進行預測,在真實的某一典型縣級商超銷量數據庫上進行評估驗證,最后將其與基準的模型進行數據對比,以驗證本方法對精度提升的度量。
關鍵詞 :多類商品;傳統節日;銷量預測;K-means聚類;ARIMA模型
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)18-0059-02
開放科學(資源服務)標識碼(OSID):
1引言
信息化的浪潮為商業帶來了巨大的發展機遇,依據數據來驅動管理,指導決策極具商業價值,依靠智能運算對零售產品的銷量預測估值已成為商家提高其競爭力的重要方式。根據對以往客戶消費商品類別、數量、時間節點等大量信息,從中高效及時地預測客戶需求,便于及時進行貨品準備、推送廣告及價格調整等后續準備動作的部署,為客戶提升滿意度,為商家創造更大的商業利潤,同時也為避免商家因預測不準確導致的商業損失,幫助企業長期保持競爭優勢。因此針對銷售量的預測具有一定的商業和學術價值。
很多學者專注于該方向的研究突破以期得到更為準確或代價更低的計算方法。銷量的預測大多數以時間序列進行,且以高聚合預測值為最終目標,對于低聚合的相關探究涉及不多,低聚合因素所產生的影響維度較多,天氣、廣告效果、促銷等因素也是重要影響因素,如沒有針對性去噪操作,會使損失一定的數據精度。常見的基于銷售量的預測方法如ARIMA[1]和指數平滑法[2]等基于時間序列的預測已經得到大范圍的使用。然單使用傳統預測方法僅僅只能使用內部的變量進行預測,且一些非線性因素如上文提到的促銷、廣告等未能完全融合其綜合影響,部分文獻提出將線性因素使用ARIMA預測,非線性因素使用反向傳播模型進行預測,結合二者優點,生成預測結果[3]。隨著機器學習在各個領域的廣泛應用,相繼出現了多種結合機器學習的方法將時序預測模型轉換為數據驅動及監督學習的方式,如將ARIMA與BP神經網絡結合[4],支持向量機與ARIMA結合[5],ARIMA和XGBoost組合[6]卷積網絡CNN與ARIMA結合,極限學習模型ELM與ARIMA結合等方式均能在不同層次不同行業領域內得出較理想的預測結果。除此之外也有不少的學者認為引入聚類模型可以大大的提升預測的精度效果,Venkatesh等使用聚類的方式預測ATM機的現金流量,根據其周季節特征進行聚類,在每一類上做神經網絡訓練,其實驗驗證了基于聚類的預測效果明顯優于未實行聚類的效果[7]。目前大多數的預測都是基于單個商品,對于多類商品的銷量預測相對不夠廣泛。本文以聚類模型將數據池中的數據分成一定的商品簇,通過ARIMA模型對每一商品簇進行銷量預測,以此構建的多種類商品銷量預測模型,將此模型與一般的ARIMA模型在同一數據池上進行測試,數據表明該模型具有較理想的預測效果。
2 K-means聚類算法
K-means即k均值算法的原理簡單易且高效,因此在很多領域得到了廣泛的應用[8],其主要思想是從數據樣本中隨機地選擇k個初始點作為聚類的中心,[a=a1,a2,...ak];計算每個樣本點[xi]到每個聚類中心[ai]的歐式距離,并將其分類到聚其最近的[ai]對應的類中,對每個類別[ai],再次計算其聚類中心公式為:
[ai=1Cx∈cix]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
重復迭代以上步驟,直至聚心不再變動為止。我們以此為出發點,假設在商品銷售歷史數據中取時間點[Ti]為界,該界限前的銷售量為樣本訓練數據,其余為測試數據
[d(s,Mj)=i=1T1(sj-Mij)](計算歐式距離)(2)
3 ARIMA模型
自回歸移動平均模型(ARIMA也稱Box-Jenkins模型)在1970年被BOX首次提出,該模型在基于對時間序列的數據分析中被廣泛應用,主要研究某一種現象根據時間的不同所呈現的變化情況,因此不僅可以展示過去與現在的變化情況,也可以根據之前的數據分析、建模并預測出未來的變化趨勢。
該模型將自回歸、差分與移動平均線三種方法相結合,按以下步驟進行建模:
1)數據的平穩性檢驗與處理。平穩序列為某時間序列為一固定數值或在固定數值范圍內波動,且延遲m期變量的自協方差與其自相關的系數ACF是基本相等的。平穩性即要求由樣本的時間序列所生成的未來的擬合曲線依然可以按照現在的“慣性”往下延續,其均值與方差變動不明顯。其檢驗方法大致分為主觀圖形檢驗、單位級根檢驗等。數據平穩性的處理一般使用d階差分運算:將兩個相鄰時間段的序列值相減即為差分運算(一階差分),將所得數值再次相減即為二階差分,重復d次即為d階差分。
2 )p和q定階、參數估計。即根據ACF(自相關系數)和PACF(非自相關系數)趨向于0的方法進行定階,一般選擇部分時間序列進行計算,根據網格法遍歷所有參數,然后用python對時間序列進行擬合,若預測序列圖與實際序列圖大致吻合,則對當前模型進行肯定。
3)殘差檢驗(白噪聲)。白噪聲檢驗即檢查一個序列中是否存在一定的關系,若沒有任何關系,則稱該序列為純隨機序列。檢驗方法為檢查ACF是否趨近于0。
4)估算并預測。根據p、q、d等模型參數進行對未來時間序列的預測。
本文在jupyter平臺完成代碼的實現及數據處理與圖形制作。
4使用jupyter平臺使用matplotlib基于K-means和ARIMA模型進行預測
4.1數據來源
收集了一縣域級小型商超在2017~2021年春節期間的商品銷量記錄。
4.2使用k-means進行聚類
聚類后將商品分為里三個商品簇:可概括為日用品、煙酒類及副食品等產品簇。
4.3對每個商品簇進行銷量預測
4.3.1平穩性檢驗
本文使用ADF檢驗,該方法是判斷一個序列中是否存在有單位根,如何一個序列是平穩序列,則沒有單位根,在python中可通過模塊statsmotels進行檢驗實現。導入數據后進行原始序列的ADF檢驗,結果為: (adf檢驗的結果:-3.0303619167579696, 統計量的P值:0.03215462767083654, 計算過程中用到的延遲階數:5, 用于ADF回歸和計算的觀測值的個數:
31,{'1%': -3.661428725118324,'5%': -2.960525341210433,'10%': -2.6193188033298647}, 426.8275356961312)是配合adf檢驗的結果一起看的,是在0.99,0.95,0.90置信區間下的臨界ADF檢驗值。
一階差分序列的白噪聲檢驗結果為: (array([8.41941052]), array([0.00371236]))。
4.3.2 定階
分別使用AIC和BIC方法得到最優的p值和q值均是0和1。
4.3.3 建模與預測
5預測結果分析
表1為使用K-means模型聚簇后的arima預測與不使用K-means方法的預測結果對比,使用該方式在商品銷量預測中具?有較高的準確率。本文所設計的預測方法不僅對商超零售具有一定的指導意義,對相似的基于時間序列的、銷量預測也具有一定的參考價值,但由于K-means具有需要手動設置聚類的數值,因此或可嘗試將更多的機器學習的方法融入其中,以期達到更優的效果。
參考文獻:
[1] 姜曉紅,曹慧敏.基于ARIMA模型的電商銷售預測及R語言實現[J].物流科技,2019,42(4):52-56,69.
[2] 張蔚虹,劉立.指數平滑法在銷售預算中的應用[J].中國管理信息化,2008,11(2):84-86.
[3] 閆博,李國和,林仁杰.混合銷售預測模型[J].計算機工程與設計,2015,36(3):814-818.
[4] 朱家明,胡玲燕.基于ARIMA和BP神經網絡對人民幣匯率預測的比較分析——以美元人民幣匯率為例[J].重慶理工大學學報(自然科學),2019,33(5):207-212.
[5] 劉家學,白明皓,郝磊.基于ARIMA-SVR組合方法的航班滑出時間預測[J].中國科技論文,2021,16(6):661-667.
[6] 謝學斌,孔令燕.基于ARIMA和XGBoost組合模型的交通事故預測[J].安全與環境學報,2021,21(1):277-284.
[7] Venkatesh K,Ravi V,Prinzie A,et al.Cash demand forecasting in ATMs by clustering and neural networks[J].European Journal of Operational Research,2014,232(2):383-392.[8] 李秉晨,于惠鈞,劉靖宇.基于Kmeans和CEEMD-PE-LSTM的短期光伏發電功率預測[J].水電能源科學,2021,39(4):204-208.
【通聯編輯:聞翔軍】