999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于聚類與機器學習的零售商品銷量預測①

2022-01-06 08:05:06段永瑞
計算機系統(tǒng)應用 2021年11期
關鍵詞:銷售模型

周 雨, 段永瑞

(同濟大學 經濟與管理學院, 上海 200092)

1 引言

信息化浪潮以及大數(shù)據技術的蓬勃發(fā)展為各行各業(yè)帶來了機遇與挑戰(zhàn), 通過數(shù)據驅動管理決策活動將可能為企業(yè)創(chuàng)造巨大的商業(yè)價值[1].零售企業(yè)通常儲存著大量的銷售明細數(shù)據, 這些數(shù)據為企業(yè)進行銷售預測活動提供了可行性, 銷售預測是零售企業(yè)進行多項管理決策活動的基礎, 因而對于企業(yè)具有重要意義, 例如精準的銷售預測可以有效減少因庫存積壓或庫存短缺造成的利益損失、幫助管理者更好地制定市場營銷策略以及提升客戶滿意度水平, 從而使企業(yè)建立起長期的競爭優(yōu)勢[2].

銷售預測通常被當作時間序列預測問題來進行處理, 為了滿足企業(yè)在戰(zhàn)略、戰(zhàn)術及日常運營等不同層級上的決策需要, 銷售明細數(shù)據需要相應的在時間、供應鏈及產品等多個維度上進行不同程度的聚合.目前大多數(shù)研究主要集中于解決高聚合級別如總銷售的預測問題, 對于低聚合級別如商品SKU預測的相關研究還相對較少[3], 而后者相對更難獲得準確的預測結果, 其原因在于低層級往往包含較多的數(shù)據噪聲, 且影響銷售波動的因素及其作用效果十分復雜, 不同商品的銷售情況可能存在較大的差異.近些年來, 許多研究對銷售的影響因素進行了討論, 除了歷史銷售表現(xiàn)之外, 部分文獻發(fā)現(xiàn)促銷和價格等相關因素能夠有效提升促銷期的預測表現(xiàn)[4,5].Huber等通過實證分析驗證了日歷因素如節(jié)假日對于銷售預測的提升作用[6].此外, 一些文獻還討論了天氣因素對于預測結果的影響[7,8].

從預測方法上看, 常見的時間序列預測方法如指數(shù)平滑法[9]、ARIMA與狀態(tài)空間模型[10]已經得到了較為廣泛的討論, 然而傳統(tǒng)時間序列方法的缺陷在于僅使用內部變量進行預測且無法有效捕捉非線性因素的影響.因此, 許多文獻提出基于數(shù)據驅動的機器學習方法將時間序列預測問題轉化為監(jiān)督學習的方式進行處理, 其中較為常見的方法包括神經網絡模型如極限學習機ELM[11]、深度學習網絡DNN[12]以及回歸算法如支持向量回歸SVR[13,14]、基于回歸樹的集成算法如隨機森林[15]、XGBoost[16]等.此外, 部分文獻認為結合聚類的預測模型可以有效提升預測效果, Venkatesh等對111個ATM機的每日現(xiàn)金需求量進行了預測, 他們根據現(xiàn)金需求量的周季節(jié)性特征對ATM機進行了聚類, 并在每個類別上分別訓練了多種神經網絡模型, 實驗結果表明基于聚類的預測模型總是優(yōu)于不聚類的預測模型[17].Lu等構建了基于獨立成分分析、GHSOM聚類與SVR的月銷售預測模型, 根據38家PC銷售分公司的歷史銷售數(shù)據對它們進行了類別的劃分, 并對每一個類別獨立訓練了SVR預測模型, 實驗結果表明該模型能有效提升預測效果[18].這些研究所提出的預測模型在本質上是類似的, 即在進行預測之前首先使用聚類算法將整個數(shù)據集劃分為幾個子數(shù)據集, 通過提升數(shù)據集中的數(shù)據相似程度以達到減少數(shù)據噪聲的目的, 之后再通過每個子數(shù)據集中的數(shù)據構建出的數(shù)據池來進行預測模型的訓練, 這樣所得到的預測模型的預測結果更加準確和穩(wěn)定.不過需要注意的是, 以上研究在預測變量的選擇上僅考慮了歷史滯后因素, 因此所提出的模型仍舊存在一定的改進空間.

