胡曉麗 張會兵 董俊超 吳冬強



摘? 要: 對電子商務平臺新用戶重復購買行為進行預測有助于商戶開展精準營銷?,F有單一方法在預測準確性方面還有待提升,文中提出一種基于集成學習的預測模型以進一步提升新用戶重復購買行為的預測準確率。引入“分段下采樣”以獲得新用戶重復購買和未重復購買的平衡樣本;從用戶、商戶及用戶與商戶交互三方面構建新用戶購買行為特征;依據集成學習思想Stacking融合RandomForest,XGBoost和LightGBM對新用戶重復購買行為進行預測。實驗結果表明,Stacking融合模型準確率和AUC值比單一模型平均提升了0.4%~2%,使用“分段下采樣”樣本平衡算法AUC值提升0.1%左右。
關鍵詞: 重復購買行為預測; 集成學習; 分段下采樣; 平衡樣本獲取; 購買行為特征構建; Stacking融合模型
中圖分類號: TN99?34; TP391? ? ? ? ? ? ? ? ? ? ?文獻標識碼: 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? 引? 言
為了吸引更多新用戶的關注和購買,電商平臺會在“雙十一”“618”等特定日期進行促銷。然而,在促銷期間獲得的新用戶多為一次性購買用戶,不能為商戶產生長期回報。因此,預測新用戶重復購買行為是電子商務平臺開展精準營銷、獲得長期客源的關鍵問題。利用新用戶的瀏覽、收藏、放入購物車等海量行為數據來挖掘其購物習慣、偏好和意愿,是實現重復購買行為預測的有效途徑。
文獻[1]綜合特征工程和模型訓練,構建涵蓋用戶、商家、品牌、類別、商品及其交互等方面的新用戶重復購買行為影響特征。分別使用Logistic回歸、隨機森林、XGBoost等五種模型進行訓練預測,實驗結果顯示XGBoost表現最好。文獻[2]針對預測新消費者的重復購買意向的問題,提出融合SMOTE算法和隨機森林算法的預測模型,與均衡K近鄰算法和決策樹算法相比,該模型有更好的性能。文獻[3]利用新用戶的歷史行為數據,提出了一種基于GBDT的兩層模型融合算法(TMFBG)來預測重復購買用戶,提高了預測精度和模型魯棒性。文獻[4]首先使用人工蜂群算法對新用戶重復購買行為特征進行選擇,然后依此構建新用戶重復購買行為預測模型,實驗結果表明,特征選擇對模型預測結果的提升有一定作用。
上述研究大多采用單一模型進行預測,集成學習技術的發展使得可以通過個體模型和組合策略的優化選擇以進一步提升預測效果。同時,在促銷活動中新吸引用戶發生重復購買行為的僅占6%左右,不平衡的樣本數據會影響預測效果。為此,本文使用“分段下采樣”對原始樣本進行平衡處理,然后,采用融合RandomForest,XGBoost和LightGBM的模型預測新用戶重復購買行為[5]。
1? 新用戶重復購買預測模型
1.1? 模型框架
圖1是融合用戶屬性、商戶信息和用戶與商戶交互信息的預測新用戶重復購買行為的集成學習模型。首先,完成用戶歷史行為數據清洗,并采用“分段下采樣”方法進行樣本平衡處理;然后,從用戶屬性、商戶屬性及用戶?商戶交互屬性三個維度分別構建出用戶特征、商戶特征、用戶?商戶特征;輸入構建好的特征到RandomForest,XGBoost和LightGBM個體模型中進行新用戶購買行為預測訓練;最后,通過Stacking方法對個體模型進行融合并將預測結果分類輸出[6]。
1.2? 新用戶歷史交互樣本平衡與特征構建
1.2.1? 新用戶歷史交互樣本平衡
在促銷結束后,只有極少部分新用戶會重復購買,出現重復購買正樣本與未重復購買負樣本極度不平衡的問題。傳統的“過采樣”和“下采樣”方法不能很好地解決該問題[7]。為此,設計了“分段下采樣”方法:根據新用戶購買行為時間敏感的特點,將重復購買用戶和未重復購買用戶原始樣本以天為單位進行分段。針對新用戶樣本中的每個新用戶根據歐氏距離找出其三個最近鄰新用戶,若該新用戶是未重復購買用戶,且其三個最近鄰新用戶中有兩個以上是重復購買用戶,則刪除它;否則,當該樣本是重復購買用戶并且其三個最近鄰中有兩個以上是未重復購買用戶,則去除最近鄰中未重復購買的用戶,其余保留原始新用戶樣本即可。
“分段下采樣”樣本平衡算法步驟如下:
輸入:新用戶原始歷史數據([D]),數據記錄天數([T]);
輸出:新用戶平衡歷史數據([D*]);
算法流程:
1: D′ =D/T? ? //對原始數據按照數據記錄天數進行分段
2: for? D(u)∈D′? do? ? //遍歷原始數據中的每個用戶
3: D′(u) =RandomChoose(D(u))? //隨機選擇任意用戶數據
4: if? D′(u)為重復購買用戶 then
5: if? repeat?buy = sum(KNN (D′(u)))≥2? then
// [D′(u)]最近鄰中未重復購買用戶個數
6:? ? ? ?delete (KNN (D′(u))≠repeat?buy)
//刪除最近鄰中的未購買用戶
7:? ? else
8:? ? ? save(D′(u))? ? //保留新用戶數據
9: else
10:? if? norepeat?buy = sum(KNN (D′(u)))≥2? then
11: delete (D′(u))? ? //刪除新用戶
12:? ? ?else
13:? ? ? ?save(D′(u))? ? //保留新用戶數據
1.2.2? 新用戶歷史交互特征構建
原始的新用戶歷史交互數據比較分散,可以直接使用的特征非常少,用于預測重復購買行為的效果不夠理想。為此,運用統計分析方法構建出如表1所示的新用戶重復購買行為預測特征。然后,將這些特征分別輸入到RandomForest,XGBoost和LightGBM個體模型中進行特征選擇和訓練。
1.3? Stacking預測模型
基于表1特征,為了提高精確度和泛化能力,采用Stacking方法將RandomForest,XGBoost和LightGBM結合起來構建如圖2所示的集成預測模型。第一層由3個個體模型組成,使用類似于5折交叉驗證的策略來訓練。然后,將個體模型預測結果輸入第二層次級模型Logistic回歸,用于訓練新用戶重復購買行為最終預測模型[8]。最后,組合輸入個體模型測試樣本的輸出結果到訓練完成的次級模型Logistic回歸中,對新用戶購買行為進行最終預測[9]。
1.3.1? 個體預測模型
Stacking集成預測模型個體模型構建過程如下:
1) 選擇RandomForest,XGBoost和LightGBM個體模型;
2) 按照8[∶]2比例劃分新用戶歷史行為數據為訓練集和測試集,并把訓練集分為train1~train5不交叉的五份選擇;
3) RandomForest個體模型使用train1~train4訓練預測模型,train5預測新用戶重復購買行為并保留結果;
4) 重復上述過程,直到把train1~train5都預測一遍,保存預測結果為[B1train=(b1,b2,b3,b4,b5)T];
5) 類似RandomForest個體模型,選擇XGBoost和LightGBM個體模型進行5折交叉驗證得到預測結果[B2train=(b1,b2,b3,b4,b5)T]和[B3train=(b1,b2,b3,b4,b5)T];
6) 在個體模型建立的過程中,每個模型分別對test數據集進行5次預測,并取均值得到對應預測結果[B1test=(b1)T],[B2test=(b2)T]和[B3test=(b3)T]。
1.3.2? Logistic回歸次級預測模型
由于Logistic回歸具有較強的泛化能力,可以降低Stacking的過擬合風險,因此Stacking預測模型次級模型選用Logistic回歸模型進行建模,過程如下:
1) 根據三種個體預測模型訓練集的輸出[Btrain={B1train,B2train,B3train}],構建邏輯回歸方程[y=wTBtrain+b],其中,[w]為權重值,[b]為偏回歸系數,[y]表示新用戶是否重復購買的因變量。
2) 因變量[y]取值為1,新用戶重復購買的概率是[p=P(y=1Btrain)],否則,取0的概率為1-[p]。
3) 采用極大似然函數法求解模型中的回歸系數,評估優化模型。
4) 輸入個體預測模型測試集的預測值[Btest={B1test,B2test,B3test}],得到測試集的最終預測值,并對其評估。
算法詳細過程如下所示:
算法:新用戶重復購買行為Stacking預測模型
輸入:用戶屬性數據([U])、商品屬性數據([I])和用戶歷史行為數據([B]);
輸出:用戶?商戶對([U?M]),是否重復購買(repeat?buy)(1表示重復購買,0表示未重復購買);
算法流程:
1: read date={[U],[M],[B]}? //讀取輸入數據
2: create[vi={v1,v2,…,v40}] //構建新用戶重復購買行為特征
3: [U*=choose(U)]
//根據“分段下采樣”均衡算法進行數據樣本均衡
4: cat=RandomForest (data([U*][×][xi]))
//構建RandomForest個體模型,并進行訓練
5: Light=XGBoost Classifier(data([U*][×][xi]))
//構建XGBoost個體模型,并進行訓練
6: xgb=LightGBM Classifier(data([U*][×][xi]))
//構建LightGBM個體模型,并進行訓練
7: log=logistic (data(train_out(5[×]3)))
//構建Logistic回歸次級模型進行模型融合訓練
8: repeat?buy=log(data(test_out(1[×]3)))
//Logistic回歸次級模型進行模型融合預測
2? 實驗與分析
2.1? 數據集
選用天貓數據集進行測試,部分字段如表2所示。數據集提供了“雙十一”前后6個月中約26萬新用戶的購物信息,其中正負樣本比例約為1[∶]16。
2.2? 評估指標
對于新用戶重復購買行為預測問題,根據樣例真實類別與文中模型預測類別組合劃分為真正例(TP)、假正例(FP)、真負例(TN)、假負例(FN)四種類型。數字化混淆矩陣后可推導出表示分類正確的樣本數與總樣本數之比的準確率(Accuracy)和表示正例樣本排在負例樣本之前概率的AUC值(Area Under Curve),公式分別為:
[Accuracy=TP+TN(TP+FP)+(TN+FN)] (1)
[AUC=01TP? dFP(TP+FN)(TN+FP)]? (2)
2.3? 實驗結果與分析
2.3.1? 融合模型驗證
這里以預測6個月內新用戶是否重復購買為例,比較分析融合模型與三種個體模型的性能差異。將每個模型在同一訓練和測試數據集上分別運行10次,求得準確率和AUC值的平均值作為模型最終結果,如表3所示。
從表3中的實驗結果可知,文中Stacking模型的準確率和AUC值在訓練集和測試集中均高于三種個體模型,主要原因是Stacking模型中的第一層個體模型能夠有效地學習原始雜亂無章的新用戶歷史購買行為數據中的特征,同時,選擇的個體模型也符合Stacking模型對基分類器選擇差異化大、準確性高的要求。就個體模型而言,LightGBM,XGBoost和RandomForest性能依次遞減。這是因為,LightGBM通過使用垂直拆分替代水平拆分來獲得極高的準確性,XGBoost對超參數進行優化,對影響新用戶重復購買行為的特征進行了自動優化處理,提高了模型的準確率和魯棒性。此外,比對訓練集合測試集可以看出,模型在訓練集和測試集上的準確率和AUC值相差不大,沒有發生過擬合或者欠擬合問題。
為了更直觀地驗證Stacking模型的穩定性,將四種模型在10次訓練集上的準確率畫出如圖3所示折線圖,并分析波動趨勢。
從圖3中可看出,Stacking模型與三種個體模型相比在模型穩定性上有明顯優勢。RandomForest,XGBoost和LightGBM的Accuracy隨實驗次數波動較大。Stacking模型處于高Accuracy的區間內小幅度波動,模型整體上穩定性較好,這是因為集成學習通過融合多個個體模型的預測結果,在提高單個模型性能的同時,可以有效避免選擇某個預測效果不好的個體模型的結果。
2.3.2? 重復購買行為影響特征分析
比較三種個體模型的重復購買行為影響特征發現并無明顯差異,說明表4展示的三種預測模型排名前10的影響特征對新用戶的重復購買行為影響較大,對商戶提高新用戶重復購買率的策略制定具有重要意義。
表4中所列的特征中,從宏觀角度來看,用戶?商戶特征對用戶重復購買行為的影響力最大,商戶特性和用戶特征次之。從微觀角度來看,用戶?商戶特征中某用戶在某商戶購買商品總次數,某用戶在某商鋪中購買某類商品的總數,某用戶在某商鋪中購買某個商品的總數三個特性體現了某個用戶對商戶的“偏愛”程度,實際情況是用戶往往習慣在經常購買的商家去購買商品;某用戶在商戶中第一次和最后一次交互的時間差,某用戶在商戶中交互最頻繁的月份,某用戶在某商戶中一個月交互次數三個特征度量了某用戶在某商戶的“停留”時長,根據經驗可知,某用戶在某商戶“停留”的時間越長,越容易發生購買行為。此外,由表4中也可以看出,用戶購買轉換率、用戶年齡和性別也是對用戶重復購買影響較重要的幾個特征,這與實際情況非常一致。
3? 結? 語
本文采用Stacking融合模型有效提高了新用戶重復購買行為預測的準確率和穩定性,應用“分段下采樣”樣本均衡算法提升了模型預測的準確率和AUC值。分析了影響重復購買行為的重要特征,為商戶增加新用戶重復購買率、提高用戶忠誠度和精準營銷等方面相關策略的制定提供了參考。后續將深入挖掘新用戶重復購買行為影響因素,在聚類分析基礎上進行特征構建和模型訓練,同時,借鑒交叉驗證的思想以進一步提升AUC值。
注:本文通訊作者為張會兵。
參考文獻
[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] 張李義,李一然,文璇.新消費者重復購買意向預測研究[J].數據分析與知識發現,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.