胡曉麗 張會兵 董俊超 吳冬強(qiáng)
摘? 要: 對電子商務(wù)平臺新用戶重復(fù)購買行為進(jìn)行預(yù)測有助于商戶開展精準(zhǔn)營銷?,F(xiàn)有單一方法在預(yù)測準(zhǔn)確性方面還有待提升,文中提出一種基于集成學(xué)習(xí)的預(yù)測模型以進(jìn)一步提升新用戶重復(fù)購買行為的預(yù)測準(zhǔn)確率。引入“分段下采樣”以獲得新用戶重復(fù)購買和未重復(fù)購買的平衡樣本;從用戶、商戶及用戶與商戶交互三方面構(gòu)建新用戶購買行為特征;依據(jù)集成學(xué)習(xí)思想Stacking融合RandomForest,XGBoost和LightGBM對新用戶重復(fù)購買行為進(jìn)行預(yù)測。實驗結(jié)果表明,Stacking融合模型準(zhǔn)確率和AUC值比單一模型平均提升了0.4%~2%,使用“分段下采樣”樣本平衡算法AUC值提升0.1%左右。
關(guān)鍵詞: 重復(fù)購買行為預(yù)測; 集成學(xué)習(xí); 分段下采樣; 平衡樣本獲取; 購買行為特征構(gòu)建; Stacking融合模型
中圖分類號: TN99?34; TP391? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)11?0115?05
Prediction of ensemble learning?based new users′ repurchase
behavior on e?commerce platform
HU Xiaoli1, ZHANG Huibing2, DONG Junchao2, WU Dongqiang3
(1. Department of Teaching Practice, Guilin University of Electronic Technology, Guilin 541004, China;
2. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin 541004, China;
3. Nanning Goblin Technology Co., Ltd., Nanning 530000, China)
Abstract: The prediction of new users′ repurchase behavior on E?commerce platform is helpful for merchants to perform precision marketing. The existing single method still needs to be improved in terms of prediction accuracy. A prediction model based on ensemble learning is proposed to further improve the prediction accuracy of repurchase behavior of new users. "Segmented sub?sampling" is introduced to obtain balanced samples of repurchase and non?repeated purchase of new users. The purchase behavior features of new users are constructed from three aspects, named users, merchants and interaction between users and merchants. Repeat purchase behavior of new users is predicted on the basis of the ensemble learning method Stacking integrated with RandomForest, XGBoost and LightGBM. The experimental results show that both the accuracy of Stacking fusion model and AUC (Area Under Curve) value increased by 0.4%~2% on average in comparison with that of the single model, and the AUC value is increased by about 0.1% when the "segmented sub?sampling" sample balancing algorithm is used.
Keywords: repurchase behavior prediction; ensemble learning; segmented sub?sampling; balanced sample acquisition; purchase behavior feature construction; Stacking fusion model
0? 引? 言
為了吸引更多新用戶的關(guān)注和購買,電商平臺會在“雙十一”“618”等特定日期進(jìn)行促銷。然而,在促銷期間獲得的新用戶多為一次性購買用戶,不能為商戶產(chǎn)生長期回報。因此,預(yù)測新用戶重復(fù)購買行為是電子商務(wù)平臺開展精準(zhǔn)營銷、獲得長期客源的關(guān)鍵問題。利用新用戶的瀏覽、收藏、放入購物車等海量行為數(shù)據(jù)來挖掘其購物習(xí)慣、偏好和意愿,是實現(xiàn)重復(fù)購買行為預(yù)測的有效途徑。
文獻(xiàn)[1]綜合特征工程和模型訓(xùn)練,構(gòu)建涵蓋用戶、商家、品牌、類別、商品及其交互等方面的新用戶重復(fù)購買行為影響特征。分別使用Logistic回歸、隨機(jī)森林、XGBoost等五種模型進(jìn)行訓(xùn)練預(yù)測,實驗結(jié)果顯示XGBoost表現(xiàn)最好。文獻(xiàn)[2]針對預(yù)測新消費者的重復(fù)購買意向的問題,提出融合SMOTE算法和隨機(jī)森林算法的預(yù)測模型,與均衡K近鄰算法和決策樹算法相比,該模型有更好的性能。文獻(xiàn)[3]利用新用戶的歷史行為數(shù)據(jù),提出了一種基于GBDT的兩層模型融合算法(TMFBG)來預(yù)測重復(fù)購買用戶,提高了預(yù)測精度和模型魯棒性。文獻(xiàn)[4]首先使用人工蜂群算法對新用戶重復(fù)購買行為特征進(jìn)行選擇,然后依此構(gòu)建新用戶重復(fù)購買行為預(yù)測模型,實驗結(jié)果表明,特征選擇對模型預(yù)測結(jié)果的提升有一定作用。
上述研究大多采用單一模型進(jìn)行預(yù)測,集成學(xué)習(xí)技術(shù)的發(fā)展使得可以通過個體模型和組合策略的優(yōu)化選擇以進(jìn)一步提升預(yù)測效果。同時,在促銷活動中新吸引用戶發(fā)生重復(fù)購買行為的僅占6%左右,不平衡的樣本數(shù)據(jù)會影響預(yù)測效果。為此,本文使用“分段下采樣”對原始樣本進(jìn)行平衡處理,然后,采用融合RandomForest,XGBoost和LightGBM的模型預(yù)測新用戶重復(fù)購買行為[5]。
1? 新用戶重復(fù)購買預(yù)測模型
1.1? 模型框架
圖1是融合用戶屬性、商戶信息和用戶與商戶交互信息的預(yù)測新用戶重復(fù)購買行為的集成學(xué)習(xí)模型。首先,完成用戶歷史行為數(shù)據(jù)清洗,并采用“分段下采樣”方法進(jìn)行樣本平衡處理;然后,從用戶屬性、商戶屬性及用戶?商戶交互屬性三個維度分別構(gòu)建出用戶特征、商戶特征、用戶?商戶特征;輸入構(gòu)建好的特征到RandomForest,XGBoost和LightGBM個體模型中進(jìn)行新用戶購買行為預(yù)測訓(xùn)練;最后,通過Stacking方法對個體模型進(jìn)行融合并將預(yù)測結(jié)果分類輸出[6]。
1.2? 新用戶歷史交互樣本平衡與特征構(gòu)建
1.2.1? 新用戶歷史交互樣本平衡
在促銷結(jié)束后,只有極少部分新用戶會重復(fù)購買,出現(xiàn)重復(fù)購買正樣本與未重復(fù)購買負(fù)樣本極度不平衡的問題。傳統(tǒng)的“過采樣”和“下采樣”方法不能很好地解決該問題[7]。為此,設(shè)計了“分段下采樣”方法:根據(jù)新用戶購買行為時間敏感的特點,將重復(fù)購買用戶和未重復(fù)購買用戶原始樣本以天為單位進(jìn)行分段。針對新用戶樣本中的每個新用戶根據(jù)歐氏距離找出其三個最近鄰新用戶,若該新用戶是未重復(fù)購買用戶,且其三個最近鄰新用戶中有兩個以上是重復(fù)購買用戶,則刪除它;否則,當(dāng)該樣本是重復(fù)購買用戶并且其三個最近鄰中有兩個以上是未重復(fù)購買用戶,則去除最近鄰中未重復(fù)購買的用戶,其余保留原始新用戶樣本即可。
“分段下采樣”樣本平衡算法步驟如下:
輸入:新用戶原始?xì)v史數(shù)據(jù)([D]),數(shù)據(jù)記錄天數(shù)([T]);
輸出:新用戶平衡歷史數(shù)據(jù)([D*]);
算法流程:
1: D′ =D/T? ? //對原始數(shù)據(jù)按照數(shù)據(jù)記錄天數(shù)進(jìn)行分段
2: for? D(u)∈D′? do? ? //遍歷原始數(shù)據(jù)中的每個用戶
3: D′(u) =RandomChoose(D(u))? //隨機(jī)選擇任意用戶數(shù)據(jù)
4: if? D′(u)為重復(fù)購買用戶 then
5: if? repeat?buy = sum(KNN (D′(u)))≥2? then
// [D′(u)]最近鄰中未重復(fù)購買用戶個數(shù)
6:? ? ? ?delete (KNN (D′(u))≠repeat?buy)
//刪除最近鄰中的未購買用戶
7:? ? else
8:? ? ? save(D′(u))? ? //保留新用戶數(shù)據(jù)
9: else
10:? if? norepeat?buy = sum(KNN (D′(u)))≥2? then
11: delete (D′(u))? ? //刪除新用戶
12:? ? ?else
13:? ? ? ?save(D′(u))? ? //保留新用戶數(shù)據(jù)
1.2.2? 新用戶歷史交互特征構(gòu)建
原始的新用戶歷史交互數(shù)據(jù)比較分散,可以直接使用的特征非常少,用于預(yù)測重復(fù)購買行為的效果不夠理想。為此,運用統(tǒng)計分析方法構(gòu)建出如表1所示的新用戶重復(fù)購買行為預(yù)測特征。然后,將這些特征分別輸入到RandomForest,XGBoost和LightGBM個體模型中進(jìn)行特征選擇和訓(xùn)練。
1.3? Stacking預(yù)測模型
基于表1特征,為了提高精確度和泛化能力,采用Stacking方法將RandomForest,XGBoost和LightGBM結(jié)合起來構(gòu)建如圖2所示的集成預(yù)測模型。第一層由3個個體模型組成,使用類似于5折交叉驗證的策略來訓(xùn)練。然后,將個體模型預(yù)測結(jié)果輸入第二層次級模型Logistic回歸,用于訓(xùn)練新用戶重復(fù)購買行為最終預(yù)測模型[8]。最后,組合輸入個體模型測試樣本的輸出結(jié)果到訓(xùn)練完成的次級模型Logistic回歸中,對新用戶購買行為進(jìn)行最終預(yù)測[9]。
1.3.1? 個體預(yù)測模型
Stacking集成預(yù)測模型個體模型構(gòu)建過程如下:
1) 選擇RandomForest,XGBoost和LightGBM個體模型;
2) 按照8[∶]2比例劃分新用戶歷史行為數(shù)據(jù)為訓(xùn)練集和測試集,并把訓(xùn)練集分為train1~train5不交叉的五份選擇;
3) RandomForest個體模型使用train1~train4訓(xùn)練預(yù)測模型,train5預(yù)測新用戶重復(fù)購買行為并保留結(jié)果;
4) 重復(fù)上述過程,直到把train1~train5都預(yù)測一遍,保存預(yù)測結(jié)果為[B1train=(b1,b2,b3,b4,b5)T];
5) 類似RandomForest個體模型,選擇XGBoost和LightGBM個體模型進(jìn)行5折交叉驗證得到預(yù)測結(jié)果[B2train=(b1,b2,b3,b4,b5)T]和[B3train=(b1,b2,b3,b4,b5)T];
6) 在個體模型建立的過程中,每個模型分別對test數(shù)據(jù)集進(jìn)行5次預(yù)測,并取均值得到對應(yīng)預(yù)測結(jié)果[B1test=(b1)T],[B2test=(b2)T]和[B3test=(b3)T]。
1.3.2? Logistic回歸次級預(yù)測模型
由于Logistic回歸具有較強(qiáng)的泛化能力,可以降低Stacking的過擬合風(fēng)險,因此Stacking預(yù)測模型次級模型選用Logistic回歸模型進(jìn)行建模,過程如下:
1) 根據(jù)三種個體預(yù)測模型訓(xùn)練集的輸出[Btrain={B1train,B2train,B3train}],構(gòu)建邏輯回歸方程[y=wTBtrain+b],其中,[w]為權(quán)重值,[b]為偏回歸系數(shù),[y]表示新用戶是否重復(fù)購買的因變量。
2) 因變量[y]取值為1,新用戶重復(fù)購買的概率是[p=P(y=1Btrain)],否則,取0的概率為1-[p]。
3) 采用極大似然函數(shù)法求解模型中的回歸系數(shù),評估優(yōu)化模型。
4) 輸入個體預(yù)測模型測試集的預(yù)測值[Btest={B1test,B2test,B3test}],得到測試集的最終預(yù)測值,并對其評估。
算法詳細(xì)過程如下所示:
算法:新用戶重復(fù)購買行為Stacking預(yù)測模型
輸入:用戶屬性數(shù)據(jù)([U])、商品屬性數(shù)據(jù)([I])和用戶歷史行為數(shù)據(jù)([B]);
輸出:用戶?商戶對([U?M]),是否重復(fù)購買(repeat?buy)(1表示重復(fù)購買,0表示未重復(fù)購買);
算法流程:
1: read date={[U],[M],[B]}? //讀取輸入數(shù)據(jù)
2: create[vi={v1,v2,…,v40}] //構(gòu)建新用戶重復(fù)購買行為特征
3: [U*=choose(U)]
//根據(jù)“分段下采樣”均衡算法進(jìn)行數(shù)據(jù)樣本均衡
4: cat=RandomForest (data([U*][×][xi]))
//構(gòu)建RandomForest個體模型,并進(jìn)行訓(xùn)練
5: Light=XGBoost Classifier(data([U*][×][xi]))
//構(gòu)建XGBoost個體模型,并進(jìn)行訓(xùn)練
6: xgb=LightGBM Classifier(data([U*][×][xi]))
//構(gòu)建LightGBM個體模型,并進(jìn)行訓(xùn)練
7: log=logistic (data(train_out(5[×]3)))
//構(gòu)建Logistic回歸次級模型進(jìn)行模型融合訓(xùn)練
8: repeat?buy=log(data(test_out(1[×]3)))
//Logistic回歸次級模型進(jìn)行模型融合預(yù)測
2? 實驗與分析
2.1? 數(shù)據(jù)集
選用天貓數(shù)據(jù)集進(jìn)行測試,部分字段如表2所示。數(shù)據(jù)集提供了“雙十一”前后6個月中約26萬新用戶的購物信息,其中正負(fù)樣本比例約為1[∶]16。
2.2? 評估指標(biāo)
對于新用戶重復(fù)購買行為預(yù)測問題,根據(jù)樣例真實類別與文中模型預(yù)測類別組合劃分為真正例(TP)、假正例(FP)、真負(fù)例(TN)、假負(fù)例(FN)四種類型。數(shù)字化混淆矩陣后可推導(dǎo)出表示分類正確的樣本數(shù)與總樣本數(shù)之比的準(zhǔn)確率(Accuracy)和表示正例樣本排在負(fù)例樣本之前概率的AUC值(Area Under Curve),公式分別為:
[Accuracy=TP+TN(TP+FP)+(TN+FN)] (1)
[AUC=01TP? dFP(TP+FN)(TN+FP)]? (2)
2.3? 實驗結(jié)果與分析
2.3.1? 融合模型驗證
這里以預(yù)測6個月內(nèi)新用戶是否重復(fù)購買為例,比較分析融合模型與三種個體模型的性能差異。將每個模型在同一訓(xùn)練和測試數(shù)據(jù)集上分別運行10次,求得準(zhǔn)確率和AUC值的平均值作為模型最終結(jié)果,如表3所示。
從表3中的實驗結(jié)果可知,文中Stacking模型的準(zhǔn)確率和AUC值在訓(xùn)練集和測試集中均高于三種個體模型,主要原因是Stacking模型中的第一層個體模型能夠有效地學(xué)習(xí)原始雜亂無章的新用戶歷史購買行為數(shù)據(jù)中的特征,同時,選擇的個體模型也符合Stacking模型對基分類器選擇差異化大、準(zhǔn)確性高的要求。就個體模型而言,LightGBM,XGBoost和RandomForest性能依次遞減。這是因為,LightGBM通過使用垂直拆分替代水平拆分來獲得極高的準(zhǔn)確性,XGBoost對超參數(shù)進(jìn)行優(yōu)化,對影響新用戶重復(fù)購買行為的特征進(jìn)行了自動優(yōu)化處理,提高了模型的準(zhǔn)確率和魯棒性。此外,比對訓(xùn)練集合測試集可以看出,模型在訓(xùn)練集和測試集上的準(zhǔn)確率和AUC值相差不大,沒有發(fā)生過擬合或者欠擬合問題。
為了更直觀地驗證Stacking模型的穩(wěn)定性,將四種模型在10次訓(xùn)練集上的準(zhǔn)確率畫出如圖3所示折線圖,并分析波動趨勢。
從圖3中可看出,Stacking模型與三種個體模型相比在模型穩(wěn)定性上有明顯優(yōu)勢。RandomForest,XGBoost和LightGBM的Accuracy隨實驗次數(shù)波動較大。Stacking模型處于高Accuracy的區(qū)間內(nèi)小幅度波動,模型整體上穩(wěn)定性較好,這是因為集成學(xué)習(xí)通過融合多個個體模型的預(yù)測結(jié)果,在提高單個模型性能的同時,可以有效避免選擇某個預(yù)測效果不好的個體模型的結(jié)果。
2.3.2? 重復(fù)購買行為影響特征分析
比較三種個體模型的重復(fù)購買行為影響特征發(fā)現(xiàn)并無明顯差異,說明表4展示的三種預(yù)測模型排名前10的影響特征對新用戶的重復(fù)購買行為影響較大,對商戶提高新用戶重復(fù)購買率的策略制定具有重要意義。
表4中所列的特征中,從宏觀角度來看,用戶?商戶特征對用戶重復(fù)購買行為的影響力最大,商戶特性和用戶特征次之。從微觀角度來看,用戶?商戶特征中某用戶在某商戶購買商品總次數(shù),某用戶在某商鋪中購買某類商品的總數(shù),某用戶在某商鋪中購買某個商品的總數(shù)三個特性體現(xiàn)了某個用戶對商戶的“偏愛”程度,實際情況是用戶往往習(xí)慣在經(jīng)常購買的商家去購買商品;某用戶在商戶中第一次和最后一次交互的時間差,某用戶在商戶中交互最頻繁的月份,某用戶在某商戶中一個月交互次數(shù)三個特征度量了某用戶在某商戶的“停留”時長,根據(jù)經(jīng)驗可知,某用戶在某商戶“停留”的時間越長,越容易發(fā)生購買行為。此外,由表4中也可以看出,用戶購買轉(zhuǎn)換率、用戶年齡和性別也是對用戶重復(fù)購買影響較重要的幾個特征,這與實際情況非常一致。
3? 結(jié)? 語
本文采用Stacking融合模型有效提高了新用戶重復(fù)購買行為預(yù)測的準(zhǔn)確率和穩(wěn)定性,應(yīng)用“分段下采樣”樣本均衡算法提升了模型預(yù)測的準(zhǔn)確率和AUC值。分析了影響重復(fù)購買行為的重要特征,為商戶增加新用戶重復(fù)購買率、提高用戶忠誠度和精準(zhǔn)營銷等方面相關(guān)策略的制定提供了參考。后續(xù)將深入挖掘新用戶重復(fù)購買行為影響因素,在聚類分析基礎(chǔ)上進(jìn)行特征構(gòu)建和模型訓(xùn)練,同時,借鑒交叉驗證的思想以進(jìn)一步提升AUC值。
注:本文通訊作者為張會兵。
參考文獻(xiàn)
[1] LIU G, NGUYEN T T, ZHAO G, et al. Repeat buyer prediction for E?commerce [C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. [S.l.]: ACM, 2016: 155?164.
[2] 張李義,李一然,文璇.新消費者重復(fù)購買意向預(yù)測研究[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2018,2(11):10?18.
[3] XU D, YANG W, MA L. Repurchase prediction based on ensemble learning [C]// 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI). Guangzhou, China: IEEE, 2018: 1317?1322.
[4] KUMAR A, KABRA G, MUSSADA E K, et al. Combined artificial bee colony algorithm and machine learning techniques for prediction of online consumer repurchase intention [J]. Neural computing and applications, 2019, 31(2): 877?890.
[5] DOROGUSH A V, ERSHOV V, GULIN A. CatBoost: gradient boosting with categorical features support [EB/OL]. [2018?10?24]. https://arxiv.org/abs/1810.11363.
[6] MA X, SHA J, WANG D, et al. Study on a prediction of P2P network loan default based on the machine learning LightGBM and XGboost algorithms according to different high dimensional data cleaning [J]. Electronic commerce research and applications, 2018, 31: 24?39.
[7] FERN?NDEZ A, GARCIA S, HERRERA F, et al. SMOTE for learning from imbalanced data: progress and challenges, marking the 15?year anniversary [J]. Journal of artificial intelligence research, 2018, 61: 863?905.
[8] RUAN Q, WU Q, WANG Y, et al. Effective learning model of user classification based on ensemble learning algorithms [J]. Computing, 2019, 101(6): 531?545.
[9] BOL?N?CANEDO V, ALONSO?BETANZOS A. Ensembles for feature selection: a review and future trends [J]. Information fusion, 2019, 52: 1?12.
[10] THAKKAR P, VARMA K, UKANI V, et al. Combining user?based and item?based collaborative filtering using machine learning [C]// Information and Communication Technology for Intelligent Systems. Singapore: Springer, 2019: 173?180.