總的來說, 目前的相關研究仍主要集中于解決總銷售預測或單個商品的銷售預測問題, 對于多個商品的銷售預測場景的討論還相對不足, 因此本文將K-means聚類算法與SVR、隨機森林、XGBoost等機器學習回歸算法相結合以構建預測模型來解決零售行業(yè)中多個商品的日銷量預測問題, 通過構建數(shù)據池的方式擴充了用于模型訓練的數(shù)據量, 為了驗證模型的預測效果,本文將所提出的模型與基準模型以及不使用聚類的預測模型進行了對比分析, 所有模型的訓練與評估都是在真實的零售銷售數(shù)據集上完成的.

2 基于聚類與機器學習的預測模型

本文結合聚類與機器學習算法構建了商品級別的銷售預測模型, 模型的基本流程如圖1所示.針對所要分析的問題場景, 我們分別以Y= (y1,y2, …,yt, …,yn)以及X= [xij],i= 1, 2,…,n,j= 1, 2,…,m表示某件商品在n個時間點上的銷售量以及與銷售量相關的外部變量的取值, 則對于任意一個商品而言, 預測目標即是基于已有數(shù)據預測該商品在下一個時間點的銷售量yn+1.

圖1 基于聚類與機器學習的預測模型

2.1 基于K-means算法的商品聚類

零售企業(yè)往往需要對多種商品進行銷量預測, 考慮到不同商品銷量的波動模式可能有較大的差異, 若直接使用所有商品的數(shù)據訓練模型則會引入大量的數(shù)據噪聲, 這可能會導致所訓練出的模型有較大的預測偏差, 因此在預測之前首先通過聚類分析將具有類似銷售波動模式的商品進行劃分, 以此來達到降低數(shù)據噪聲的目的.

K-means算法因其簡單高效的特點在諸多領域得到了廣泛應用[19].該算法的核心思想為: 首先從全部數(shù)據樣本中隨機選取K個初始聚類中心點θi(1≤i≤K)并計算其余樣本點距離各聚類中心的歐式距離, 并將該樣本點劃分到距離其最近的聚類中心所代表的簇中,之后計算每個簇中所有樣本的均值以作為新的聚類中心并進行下一次迭代, 算法的停止準則為達到最大的迭代次數(shù)或所有聚類中心都不再變化為止.

為了符合真實的預測場景, 我們將原始銷售數(shù)據從時間點t1切割為訓練集和測試集兩部分, 并假設僅有訓練集是已知的, 接著以商品在訓練期上每個時間點的銷量作為輸入變量來實現(xiàn)商品的聚類, 由此, 樣本點與聚類中心間的歐式距離計算公式為:

其中,s即為某件商品在訓練期的樣本數(shù)據,sj,θij分別代表商品s與商品簇中心θi的第j個變量的取值.通常情況下, 我們以整體誤差平方和來衡量聚類的效果,計算公式如下:

2.2 機器學習處理時間序列預測問題的基本形式

機器學習可以將時間序列預測轉化為監(jiān)督學習的方式來進行處理, 為了構建機器學習模型訓練所需要數(shù)據形式, 我們首先需要在原始時序數(shù)據上使用滑動時間窗口對內部變量即歷史滯后值進行提取: 假設使用過去l個時間點上的歷史數(shù)據作為預測變量, 則在長度為n的原始數(shù)據Y= (y1,y2, …,yt, …,yn)上總共可以得到n-l個樣本數(shù)據:

