基於ARIMA、SVM、隨機森林銷售的時間序列預測

原文連接 http://tecdat.cn/?p=1130算法

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

現在DT(Data technology)時代,數據變得愈來愈重要,其核心應用」預測「也成爲互聯網行業以及產業變革的重要力量。對於零售行業來講,預測幾乎是商業智能(BI)研究的終極問題,單純從機器學習的角度來講,作到精準預測很容易,可是結合業務提升企業利潤卻很難。預測精確性是核心痛點。

業務挑戰網絡

針對服裝這類的時尚產業的客戶需求,咱們參考ZARA,將產品粗略分爲: 基本款和時裝。對於基本款,每一年都沒什麼大變化,國際流行的影響也不大,那麼能夠進行長計劃生產。對於時裝,決定潮流走向的決策權不在某個區域,一個地方的買手們也沒有成長到能夠準確預判國際流行趨勢,因此須要結合不一樣區域的各類因素,進行預測。對應的,在新貨構成中,銷量預測策略爲:基本款計劃生產,時尚款機動調整。機器學習

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

解決方案學習

任務/目標測試

根據服裝零售業務營銷要求,運用多種數據源分析實現精準銷量預測。大數據

數據源準備優化

沙子進來沙子出,金子進來金子出。無數據或數據質量低,會影響模型預測效果。在創建的一個合理的模型以前,對數據要進行收集,蒐集除已有銷量數據以外的額外信息(好比天氣、地點、節假日信息等),再在蒐集的數據基礎上進行預處理。spa

有了數據,可是有一部分特徵是算法不能直接處理的,還有一部分數據是算法不能直接利用的。3d

特徵轉換blog

把不能處理的特徵作一些轉換,處理成算法容易處理的乾淨特徵。舉例以下:

銷售日期。就時間屬性自己來講,對模型來講不具備任何意義,須要把日期轉變成到年份、月份、日、周僞變量。

產品特徵。從產品信息表裏面能夠獲得款式、顏色、質地以及這款產品是不是限量版等。然而並無這些變量。這就須要咱們從產品名字抽取這款產品的上述特徵。

以上例舉的只是部分特徵。

構造

以上說明了如何抽取相關特徵,咱們大體有以下訓練樣本(只列舉部分特徵)。

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

劃分訓練集和測試集

考慮到最終模型會預測未來的某時間段的銷量,爲了更真實的測試模型效果,以時間來切分訓練集和測試集。具體作法以下:假設咱們有2014-02-01 ~ 2017-06-17的銷量相關數據。以2014-02-01 ~ 2016-03-19的銷量數據做爲訓練,2016-03-20~2017-06-17的數據做爲測試。

建模

ARIMA,通常應用在股票和電商銷量領域

ARIMA模型是指將非平穩時間序列轉化爲平穩時間序列,而後將結果變量作自迴歸(AR)和自平移(MA)。

隨機森林

用隨機的方式創建一個森林,森林由不少決策樹組成,隨機森林的每一棵決策樹之間是沒有關聯的。在獲得森林以後,當有一個新的輸入樣本進入的時候,就讓森林中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬於哪一類(對於分類算法),而後看看哪一類被選擇最多,就預測這個樣本爲那一類。

支持向量迴歸(SVR)

SVR最本質與SVM相似,都有一個margin,只不過SVM的margin是把兩種類型分開,而SVR的margin是指裏面的數據會不會對迴歸有幫助。

模型優化

1.上線以前的優化:特徵提取,樣本抽樣,參數調參。

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

2.上線以後的迭代,根據實際的A/B testing和業務人員的建議改進模型

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

從上圖能夠看出,在此案例中,svm和隨機森林算法模型的預測偏差最小,運用3種方法預測某商品的銷量,其可視化圖形以下:

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

能夠看出,銷量的預測值的趨勢已經基本與真實銷量趨勢保持一致,可是在預測期較長的區間段,其預測值之間的差異較大。

評估效果不能只看銷量,要綜合考慮,須要參考業務對接、預測精度、模型可解釋性和產業鏈總體能力等因素綜合考慮;不能簡單做爲企業利潤增長的惟一標準。咱們的經驗是,預測結果僅做爲參考一個權重值,還須要專家意見,按照必定的權重來計算。

展望

除了以上列舉的一些方法,咱們已經在嘗試更復雜的銷售預測模型,如HMM、深度學習(Long Short-Term Memory網絡、卷積神經網絡(CNN))等;同時須要考慮到模型的可解釋性、可落地性和可擴展性、避免「黑箱」預測;還在嘗試採用混合的機器學習模型,好比GLM+SVR,ARIMA + NNET等。

銷售預測幾乎是商業智能研究的終極問題,即使經過機器學習算法模型可以提升測試集的預測精度,可是對於將來數據集的預測,想作到精準預測以使企業利潤最大化,還須要考慮機器學習模型以外的企業自己因素。好比,企業的總體供應鏈能力等,如何將企業因素加入到機器學習模型之中,是將來預銷售預測的一個難點與方向。所以,要想解決銷售預測終極問題還有一段路要走。

 【大數據部落】基於ARIMA、SVM、隨機森林銷售的時間序列預測

點擊「閱讀原文」下載閱讀報告全文。

原文出處:http://tecdat.cn/category/大數據部落/

相關文章
相關標籤/搜索