張建彬 霍佳震
摘 要: 在大數(shù)據(jù)時(shí)代背景下,如何利用大量的銷售數(shù)據(jù)精準(zhǔn)預(yù)測(cè)顧客未來需求,成為企業(yè)制定客戶管理和庫存管理決策的一個(gè)重要問題。目前關(guān)于用戶購買行為預(yù)測(cè)的研究中很少能夠預(yù)測(cè)用戶具體的購買時(shí)間?;谝延械匿N售數(shù)據(jù),提出了基于機(jī)器學(xué)習(xí)和Stacking集成的綜合預(yù)測(cè)模型預(yù)測(cè)用戶的購買行為,即未來是否購買及其購買時(shí)間。將模型應(yīng)用在一家大型連鎖零售企業(yè)的需求預(yù)測(cè)中,并對(duì)方法的有效性進(jìn)行評(píng)估。結(jié)果表明,基于Stacking集成的融合模型對(duì)預(yù)測(cè)用戶未來是否購買具有最佳性能,準(zhǔn)確率達(dá)85%,AUC值達(dá)到0.928; LightGBM集成算法在預(yù)測(cè)用戶購買時(shí)間時(shí)具有最優(yōu)性能,相比于融合模型提升了5.5%的預(yù)測(cè)性能;融合模型+LightGBM算法的組合相比于均使用融合模型提升了9.4%的預(yù)測(cè)性能。
關(guān)鍵詞: 組合預(yù)測(cè);機(jī)器學(xué)習(xí);購買行為預(yù)測(cè);LightGBM算法;Stacking集成
Abstract: In the era of the big data, how to use a large amount of sales data to accurately predict customers' future demand is an important issue for companies to make customer management and inventory management decisions. Currently,few studies on the prediction of consumers purchase behavior can predict the specific purchase time. Based on the existing sales data, this paper proposes a comprehensive prediction model based on the integration of machine learning and Stacking to predict future purchase behavior of consumers. We applied the model to the demand forecast of a large retail chain and evaluated the effectiveness of the method. The results show that the fusion model based on Stacking has the best performance for predicting whether consumers will purchase in the future, and the accuracy rate is 85%, the AUC value is 0.928; the LightGBM integrated algorithm has the best performance in predicting the consumer purchase time, which improves the prediction performance by 5.5% compared with the fusion model; the combination of the fusion model + LightGBM algorithm improves the prediction performance by 9.4% compared with that applying the fusion models in predicting both whether to buy and when to buy.
Key words: combination forecast; machine learning; purchase behavior prediction; LightGBM algorithm; Stacking integration
在企業(yè)客戶管理中,要求企業(yè)對(duì)投資支出的成本和收益進(jìn)行評(píng)估,并在一段時(shí)間內(nèi)為營(yíng)銷和銷售活動(dòng)確定最優(yōu)的資源配置。因此,了解顧客在未來一段時(shí)間內(nèi)的購買行為是銷售和市場(chǎng)部門有效分配資源的關(guān)鍵驅(qū)動(dòng)力之一(Allenby, Leone & Jen, 1999)。同時(shí),這些信息在制定倉庫(或銷售點(diǎn))的庫存計(jì)劃,以及制造商制定生產(chǎn)計(jì)劃時(shí)也至關(guān)重要。
目前預(yù)測(cè)用戶購買行為的研究主要集中在預(yù)測(cè)用戶是否購買(Martínez,et al., 2018;Liu et al., 2019),很少研究用戶具體的購買時(shí)間。本文提出一種使用Stacking方法融合多種決策樹模型的組合預(yù)測(cè)模型來預(yù)測(cè)用戶未來是否購買和其具體的購買時(shí)間。該模型采用Stacking模型融合的思想將LightGBM、XGBoost、隨機(jī)森林三種不同的集成決策樹模型的預(yù)測(cè)結(jié)果進(jìn)行融合,然后基于融合的預(yù)測(cè)結(jié)果使用簡(jiǎn)單的邏輯回歸分類模型和線性回歸模型分別預(yù)測(cè)用戶未來是否購買和具體的購買時(shí)間。此外,在本研究中,我們使用真實(shí)的零售企業(yè)銷售數(shù)據(jù)對(duì)所提出方法的預(yù)測(cè)性能進(jìn)行了評(píng)估。
1 文獻(xiàn)綜述
用戶購買行為預(yù)測(cè)在很早的時(shí)候便引起學(xué)者們的關(guān)注(Herniter, 1973),但是由于過去歷史數(shù)據(jù)的缺乏導(dǎo)致這方面的研究長(zhǎng)期停滯不前。用戶購買行為預(yù)測(cè)中最具挑戰(zhàn)的問題是當(dāng)用戶的當(dāng)前狀態(tài)無法直接觀察,同時(shí)可用的歷史記錄非常少的情況下,對(duì)用戶購買行為的預(yù)測(cè)(Platzer et al. 2016)。在過去的幾年中,信息技術(shù)的飛躍發(fā)展使得用戶交易數(shù)據(jù)的可用性極大增加(Wu et al., 2013)。這些用戶交易數(shù)據(jù)的初始分析通常以匯總統(tǒng)計(jì)的形式進(jìn)行,例如平均訂單數(shù)量或訂單平均訂購量,以及與用戶行為有關(guān)的信息特征等。
在數(shù)據(jù)可用性極大增加的情況下,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)經(jīng)常被用于基于用戶的預(yù)測(cè)中,而用戶流失預(yù)測(cè)是該領(lǐng)域中的重要問題之一。近年來,用戶流失的概念和相關(guān)的預(yù)測(cè)分析已得到了很好的研究(Richter et al., 2010; Lin et al., 2011; Amin et al., 2017)。準(zhǔn)確地預(yù)測(cè)用戶購買行為能夠?yàn)槠髽I(yè)制定庫存和銷售計(jì)劃提供依據(jù),從而減少銷售損失和不必要的庫存成本。因此,近年來有不少研究關(guān)注于預(yù)測(cè)用戶的未來購買行為。Martínez等(2018)提出了一個(gè)動(dòng)態(tài)的、數(shù)據(jù)驅(qū)動(dòng)的框架,用于預(yù)測(cè)非合同環(huán)境下用戶是否打算在不久的將來在公司內(nèi)進(jìn)行購買。Liu等(2019) 根據(jù)給定的用戶購買歷史記錄,通過非參數(shù)貝葉斯模型預(yù)測(cè)用戶的下一次購買。
上述對(duì)未來用戶購買行為預(yù)測(cè)的研究中,僅關(guān)注于未來一段時(shí)間內(nèi)用戶是否會(huì)購買,而并沒有預(yù)測(cè)用戶具體的購買時(shí)間。因此,本文將在預(yù)測(cè)未來一段時(shí)間內(nèi)用戶是否會(huì)購買的基礎(chǔ)上,進(jìn)一步預(yù)測(cè)會(huì)購買用戶的具體購買時(shí)間。
可用于購買行為預(yù)測(cè)的方法有許多,具體包括時(shí)間序列分析、面板數(shù)據(jù)模型、基于機(jī)器學(xué)習(xí)的模型和隨機(jī)模型(例如BG/ NBD模型)。時(shí)間序列分析包括諸多不同的方法,例如指數(shù)平滑法(Hussain et al.,2012; Tratar et al.,2016)、移動(dòng)平均法(Lee and Fambro,1999)、自回歸集成移動(dòng)平均(ARIMA)模型(Ramos et al.,2015; Amini et al.,2016)等。對(duì)于這些方法的研究較為成熟,但是這些方法沒有納入足夠的因素,或者沒有考慮到個(gè)人的影響。面板數(shù)據(jù)(Ren et al.,2014)和隨機(jī)數(shù)據(jù)模型(Fader &Hardie,2002)比時(shí)間序列分析包含更多的因素,目前已成功應(yīng)用在各種與預(yù)測(cè)有關(guān)的業(yè)務(wù)場(chǎng)景中。另一方面,基于機(jī)器學(xué)習(xí)的模型則可以考慮更多的因素,可考慮更多的變量(Choi et al., 2014)。
隨著數(shù)據(jù)可獲得性的提高,越來越多研究基于機(jī)器學(xué)習(xí)的預(yù)測(cè)模型來預(yù)測(cè)用戶的未來購買行為。這些基于機(jī)器學(xué)習(xí)的預(yù)測(cè)方法主要包括邏輯回歸(Martínez et al., 2018)、支持向量機(jī)(Lu et al., 2014; Candelieri, 2017)、人工神經(jīng)網(wǎng)絡(luò)(Günay,2016; Chawla et al.,2019)、梯度提升決策樹(GBDT)(Martínez et al., 2018)等。Lu等(2014)基于特征變量選擇,采用支持向量機(jī)回歸的方法構(gòu)建了針對(duì)計(jì)算機(jī)產(chǎn)品的混合預(yù)測(cè)模型,結(jié)果表明對(duì)于計(jì)算機(jī)這類具有高度可替代性的產(chǎn)品,該預(yù)測(cè)模型具有良好的預(yù)測(cè)性能,能夠?yàn)殇N售管理提供更多有用的信息。另外,Martínez等(2018)提出了一個(gè)動(dòng)態(tài)的、數(shù)據(jù)驅(qū)動(dòng)的框架,比較了邏輯回歸、神經(jīng)網(wǎng)絡(luò)、梯度提升決策樹(GBDT)三種機(jī)器學(xué)習(xí)算法的預(yù)測(cè)性能,結(jié)果表明梯度提升決策樹具有最佳的預(yù)測(cè)性能。這些研究大多使用單一的預(yù)測(cè)模型,通過將多種不同的單一模型進(jìn)行比較,從而發(fā)現(xiàn)表現(xiàn)性能較好的一種或幾種預(yù)測(cè)方法。
采用單一的預(yù)測(cè)模型雖然研究方法相對(duì)成熟,但容易受到其他一些隨機(jī)因素的影響,導(dǎo)致預(yù)測(cè)準(zhǔn)確率不太高,且模型一般僅適用于特定環(huán)境,泛化能力不夠強(qiáng)。因此,為了有效減少或者抵消單個(gè)模型中的隨機(jī)因素的影響、提高預(yù)測(cè)模型的預(yù)測(cè)精度和可信度,一些學(xué)者使用不同的組合模型來解決預(yù)測(cè)問題(汪同三與張濤,2008)。倪冬梅等(2013)基于對(duì)需求影響因素分析建立了基于ARIMA 的時(shí)間序列和多元回歸相結(jié)合的綜合需求預(yù)測(cè)模型,并將該綜合預(yù)測(cè)模型與庫存決策相結(jié)合,構(gòu)建了需求預(yù)測(cè)與庫存決策集成模型。結(jié)果表明,綜合預(yù)測(cè)模型的預(yù)測(cè)精度高于單階段模型; 需求預(yù)測(cè)與庫存決策集成模型的成本遠(yuǎn)低于非集成模型。Fan等(2017)利用汽車行業(yè)歷史銷售數(shù)據(jù)和在線評(píng)論數(shù)據(jù),采用Bass模型和情感分析相結(jié)合的方法對(duì)汽車需求進(jìn)行預(yù)測(cè)。結(jié)果表明,相比于標(biāo)準(zhǔn)的Bass模型和其他銷售預(yù)測(cè)模型,組合模型具有更高的預(yù)測(cè)精度。
由以上研究可以發(fā)現(xiàn),在大多數(shù)情況下組合預(yù)測(cè)模型相比于單一的預(yù)測(cè)模型具有更好的預(yù)測(cè)性能。因此,本文在上述研究的基礎(chǔ)上,將前沿機(jī)器學(xué)習(xí)技術(shù)XGBoost算法、LightGBM算法、隨機(jī)森林算法與Stacking集成學(xué)習(xí)方式有效結(jié)合,提出一種基于多個(gè)差異化模型的組合預(yù)測(cè)模型來預(yù)測(cè)用戶未來的購買行為。
2 研究方法
本文提出了基于Stacking融合模型的用戶購買行為預(yù)測(cè)方法。圖1描述了整個(gè)方法的總體框架。
首先,采用所有用戶的原始數(shù)據(jù)集來分別預(yù)測(cè)用戶是否購買和用戶的購買時(shí)間。使用完整的數(shù)據(jù)進(jìn)行兩個(gè)方面內(nèi)容的預(yù)測(cè)能夠保證數(shù)據(jù)的一致性,同時(shí)使得模型能夠最大可能地利用數(shù)據(jù),從而提升模型整體的預(yù)測(cè)性能。
其中,用戶是否購買預(yù)測(cè)的目標(biāo)為使用分類模型預(yù)測(cè)下一段時(shí)間內(nèi)用戶是否購買目標(biāo)商品,即得到會(huì)購買目標(biāo)商品的用戶用戶集。具體如下:首先收集所需的數(shù)據(jù),同時(shí)進(jìn)行分析和處理,得到噪聲較少以及更加結(jié)構(gòu)化的數(shù)據(jù)集。其次,根據(jù)用戶購買行為分析進(jìn)行特征選擇和特征構(gòu)建,得到較高維度的特征數(shù)據(jù)集。然后,將特征數(shù)據(jù)集輸入Stacking分類融合模型中進(jìn)行有效的訓(xùn)練。最后,即訓(xùn)練得到的分類融合模型進(jìn)行樣本外預(yù)測(cè),得到預(yù)測(cè)結(jié)果1,即預(yù)測(cè)得到未來一段時(shí)間內(nèi)將會(huì)購買目標(biāo)商品的用戶集。
用戶購買時(shí)間預(yù)測(cè)的目標(biāo)為使用回歸模型預(yù)測(cè)下一段時(shí)間內(nèi)每個(gè)用戶具體的購買時(shí)間。這一步驟與用戶是否購買預(yù)測(cè)的步驟類似,即先進(jìn)行數(shù)據(jù)收集和處理,接著進(jìn)行特征選擇和特征構(gòu)建,然后使用Stacking回歸融合模型進(jìn)行訓(xùn)練,最后對(duì)訓(xùn)練得到的回歸融合模型進(jìn)行樣本外預(yù)測(cè),得到預(yù)測(cè)結(jié)果2,即預(yù)測(cè)得到未來一段時(shí)間內(nèi)所有用戶的購買時(shí)間。
本文的最終目標(biāo)是預(yù)測(cè)得到下一段時(shí)間內(nèi)會(huì)購買目標(biāo)商品用戶的具體購買時(shí)間。因此,將預(yù)測(cè)結(jié)果1和預(yù)測(cè)結(jié)果2進(jìn)行整合,得到最終的預(yù)測(cè)結(jié)果,即預(yù)測(cè)得到未來一段時(shí)間內(nèi)將會(huì)購買目標(biāo)商品的用戶及其具體的購買時(shí)間。
2.1 數(shù)據(jù)收集和處理
在本研究中,我們主要收集了某個(gè)零售商的歷史銷售數(shù)據(jù)。我們?yōu)槊織l數(shù)據(jù)提取了以下屬性:會(huì)員編碼、訂單編碼、購買時(shí)間、購買數(shù)量、購買價(jià)格、花費(fèi)、產(chǎn)品容量和產(chǎn)品品類。這些屬性如表1所示。
收集到的歷史銷售數(shù)據(jù)包括會(huì)員和非會(huì)員的購買記錄,會(huì)員具有唯一標(biāo)識(shí)Vipcode,非會(huì)員Vipcode屬性值為空值,因此我們刪除了Vipcode屬性值為空值的所有記錄。同時(shí),Number屬性值一般來說為正整數(shù),但在收集到的銷售數(shù)據(jù)中存在Number屬性值等于0或小于0的現(xiàn)象。經(jīng)過分析得知小于0的為退貨數(shù)據(jù),等于0的為進(jìn)行促銷時(shí)的贈(zèng)品數(shù)據(jù)。因此,為避免這些噪聲數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響,我們將Number屬性值小于0的數(shù)據(jù)與顧客對(duì)應(yīng)的購買數(shù)據(jù)進(jìn)行抵消,同時(shí)刪去所有Number屬性值為0的數(shù)據(jù),從而保證所有Number屬性值大于0。最后,我們進(jìn)行了空值和重復(fù)值的處理工作。
2.2 特征工程
在研究中,為了有效地?cái)U(kuò)大樣本數(shù)據(jù)量,使預(yù)測(cè)模型的訓(xùn)練盡可能覆蓋所有歷史數(shù)據(jù),我們使用了時(shí)間滑窗方法進(jìn)行特征提取。時(shí)間滑窗如圖2所示。
如圖2所示,每組數(shù)據(jù)長(zhǎng)度為5個(gè)月,其中最后一個(gè)月為標(biāo)簽月,前四個(gè)月用于提取特征,每次滑動(dòng)長(zhǎng)度為一個(gè)月。特征時(shí)間窗又分為五個(gè)特征提取窗口,分別為距離標(biāo)簽月首日7天、14天、1個(gè)月、2個(gè)月、4個(gè)月。然后,分別統(tǒng)計(jì)分析這五個(gè)窗口內(nèi)的特征。
在用戶購買行為預(yù)測(cè)的研究中,影響預(yù)測(cè)準(zhǔn)確性的主要因素包括用戶因素(徐琪等,2014;馬云高等,2012)和產(chǎn)品因素(Arunraj et al.,2015)。在對(duì)銷售數(shù)據(jù)進(jìn)行充分分析之后,我們基于用戶購買行為習(xí)慣和產(chǎn)品屬性等因素從小的特征提取窗口中提取出了用戶特征和商品特征,如表2所示。
除此之外,考慮到數(shù)據(jù)的全局性以及產(chǎn)品的消耗率相對(duì)固定等特點(diǎn),我們還在最大的時(shí)間窗口內(nèi)提取出了以下用戶特征,如表3所示。
2.3 應(yīng)用模型
本文采用多種機(jī)器學(xué)習(xí)分類和回歸算法,包括LightGBM算法(Ke, Meng & Finley, 2017)、XGBoost算法(Chen & Guestrin, 2016)、隨機(jī)森林算法(Liaw & Wiener, 2002)、邏輯回歸算法、Lasso回歸算法,其中前三種算法是集成模型,后兩種為簡(jiǎn)單模型。前三種算法用于與融合模型比較預(yù)測(cè)性能,同時(shí)也是融合模型的基學(xué)習(xí)器,而后兩種算法僅作為融合模型的元學(xué)習(xí)器。
2.3.1 LightGBM算法
LightGBM(Light Gradient Boosting Machine)是一款基于決策樹算法的分布式梯度提升框架。它的優(yōu)點(diǎn)在于減少了數(shù)據(jù)對(duì)內(nèi)存的使用,保證單個(gè)機(jī)器在不犧牲速度的情況下,盡可能地使用更多的數(shù)據(jù);同時(shí)減少通信的代價(jià),提升多機(jī)并行時(shí)的效率,實(shí)現(xiàn)在計(jì)算上的線性加速。
2.3.2 XGBoost算法
XGBoost(eXtreme Gradient Boosting)與LightGBM都是基于決策樹的算法。它的優(yōu)點(diǎn)在于使用許多策略去防止過度擬合,同時(shí)支持并行化,添加了對(duì)稀疏數(shù)據(jù)的處理,訓(xùn)練速度快,訓(xùn)練結(jié)果精度高。
2.3.3 隨機(jī)森林算法
隨機(jī)森林(Random Forest)是指利用多棵決策樹對(duì)樣本進(jìn)行訓(xùn)練并預(yù)測(cè)的一種算法。隨機(jī)森林算法是一個(gè)包含多個(gè)決策樹的算法,其輸出的類別是由個(gè)別決策樹輸出類別的眾樹來決定的。
它的優(yōu)點(diǎn)在于對(duì)于大部分的數(shù)據(jù),它的分類效果比較好;它能處理高維特征,不容易產(chǎn)生過度擬合,模型訓(xùn)練速度比較快,特別是對(duì)于大數(shù)據(jù)而言;在決定類別時(shí),它可以評(píng)估變數(shù)的重要性;它對(duì)數(shù)據(jù)集的適應(yīng)能力強(qiáng),既能處理離散型數(shù)據(jù),也能處理連續(xù)型數(shù)據(jù),數(shù)據(jù)集無需特意規(guī)范化。
2.3.4 邏輯回歸算法
邏輯回歸(Logistic regression)是一種與線性回歸非常類似的算法。從本質(zhì)上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數(shù)值問題,而邏輯回歸屬于分類算法。也就是說,邏輯回歸預(yù)測(cè)結(jié)果是離散的分類,例如判斷一封郵件是否是垃圾郵件等,所以邏輯回歸是一種經(jīng)典的二分類算法。邏輯回歸是在線性回歸的計(jì)算結(jié)果加上了一個(gè)Sigmoid函數(shù),將數(shù)值結(jié)果轉(zhuǎn)化為0~1的概率,然后根據(jù)這個(gè)概率做預(yù)測(cè),例如概率大于0.5,則這封郵件就是垃圾郵件。
2.3.5 Lasso回歸算法
Lasso回歸和嶺回歸(Ridge regression)都是廣義線性回歸模型的一種。Lasso回歸與嶺回歸都屬于后驗(yàn)概率模型。
2.4 Stacking模型融合
Stacking模型融合方法(Ting & Witten,1997)首先將原始特征數(shù)據(jù)集劃分成若干子數(shù)據(jù)集,輸入第1層預(yù)測(cè)模型的各個(gè)基學(xué)習(xí)器中,每個(gè)基學(xué)習(xí)器輸出各自的預(yù)測(cè)結(jié)果。然后,第1層的輸出再作為第2層的輸入,對(duì)第2層預(yù)測(cè)模型的元學(xué)習(xí)器進(jìn)行訓(xùn)練,再由位于第2層的模型輸出最終預(yù)測(cè)結(jié)果。Stacking模型融合方法可以通過對(duì)多個(gè)模型的輸出結(jié)果進(jìn)行泛化,提升整體預(yù)測(cè)精度。
在本研究中,我們使用LightGBM、XGBoost、隨機(jī)森林三種不同的集成模型算法作為基學(xué)習(xí)器得到三組預(yù)測(cè)結(jié)果,然后將三組預(yù)測(cè)結(jié)果應(yīng)用在第二層使用元學(xué)習(xí)器,包括邏輯回歸或Lasso回歸進(jìn)行訓(xùn)練,從而得到最終的預(yù)測(cè)結(jié)果,如圖3和圖4所示。其中,用戶是否購買和用戶購買時(shí)間預(yù)測(cè)所用的Stacking模型融合方法步驟大致相同,不同的是用戶是否購買的基學(xué)習(xí)器使用的是三種集成算法中的分類算法,元學(xué)習(xí)器使用的是邏輯回歸分類算法,而用戶購買時(shí)間預(yù)測(cè)的基學(xué)習(xí)器使用的是三種集成算法中的回歸算法,元學(xué)習(xí)器使用的是Lasso回歸算法。
3 實(shí)證分析
3.1 數(shù)據(jù)
本文以一家連鎖零售企業(yè)洗衣用品的POS機(jī)銷售數(shù)據(jù)作為實(shí)證樣本,其中以品類105(洗衣皂)為目標(biāo)商品進(jìn)行用戶未來是否購買和具體購買時(shí)間的預(yù)測(cè)。
本文的數(shù)據(jù)集包括從2011年4月1日到10月31日的7個(gè)月內(nèi)8種洗衣用品每天的銷售數(shù)量、價(jià)格、花費(fèi)及產(chǎn)品容量等??紤]到數(shù)據(jù)集數(shù)據(jù)量比較小,為了有效擴(kuò)大樣本數(shù)據(jù)量,使預(yù)測(cè)模型的訓(xùn)練盡可能覆蓋所有歷史數(shù)據(jù),我們使用了時(shí)間滑窗方法進(jìn)行特征提取。進(jìn)行原始數(shù)據(jù)處理后,我們?cè)O(shè)置最大時(shí)間窗口為120天,特征提取窗口分別為7天、14天、30天、60天和120天。由于用戶每次商品的購買時(shí)間間隔集中在15~30天,因此設(shè)置每隔15天滑動(dòng)窗口一次,具體如圖5所示。確定時(shí)間窗口后,我們提取出了包括159個(gè)維度的特征向量。
圖5中,時(shí)間窗左側(cè)的25701等數(shù)字表示當(dāng)前數(shù)據(jù)組滿足4個(gè)月內(nèi)購買過產(chǎn)品的會(huì)員用戶數(shù),目的是保證用戶在前4個(gè)月的特征提取窗口內(nèi)有過購買行為,即能提取出有效的用戶特征。其中,前四組作為訓(xùn)練集,第五組(十月份組)作為測(cè)試集用于檢驗(yàn)?zāi)P托阅堋?/p>
3.2 模型性能評(píng)估
本文進(jìn)行了用戶未來是否購買和購買時(shí)間預(yù)測(cè)問題的研究,本節(jié)分別使用機(jī)器學(xué)習(xí)中常用的分類問題和回歸問題評(píng)估指標(biāo)來評(píng)估預(yù)測(cè)模型的性能。為了使模型具有一定的可解釋性,我們還分析了預(yù)測(cè)性能較優(yōu)的若干個(gè)模型的特征重要性結(jié)果。
3.2.1 購買行為預(yù)測(cè)模型性能評(píng)估
預(yù)測(cè)用戶未來是否購買是一個(gè)典型的二分類問題,因此我們使用二分類問題中常用的評(píng)估指標(biāo),包括準(zhǔn)確率、精確率、召回率、Auc值以及Roc曲線來評(píng)估模型性能。同時(shí),我們將Stacking融合模型和單個(gè)的基學(xué)習(xí)器和元學(xué)習(xí)器模型結(jié)果進(jìn)行了比較,在測(cè)試集上的評(píng)估結(jié)果如表4所示。
如表4所示,邏輯回歸算法的表現(xiàn)最差,原因是邏輯回歸這樣的線性分類模型不適用于本研究中的非線性問題,它無法處理復(fù)雜的非線性分類問題。在三個(gè)單一的集成模型中,隨機(jī)森林結(jié)果表現(xiàn)最差,所有評(píng)估指標(biāo)結(jié)果均低于其他兩個(gè)模型。而LightGBM的評(píng)估指標(biāo)中次優(yōu)結(jié)果有三個(gè),說明其具有較好的預(yù)測(cè)性能。比較除邏輯回歸外的其他四個(gè)模型的結(jié)果,可以發(fā)現(xiàn)融合模型的準(zhǔn)確率和精確率以及Auc值都達(dá)到最優(yōu),這說明使用Stacking模型融合的方法對(duì)于預(yù)測(cè)用戶購買行為具有很好的預(yù)測(cè)性能。
融合模型的Roc曲線如圖6所示,曲線非??拷鼀軸以及y=1,同時(shí)曲線下方面積即auc值達(dá)到0.928以上。這也說明融合模型對(duì)于用戶購買行為具有很好的預(yù)測(cè)性能。
3.2.2 購買時(shí)間預(yù)測(cè)模型性能評(píng)估
預(yù)測(cè)用戶的購買時(shí)間是一個(gè)回歸問題,我們使用回歸問題常用的三個(gè)指標(biāo)均方誤差(MSE)、平均絕對(duì)誤差(MAE)以及解釋方差(explained_variance_score,EVS)來評(píng)估模型性能。同時(shí),我們將Stacking融合模型和單個(gè)的基學(xué)習(xí)器和元學(xué)習(xí)器模型結(jié)果進(jìn)行了比較,在測(cè)試集上的評(píng)估結(jié)果如表5所示。
如表5所示,線性回歸模型Lasso回歸表現(xiàn)最差,同樣說明Lasso回歸這樣的線性回歸模型不適用于本研究中的非線性問題,它無法有效處理復(fù)雜的非線性回歸問題。在其他四個(gè)非線性模型中,LightGBM的預(yù)測(cè)性能最優(yōu),其中MSE和EVS值為最優(yōu),MAE值次優(yōu)。融合模型的三個(gè)評(píng)估指標(biāo)結(jié)果有兩個(gè)為次優(yōu)且與最優(yōu)結(jié)果差距不大。這說明在解決購買時(shí)間的預(yù)測(cè)問題上,LightGBM模型是最優(yōu)的,其次是融合模型。
3.2.3 特征重要性分析
特征重要性分析可以用來評(píng)估構(gòu)建的特征的預(yù)測(cè)能力或?qū)︻A(yù)測(cè)模型的重要性。通過特征重要性分析,可以很直接地觀測(cè)到所構(gòu)建的特征的預(yù)測(cè)能力,從而在一定程度上解釋模型或進(jìn)一步調(diào)整模型結(jié)構(gòu)。在這里我們主要考慮那些表現(xiàn)較好的模型的特征重要性,即用戶是否購買考慮融合模型,用戶購買時(shí)間預(yù)測(cè)考慮LightGBM模型。
用戶是否購買融合模型特征重要性前20名如圖7所示。
用戶購買時(shí)間預(yù)測(cè) LightGBM模型重要性前20位的特征如圖8所示。
圖7和圖8中120day_105_Gap_max為特征名稱,120day表示特征提取窗口為120天;105表示目標(biāo)商品,若無105則表示全部洗衣商品;Gap表示購買時(shí)間間隔;max為統(tǒng)計(jì)方式為最大值,包括max(最大值)、min(最小值)、mean(平均值)、median(中位數(shù))、std(標(biāo)準(zhǔn)差)。因此,120day_105_Gap_max表示目標(biāo)商品(105)在120天內(nèi)的最大購買時(shí)間間隔。
如圖7所示,用戶是否購買排名前20的特征中,購買時(shí)間間隔四個(gè)特征有三個(gè)排在前三位,另一個(gè)標(biāo)準(zhǔn)差特征也在前20中,同時(shí)前10中有7個(gè)特征與目標(biāo)商品消耗率或購買時(shí)間間隔有關(guān),這說明用戶購買目標(biāo)商品具有一定的周期性。另外,前20特征中還出現(xiàn)了60天內(nèi)的平均價(jià)格和最小價(jià)格特征,這說明商品的近期價(jià)格在一定程度上也會(huì)影響用戶的購買行為。此外,與目標(biāo)商品相關(guān)的其他商品的一些特征也會(huì)影響購買行為,如所有商品總花費(fèi)、所有商品的首次購買時(shí)間和最后一次購買時(shí)間等特征均在前20內(nèi)。
如圖8所示,用戶購買時(shí)間預(yù)測(cè) LightGBM模型特征重要性與圖7類似。前20中包括了購買時(shí)間間隔相關(guān)特征、價(jià)格相關(guān)特征、總花費(fèi)相關(guān)特征等,這說明用戶購買具有一定的規(guī)律性,同時(shí)也會(huì)考慮用戶自身的支付能力以及商品的價(jià)格。
3.2.4 綜合預(yù)測(cè)性能評(píng)估
我們構(gòu)造了如式(1)所示的綜合評(píng)估函數(shù),用來評(píng)估各種模型組合的綜合預(yù)測(cè)性能。
其中,Kr為實(shí)際購買目標(biāo)商品的用戶集,Kp為預(yù)測(cè)的購買目標(biāo)商品的用戶集,dk表示實(shí)際購買時(shí)間與預(yù)測(cè)購買時(shí)間之間的距離。
如前所述,LightGBM模型和融合模型都具有較好的預(yù)測(cè)性能,因此我們使用這兩個(gè)模型的四種組合來評(píng)估綜合預(yù)測(cè)性能,結(jié)果如表6所示。
如表6所示,用戶是否購買預(yù)測(cè)使用融合模型,用戶購買時(shí)間預(yù)測(cè)使用LightGBM模型的綜合預(yù)測(cè)性能最優(yōu)。此模型組合方式相比于兩個(gè)預(yù)測(cè)問題均使用融合模型提升了9.4%的預(yù)測(cè)性能。
4 結(jié)語
預(yù)測(cè)用戶未來購買行為和購買時(shí)間可以為企業(yè)的庫存決策和用戶營(yíng)銷管理提供支持。盡管已有的研究已經(jīng)從不同角度進(jìn)行了研究,但大多研究?jī)H關(guān)注于未來一段時(shí)間用戶是否會(huì)購買,而對(duì)于用戶具體購買時(shí)間的研究較少。本文提出一種使用Stacking方法融合多種決策樹模型的組合預(yù)測(cè)模型來預(yù)測(cè)用戶的購買行為及其具體的購買時(shí)間。為此,我們將LightGBM、XGBoost、隨機(jī)森林三種不同的集成決策樹模型的預(yù)測(cè)結(jié)果進(jìn)行融合,然后基于融合的預(yù)測(cè)結(jié)果使用簡(jiǎn)單的邏輯回歸分類模型和線性回歸模型分別預(yù)測(cè)用戶的購買行為和具體的購買時(shí)間。最后,我們使用了真實(shí)的零售企業(yè)銷售數(shù)據(jù)來驗(yàn)證評(píng)估本文的模型。結(jié)果表明,融合模型在預(yù)測(cè)用戶是否購買時(shí)具有最高的準(zhǔn)確率和AUC值,準(zhǔn)確率達(dá)85%、AUC值達(dá)到0.928。另外,在預(yù)測(cè)用戶具體的購買時(shí)間時(shí),我們還發(fā)現(xiàn)LightGBM算法相比于融合模型具有最優(yōu)預(yù)測(cè)性能。同時(shí),如果在不同問題階段使用融合模型和LightGBM算法,則融合模型+LightGBM算法的組合相比于兩個(gè)預(yù)測(cè)問題均使用融合模型提升了9.4%的預(yù)測(cè)性能。
一條完整的用戶購買記錄包括購買時(shí)間、購買數(shù)量、購買花費(fèi)等屬性值,因此未來可能的研究方向是對(duì)未來購買的實(shí)際數(shù)量或價(jià)值的預(yù)測(cè)。基于相同的特征處理方式訓(xùn)練預(yù)測(cè)模型,構(gòu)建預(yù)測(cè)模型對(duì)用戶的購買數(shù)量和購買價(jià)值進(jìn)行預(yù)測(cè)是未來一個(gè)重要的研究課題,可以為企業(yè)的運(yùn)營(yíng)和戰(zhàn)略決策提供更有利的支持。
參考文獻(xiàn):
[1] ALLENBY G M, LEONE R P, JEN L. A dynamic model of purchase timing with application to direct marketing[J]. Journal of the American Statistical Association, 1999, 94(446): 365-374.
[2] MARTNEZ A, SCHMUCK C, PEREVERZYEV JR S, et al. A machine learning framework for customer purchase prediction in the non-contractual setting[J]. European Journal of Operational Research, 2018.
[3] LIU Y, ZHU T, JIANG Y. Purchase Prediction Based on a Non-parametric Bayesian Method[C] //Proceedings of the 52nd Hawaii International Conference on System Sciences. 2019.
[4] HERNITER J D. An entropy model of brand purchase behavior[J]. Journal of Marketing Research, 1973, 10(4): 361-375.
[5] PLATZER M, REUTTERER T. Ticking away the moments: timing regularity helps to better predict customer activity[J]. Marketing Science, 2016, 35(5): 779-799.
[6] WU X, ZHU X, WU G Q, et al. Data mining with big data[J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 26(1): 97-107.
[7] RICHTER Y, YOM-TOV E, SLONIM N. Predicting customer churn in mobile networks through analysis of social groups[C]//Proceedings of the 2010 SIAM international conference on data mining. Society for Industrial and Applied Mathematics, 2010: 732-741.
[8] LIN C S, TZENG G H, CHIN Y C. Combined rough set theory and flow network graph to predict customer churn in credit card accounts[J]. Expert Systems with Applications, 2011, 38(1): 8-15.
[9] AMIN A, ANWAR S, ADNAN A, et al. Customer churn prediction in the tele communication sector using a rough set approach[J]. Neurocomputing, 2017(237): 242-254.
[10] HUSSAIN M, SHOME A, LEE D M. Impact of forecasting methods on variance ratio in order-up-to level policy[J]. The International Journal of Advanced Manufacturing Technology, 2012, 59(1/2/3/4): 413-420.
[11] TRATAR L F, MOJKERC B, TOMAN A. Demand forecasting with four-parameter exponential smoothing[J]. International Journal of Production Economics, 2016(181): 162-173.
[12] LEE S, FAMBRO D B. Application of subset autoregressive integrated moving average model for short-term freeway traffic volume forecasting[J]. Transportation Research Record, 1999, 1678(1): 179-188.
[13] RAMOS P, SANTOS N, REBELO R. Performance of state space and ARIMA models for consumer retail sales forecasting[J]. Robotics and Computer-integrated Manufacturing, 2015(34): 151-163.
[14] AMINI M H, KARGARIAN A, KARABASOGLU O. ARIMA-based decoupled time series forecasting of electric vehicle charging demand for stochastic power system operation[J]. Electric Power Systems Research, 2016(140): 378-390.
[15] REN S, CHOI T M, LIU N. Fashion sales forecasting with a panel data-based particle-filter model[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2014, 45(3): 411-421.
[16] FADER P S, HARDIE B G S. A note on an integrated model of customer buying behavior[J]. European Journal of Operational Research, 2002, 139(3): 682-687.
[17] CHOI T M, HUI C L, LIU N, et al. Fast fashion sales forecasting with limited data and time[J]. Decision Support Systems, 2014(59): 84-92.
[18] LU C J. Sales forecasting of computer products based on variable selection scheme and support vector regression[J]. Neurocomputing, 2014(128): 491-499.
[19] CANDELIERI A. Clustering and support vector regression for water demand forecasting and anomaly detection[J]. Water, 2017, 9(3): 224.
[20] GNAY M E. Forecasting annual gross electricity demand by artificial neural networks using predicted values of socio-economic indicators and climatic conditions: case of Turkey[J]. Energy Policy, 2016(90): 92-101.
[21] CHAWLA A, SINGH A, LAMBA A, et al. Demand forecasting using artificial neural networks: a case study of american retail corporation[M]//Applications of Artificial Intelligence Techniques in Engineering. Berlin: Springer, 2019: 79-89.
[22] 汪同三,張濤.組合預(yù)測(cè):理論、方法及應(yīng)用[M].北京:社會(huì)科學(xué)文獻(xiàn)出版社,2008.
[23] 倪冬梅, 趙秋紅, 李海濱. 需求預(yù)測(cè)綜合模型及其與庫存決策的集成研究[J]. 管理科學(xué)學(xué)報(bào), 2013, 16(9): 44-52.