其中,X表示預測變量矩陣即特征矩陣,Y為目標變量.進一步, 我們可以將外部變量加入到當前的特征矩陣X中, 從而得到最終的特征矩陣和目標變量矩陣:

機器學習需要有充足的數(shù)據量為其提供支持, 數(shù)據量不足將很可能導致過擬合情況的發(fā)生, 使得所訓練出的模型僅在特定的訓練數(shù)據集上擁有良好的擬合效果而不具備對未來進行預測的可用性.一般情況下單個時間序列對象所包含的數(shù)據量較少, 在進行訓練集和測試集的劃分后使得可用于模型訓練的數(shù)據變得更加有限, 導致在單個時間序列對象的預測問題上機器學習方法的表現(xiàn)甚至劣于更為簡單的時間序列預測方法[20].為了解決這一問題, 本文利用不同商品的數(shù)據來構建數(shù)據池, 并基于整個數(shù)據池的數(shù)據進行模型訓練和測試: 假設DS表示由商品s的歷史銷售數(shù)據與相關的外部變量數(shù)據按照上述方式處理所得到的特征數(shù)據與目標變量數(shù)據, 則所有商品都可以按照相同的方式進行處理, 最終我們將所得到的全部數(shù)據進行合并:D= ∪Ds,s=1,2,···,N.

至此, 我們可以基于數(shù)據池D進行訓練集、驗證集與測試集的劃分.訓練集數(shù)據用于模型的訓練, 使模型能夠對特征值與目標變量之間的映射關系進行學習.驗證集的主要作用體現(xiàn)在通過超參數(shù)調優(yōu)以避免模型出現(xiàn)過擬合與欠擬合的情況, 最后, 模型預測效果的評估在測試集數(shù)據上進行, 本文使用MAE與SMAPE作為預測效果的評估指標:

其中,m為測試集的樣本總數(shù),yi為真實值,y~i為預測值。

3 實證研究

3.1 數(shù)據

本文所使用的數(shù)據來源于國內某家零售企業(yè)所提供的真實銷售數(shù)據集, 我們選取了清潔用品品類下160件商品從2011年4月1日至2011年11月8日共222個時間點的日銷售數(shù)據進行分析, 對于少量缺失值使用了該時間點前后兩周的平均銷量進行了填充.其中2011年4月1日至2011年9月27日共180個時間點的數(shù)據用于構建訓練集和驗證集, 之后的42個時間點用于構建測試集, 圖2顯示了隨機抽取出的兩件商品的銷售時序圖, 從圖中我們可以看出商品呈現(xiàn)出明顯的周季節(jié)性特點, 但兩種商品的銷量趨勢以及波動幅度都存在著明顯的區(qū)別.這些規(guī)律在我們所分析的其他商品上是較為普遍存在的.

圖2 商品銷售時序圖

3.2 預測變量

預測變量的選擇往往依賴于特定領域的知識, 我們參考了已有研究的相關結論并在數(shù)據探索性分析的基礎上構建了本文的預測變量.

時間序列預測具備可行性的前提為假設過去出現(xiàn)過的數(shù)據模式在未來還會以類似的方式出現(xiàn), 因此自回歸時間序列數(shù)據即歷史滯后值是最常用也是最直接的預測變量.然而目前對于滯后值的選擇范圍還沒有文獻進行過系統(tǒng)的討論, 一般情況下對于短期預測而言使用近期的滯后值來進行預測會得到更為準確的預測效果, 此外, 基于滯后值計算的相關統(tǒng)計值也常被用來進行時間序列的預測.

