作者: 永洪BI??來源: 永洪科技??時間:2023年07月25日
本文通過一個零售行業(yè)銷售預測的實戰(zhàn)案例來介紹永洪BI V10.1版本的數(shù)據(jù)變換操作節(jié)點和LightGBM算法,以幫助廣大用戶了解和學習整個數(shù)據(jù)處理和模型訓練、預測、評估的全過程。
我們以一個在7個歐洲國家經(jīng)營著3000多家藥店的連鎖企業(yè)為例,通過構(gòu)建模型,可以幫助它的門店經(jīng)理提前至多六周預測每日的銷售額。需要有兩張數(shù)據(jù)表,分別為各個門店的信息數(shù)據(jù)和從所有門店匯總來的歷史銷售信息,詳細字段描述如下表。門店的銷售情況受到許多因素的影響,包括促銷、競爭、學校和國家假日、季節(jié)性和地區(qū),這個可以根據(jù)您的實際情況修改。
表1門店信息字段描述
表2 銷售信息字段描述
對于這種預測的場景,我們一般會將其抽象為一個回歸問題,LightGBM算法在實際工程項目中對類別型特征的處理非常適合一些金融數(shù)據(jù)或多因素影響的銷量數(shù)據(jù)建模場景,所以我們選擇LightGBM回歸。
首先要分析數(shù)據(jù),然后對數(shù)據(jù)進行預處理,永洪BI的深度分析功能提供了幾十種數(shù)據(jù)變換節(jié)點,采用了可視化的操作方式,通過鼠標拖拽即可完成流程的搭建。選中商店數(shù)據(jù)節(jié)點,在右側(cè)的數(shù)據(jù)探索可以查看對字段的統(tǒng)計分析結(jié)果。(以下使用的數(shù)據(jù)處理節(jié)點為根據(jù)此數(shù)據(jù)分析選擇的,不代表所有場景都需要使用這些節(jié)點,需要根據(jù)數(shù)據(jù)情況選擇。)
選擇CompetitionDistance字段,在統(tǒng)計中缺失值數(shù)量顯示存在3個缺失值,且各個門店差別較大(最小20,最大75860),故而使用缺失值填充節(jié)點處理。
又通過數(shù)據(jù)分布直方圖可知存在數(shù)據(jù)傾斜,所以需要進行對數(shù)變換。為了知道促銷距今有多少周,還需要將Promo2SinceYear和Promo2SinceWeek字段的信息合并處理為Promo2Weeks字段,因為銷量和促銷的時間相關(guān)。使用計算列節(jié)點,新建對數(shù)變換和Promo2Weeks計算列。
因為上述計算過程會出現(xiàn)缺失值,故需要將其填充,否則空值無法分析。
對于銷售信息數(shù)據(jù),我們從數(shù)據(jù)探索的盒須圖中可以看出Sales字段存在明顯偏離其它數(shù)據(jù)的值。
所以先使用過濾節(jié)點,過濾偏離數(shù)據(jù),運行后發(fā)現(xiàn)此數(shù)據(jù)并沒有參加促銷,因為促銷才更能影響銷量,故將其判斷為異常值過濾掉,且不需要未營業(yè)時的商店銷售數(shù)據(jù),因為此數(shù)據(jù)對銷量判斷沒有意義,故將未營業(yè)時數(shù)據(jù)過濾。
接下來從日期特征提取年、月、日特征,為了后續(xù)可以精細的按月判斷促銷。
因為需要將商店數(shù)據(jù)中的PromoInterval字段與銷售信息中的Month字段結(jié)合,判斷銷售記錄是否在促銷期間發(fā)生,所以我們通過聯(lián)接節(jié)點將兩個數(shù)據(jù)合并在一起。
如果想預測商品銷量的話,是不是促銷月是很重要的信息,所以通過計算列節(jié)點新建名稱為是否為促銷月的數(shù)據(jù)。
最后,使用過濾節(jié)點將最后48天的數(shù)據(jù)(即過濾大于等于2015年6月14日的數(shù)據(jù))劃分為測試集,其它為訓練集(即過濾小于2015年6月14日的數(shù)據(jù))。至此,數(shù)據(jù)預處理流程結(jié)束。
之后,我們在訓練集過濾節(jié)點后接LightGBM回歸節(jié)點,并調(diào)整其配置參數(shù),如果不是很了解參數(shù),也可以選擇自動調(diào)參,特征列字段為Promo2Weeks-Fill Null Value、PromoInterval等,目標列選擇Sales。
測試集過濾和LightGBM回歸節(jié)點后接模型應用節(jié)點,此流程是為了將訓練完成的模型用于測試集,所以模型應用節(jié)點的自變量需要和模型的特征列一致(可以直接復制粘貼字段)。因變量需要在選擇列中新建變量,命名為predict。
模型應用后接回歸性能評估,用各種指標比較真實值和預測值的差距。最后通過連接圖片視圖、表格視圖或數(shù)據(jù)集視圖查看結(jié)果。
運行實驗后,可以在模型應用結(jié)果中查看預測值。除此之外,我們還可以查看在測試集上預測的銷售額和測試集中樣本的實際銷售額的對比圖,評估預測準確性。
本案例是一個常用的預測場景,可以大致總結(jié)為以下過程,此流程為機器學習的通用流程。
詳細的案例介紹您可以下載永洪最新的Yonghong Desktop V10.1了解(點擊下載:永洪桌面版),新建實驗模型即可查看此銷量預測案例。
也可以查看和了解更多內(nèi)置案例,精準的預測不僅能幫助企業(yè)提前制定規(guī)劃,也可以幫企業(yè)降低風險。在數(shù)字化轉(zhuǎn)型的大潮中,讓我們一起攜手前行。
?
永洪科技
致力于打造全球領先的數(shù)據(jù)技術(shù)廠商