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