外部變量的加入有助于提升機器學習模型的預測效果.除了用于劃取歷史滯后值之外, 由時間維度衍生出的時不變的日歷變量如月份、工作日與周末、節(jié)假日等在時間序列預測場景下很可能起到積極的作用.考慮到所分析的多數(shù)商品具有較為明顯的周季節(jié)性特點, 本文主要關注了商品銷量在一周內的變化趨勢以及在法定節(jié)假日期間的銷售情況, 并分別計算了相應的銷售均值.從圖3中我們可以看到, 非節(jié)假日期間商品銷量有著明顯的周季節(jié)性特點, 這與銷售時序圖所反映出的現(xiàn)象是一致的, 考慮到消費者在周末有更充裕的時間進行集中購物, 商家也會在周末推出相應的促銷優(yōu)惠活動, 因此周末的商品銷量要明顯地高于工作日.此外, 節(jié)假日期間的銷量普遍高于非節(jié)假日, 特別是我們發(fā)現(xiàn)本應屬于工作日的周一和周二的商品銷量在節(jié)假日期間有了明顯的增長.因此, 本文在建立預測模型時納入了相關的日歷變量.最后, 我們還考慮將商品價格作為預測變量, 由于價格本身也可以被看作是時間序列數(shù)據, 因此對于價格變量同樣使用了時間滑窗的方式進行處理, 即我們考慮了短期價格波動對商品銷量的影響, 本文使用的所有預測變量見表1.

圖3 周季節(jié)性與節(jié)假日對商品銷量的影響

表1 預測變量

3.3 實證模型

本文使用了多種機器學習回歸算法構建預測模型,其中包括支持向量回歸(Support Vector Regression,SVR)、集成算法隨機森林(Random Forest, RF)[21]以及XGBoost (eXtreme Gradient Boosting)算法[22].作為實驗對照, 本文選用了Na?ve以及季節(jié)性指數(shù)平滑作為基準方法, Na?ve將上一個時間點的真實值作為預測值來進行預測, 故又被稱為隨機游動預測法, 該方法因其簡單且有效的特點而被廣泛地用作基準方法[23].Hyndman等對指數(shù)平滑家族做了完備的闡述[24], 結合本文的預測場景我們選擇了季節(jié)性指數(shù)平滑來對每個商品進行單獨預測, 使用了過去七天的歷史銷量作為該方法的預測變量.

3.3.1 支持向量回歸

支持向量回歸是在統(tǒng)計學習理論基礎上發(fā)展起來的基于結構風險最小化原理的機器學習算法, 該算法通過核函數(shù)將低維空間的非線性問題轉化為高維空間的線性問題來進行求解, 因而能夠有效降低過度擬合的可能性, 具有較強的泛化能力[25].本文選用徑向基函數(shù)作為支持向量回歸的核函數(shù), 使得該算法能夠更好地處理非線性關系.

3.3.2 隨機森林

隨機森林是基于決策樹的Bagging類集成學習算法, 其核心思想是通過構建多個相互獨立的決策樹并采用平均值計算或多數(shù)表決原則對每個決策樹輸出的結果進行處理以得到最終的結果.為了保證隨機性, 在構建每個決策樹時都采用隨機有放回抽樣的方式對訓練集數(shù)據進行樣本抽取, 并且在每個節(jié)點都通過隨機選取特征子集來決定分支結果.隨機森林有諸多優(yōu)點,由于對獨立的決策樹采用并行計算方式, 使得其在大型數(shù)據集上也有較快的計算速度, 此外隨機森林能夠處理高維數(shù)據、不同類型的特征以及缺省值數(shù)據, 且不要求對數(shù)據進行規(guī)范化.

3.3.3 XGBoost

XGBoost是基于梯度提升樹算法GBDT的高效實現(xiàn)與改進算法, 本質上屬于Boosting類的集成學習算法.Boosting通過逐步迭代的方式將多個弱學習器結合為強學習器, 其中每一步迭代所構建的弱學習器都是根據已有弱學習器的預測殘差進行進一步學習的.GBDT在進行目標函數(shù)優(yōu)化時僅使用到了一階導數(shù)信息, 而XGBoost對損失函數(shù)進行了二階泰勒展開并增加正則項以避免過擬合情況的發(fā)生.XGBoost具有高準確度、能夠并行計算、可以分布式處理高維稀疏特征等優(yōu)點.

3.4 預測結果分析

本文首先使用全部訓練集數(shù)據對機器學習預測模型進行了訓練, 采用十折交叉驗證以及網格搜索法進行了超參數(shù)選擇, 并在測試集數(shù)據上驗證了模型的預測效果, 表2對各模型的預測評估指標結果進行了匯總.從預測指標反映的結果來看, 季節(jié)性指數(shù)平滑以及基于機器學習的預測模型結果都要優(yōu)于基準方法Na?ve,其中3種基于機器學習的預測模型的預測效果又要好于季節(jié)性指數(shù)平滑, 由于季節(jié)性指數(shù)平滑是基于單個商品的銷售數(shù)據來進行預測的, 所考慮的預測信息有限, 且不能很好地處理非線性關系, 因此在多個商品的預測場景下通過構建數(shù)據池來擴充數(shù)據量和預測變量的選擇范圍更有助于發(fā)揮出機器學習模型的預測效果.最后, 支持向量回歸的預測結果優(yōu)于隨機森林以及XGBoost, 其相比于Na?ve在SMAPE及MAE指標上分別獲得了20.45%以及18.56%的提升.

表2 基準模型與機器學習模型的預測結果

進一步, 本文進行了實驗以驗證聚類是否能夠進一步提升機器學習預測模型的預測效果.聚類數(shù)對最終的預測效果具有直接影響, 過少的聚類數(shù)意味著不能很好地識別具有相似銷售模式的商品, 即不能很好地實現(xiàn)降低數(shù)據噪聲的作用, 而過多的聚類數(shù)會導致子數(shù)據集中包含較少的數(shù)據量, 這將會影響到預測模型的最終預測效果.基于以上考慮, 我們分別取聚類數(shù)K=2, 3, 4并實驗了3種機器學習模型在不同聚類數(shù)下的預測結果, 為了方便對比, 我們使用K=1來表示不使用聚類的情況.

表3匯總了不同聚類數(shù)下各預測模型的預測結果,從中我們可以看到結合聚類的機器學習模型的預測效果在原有基礎上都有了進一步的提升, 其中K-SVR模型在聚類數(shù)K=2時得到了最優(yōu)預測結果, 而K-RF以及K-XGBoost模型則在聚類數(shù)K=3時表現(xiàn)最佳, 當聚類數(shù)為4時預測效果的提升程度則最小, 因此我們認為將商品劃分為2或3個商品簇是相對合適的.此外,無論在哪種情況下支持向量回歸的預測結果總是優(yōu)于兩種集成算法, 因此相較于聚類而言, 算法的選擇對最終的預測結果有著更大的影響.

表3 基于聚類與機器學習的預測模型的預測結果

為了更加直觀的對比不同模型的預測結果, 繪制了不同預測模型的預測值與真實值的散點圖, 具體情見圖4.其中樣本分布越集中于對角線說明預測誤差越小.

圖4 不同模型預測值與真實值關系散點圖

4 結論

銷售預測能夠為零售企業(yè)安排生產計劃、控制庫存水平以及制定營銷策略等多項管理決策活動提供支持.目前的大部分研究是針對單個時間序列對象如總銷售或某個特定商品的銷售情況進行分析的,而在真實預測場景中企業(yè)往往需要對多個商品進行預測, 本文認為基于聚類分析與機器學習方法的預測模型能夠很好地應用于此類預測場景, 其原因主要為在此類預測場景下可以通過構建數(shù)據池的方式來增加用于訓練機器學習模型的數(shù)據量以及預測變量的選擇范圍.此外, 考慮到數(shù)據池構建的同時會引入數(shù)據噪聲, 因此在訓練模型之前可以通過聚類分析將具有相似銷售模式的商品進行劃分.本文基于K-means聚類與支持向量回歸、隨機森林、XGBoost構建了3種不同的預測模型, 并使用真實的零售企業(yè)銷售數(shù)據對模型進行了驗證.結果表明3種預測模型的預測效果要明顯好于基準預測方法, 其中表現(xiàn)最優(yōu)的預測模型K-SVR (K=2)在SMAPE及MAE兩項預測評估指標上相較于Na?ve方法分別提升了21.23%和20.46%.

本文所提出的預測思路不僅對零售行業(yè)的銷量預測問題具有參考意義, 其還可以應用到類似的時間序列預測場景中.對于未來的研究方向我們認為可以嘗試將更多性能優(yōu)異的機器學習算法用于此類預測場景.此外由于K-means聚類算法的缺陷之一為需要手動設定聚類數(shù), 因此也可以嘗試使用其他類型的聚類算法如層次聚類法.

猜你喜歡
銷售模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
這四個字決定銷售成敗
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
一個相似模型的應用
銷售統(tǒng)計
中國化妝品(2003年6期)2003-04-29 00:00:00
銷售統(tǒng)計
中國化妝品(2003年3期)2003-04-29 00:00:00
銷售統(tǒng)計
中國化妝品(2003年1期)2003-04-29 00:00:00
主站蜘蛛池模板: 在线观看无码a∨| 亚洲伊人电影| 色综合五月婷婷| 久久精品这里只有精99品| 少妇露出福利视频| 思思热在线视频精品| 玖玖精品视频在线观看| 最新无码专区超级碰碰碰| 亚洲一区毛片| 91精品国产自产在线观看| 中文字幕永久在线看| 成人国产一区二区三区| 日本免费精品| 国产免费好大好硬视频| 色综合久久综合网| 久久综合色88| 日本不卡在线| 免费国产小视频在线观看| 97国产在线观看| 91亚洲视频下载| 67194亚洲无码| 51国产偷自视频区视频手机观看| 成年A级毛片| 国产在线精品99一区不卡| 在线观看欧美精品二区| 国产一级裸网站| 国产激情无码一区二区APP| 国产精选自拍| 狼友av永久网站免费观看| 美女被操91视频| 玖玖精品在线| 欧美成人精品高清在线下载| 国产精品视频免费网站| 91蝌蚪视频在线观看| 五月激情婷婷综合| 中文国产成人精品久久一| 久久久久久久久久国产精品| 色婷婷在线影院| 国产成人高清精品免费软件| 久久精品国产999大香线焦| 欧美在线观看不卡| 亚洲成人一区二区| 五月天久久婷婷| 亚洲精品大秀视频| 国产真实自在自线免费精品| 国产精品林美惠子在线播放| 四虎免费视频网站| 亚洲黄色视频在线观看一区| 欧美黑人欧美精品刺激| 国产Av无码精品色午夜| 国产精品七七在线播放| 日本尹人综合香蕉在线观看| 9cao视频精品| 国产日韩精品欧美一区喷| 亚洲中文字幕久久无码精品A| 人妻少妇乱子伦精品无码专区毛片| 国产一区二区三区在线观看视频 | 亚洲国产精品无码AV| 欧美色视频日本| 日韩成人免费网站| 九色视频线上播放| 国内精品自在自线视频香蕉| 东京热高清无码精品| 欧美日韩另类在线| 亚洲无码高清视频在线观看| 中文成人在线视频| 五月婷婷精品| 成人另类稀缺在线观看| 欧美性猛交一区二区三区| 国产成人AV综合久久| 亚洲黄色高清| 国产精品私拍在线爆乳| 九九久久精品免费观看| 亚洲三级电影在线播放| 亚洲天堂免费观看| 欧美日韩在线第一页| 国产精品手机视频| 99视频精品全国免费品| 成人免费视频一区二区三区| 国产精品白浆无码流出在线看| 亚洲人成色77777在线观看| 99热免费在线|