個(gè)人 O2O 優(yōu)惠券預(yù)測(cè)分析
DOI:10.16667/j.issn.2095-1302.2019.12.020
引 言
本課題基于商業(yè) O2O 優(yōu)惠券發(fā)放問(wèn)題與機(jī)器學(xué)習(xí)相結(jié)合,使用經(jīng)過(guò)特征提取的往期數(shù)據(jù)訓(xùn)練數(shù)學(xué)模型,通過(guò)訓(xùn)練好的數(shù)學(xué)模型對(duì)優(yōu)惠券核銷(xiāo)二分類(lèi)問(wèn)題進(jìn)行精準(zhǔn)預(yù)測(cè)。隨機(jī)投放優(yōu)惠券這種行為方式不僅會(huì)對(duì)無(wú)需求的用戶(hù)造成無(wú)意義的干擾,還可能致使商家品牌聲譽(yù)降低、營(yíng)銷(xiāo)成本增高。個(gè)性化投放是提高優(yōu)惠券核銷(xiāo)率的重要技術(shù) [1],利用該技術(shù)不僅可以讓具有一定偏好的消費(fèi)者從中獲利,同時(shí)還可以使商家獲得更好的營(yíng)銷(xiāo)效果。數(shù)據(jù)來(lái)源于天池大數(shù)據(jù)比賽《生活大實(shí)惠 :O2O 優(yōu)惠券使用預(yù)測(cè)》,比賽提供 O2O 相關(guān)場(chǎng)景的豐富數(shù)據(jù),通過(guò)分析建模,精準(zhǔn)預(yù)測(cè)用戶(hù)是否會(huì)在規(guī)定時(shí)間內(nèi)使用相應(yīng)優(yōu)惠券。
1 研究背景及意義
O2O 是 Online To Offline(在線(xiàn)離線(xiàn) / 線(xiàn)上線(xiàn)下)的簡(jiǎn)稱(chēng),是將線(xiàn)下商業(yè)機(jī)會(huì)與線(xiàn)上平臺(tái)相結(jié)合的一種電商發(fā)展方式 [2],將線(xiàn)上平臺(tái)作為線(xiàn)下消費(fèi)的前站。為了吸引互聯(lián)網(wǎng)用戶(hù)在線(xiàn)上瀏覽商業(yè)信息,商家采取發(fā)送優(yōu)惠券(團(tuán)購(gòu),如GroupOn)、提供優(yōu)惠信息、服務(wù)(預(yù)定,如 Opentable)等方式吸引顧客 [3]。線(xiàn)下商店推送的消息會(huì)被互聯(lián)網(wǎng)用戶(hù)收到,從而增大網(wǎng)民轉(zhuǎn)化為自家店鋪線(xiàn)下消費(fèi)者的幾率。同時(shí)店鋪的線(xiàn)下服務(wù)可以用于線(xiàn)上攬客,消費(fèi)者又可以從線(xiàn)上平臺(tái)篩選線(xiàn)下服務(wù),并在線(xiàn)結(jié)算,店鋪能夠很快達(dá)到規(guī)模 [4]。該模式最重要的特點(diǎn)是推廣效果可觀,交易流水可跟蹤。O2O 作為下一代新興電子商務(wù)模式,其使命是把電子商務(wù)的效力引入目前消費(fèi)中占比 90% 以上的本地消費(fèi)中去 [5-6]。除此之外,線(xiàn)上與線(xiàn)下的對(duì)接將打破電商、店商擠兌份額的競(jìng)爭(zhēng)格局,兩者將化敵為友,相互彌補(bǔ)、相互促進(jìn),并且使整體消費(fèi)市場(chǎng)迎來(lái)一個(gè)全新發(fā)展的局面。
2 研究現(xiàn)狀
很多學(xué)者對(duì)消費(fèi)預(yù)測(cè)問(wèn)題進(jìn)行了研究, 例如 Zhu Zhenfeng等(2018)基 于 傳 統(tǒng) GBDT(GradientBoosting DecisionTree)算法,提出了一種具有層次化集成的改進(jìn)預(yù)測(cè)模型(HGBDT)。該模型通過(guò)分析往期商品數(shù)據(jù)來(lái)預(yù)測(cè)商品未來(lái)的銷(xiāo)售趨勢(shì) [7]。Jain(2017)等通過(guò)使用 XGBoost(eXtremeGradientBoosting)模型來(lái)預(yù)測(cè)和估計(jì)歐洲主要藥店的零售額。與傳統(tǒng)的回歸算法相比,XGBoost模型算法性能優(yōu)于傳統(tǒng)的建模方法 [8]。國(guó)內(nèi)學(xué)者郭倩(2018)對(duì)農(nóng)村人均生活消費(fèi)進(jìn)行預(yù)測(cè),運(yùn)用 BP神經(jīng)網(wǎng)絡(luò)對(duì)農(nóng)村居民的人均消費(fèi)支出進(jìn)行分析,結(jié)合數(shù)據(jù)擬合和精度檢驗(yàn),對(duì)農(nóng)村居民未來(lái)三年的生活消費(fèi)支出進(jìn)行預(yù)測(cè) [9]。學(xué)者魏艷華(2015) 通過(guò)對(duì)甘肅省農(nóng)村居民在 1978~2011年中支出與收入的數(shù)據(jù)進(jìn)行分析,建立以 ARIMAX模型為基礎(chǔ)的消費(fèi)支出預(yù)測(cè)模型,通過(guò)此模型對(duì)甘肅省農(nóng)村居民未來(lái)一年的消費(fèi)支出進(jìn)行了預(yù)測(cè)研究 [10]。Qiumei Pu 使用 XGBoost 模型對(duì)陜西省氣象干旱情況進(jìn)行預(yù)測(cè),分別以人工神經(jīng)網(wǎng)絡(luò)算法和 XGBoost算法構(gòu)建數(shù)學(xué)模型,預(yù)測(cè)結(jié)果表明 XGBoost 模型比 DLNM和人工神經(jīng)網(wǎng)絡(luò)能更精確地預(yù)測(cè) SPEI[11]。Junqi Guo 等學(xué)者在研究青少年身體體質(zhì)情況時(shí),使用 XGBoost 算法對(duì)每個(gè)青年的身體健康水平進(jìn)行分類(lèi),并通過(guò)貝葉斯優(yōu)化自適應(yīng)調(diào)整參數(shù)。實(shí)驗(yàn)結(jié)果表明,該模型不僅比現(xiàn)有參考模型具有更高的評(píng)估精度,相較于傳統(tǒng)的經(jīng)驗(yàn)?zāi)P?,通過(guò) XGBoost 模型可以更好地為未來(lái)青少年的體質(zhì)評(píng)估提供有效的解決方案 [12]。
由上述論述可知,邏輯回歸、GBDT 及 XGBoost 模型早已被用于實(shí)際應(yīng)用中,很多學(xué)者在各領(lǐng)域中的研究均使用了這幾種模型和兩兩融合后的模型,預(yù)測(cè)效果得到顯著提升。在商品預(yù)測(cè)領(lǐng)域,這些模型在顧客行為和數(shù)據(jù)挖掘競(jìng)賽中得到了深度使用 [13]。將數(shù)學(xué)模型引入實(shí)際問(wèn)題進(jìn)行分析研究已成為預(yù)測(cè)產(chǎn)業(yè)發(fā)展走向的一種新的研究方式,并且在實(shí)際預(yù)測(cè)中得到了驗(yàn)證[14]。
3 研究路線(xiàn)
本文利用天池大數(shù)據(jù)眾智平臺(tái)賽題《生活大實(shí)惠 :O2O 優(yōu)惠券使用預(yù)測(cè)》中的真實(shí)消費(fèi)者行為數(shù)據(jù)進(jìn)行研究的步驟如下 :
(1)對(duì)原始數(shù)據(jù)集中的字段進(jìn)行解釋、數(shù)據(jù)探查、數(shù)據(jù)處理等操作。
(2)利用特征工程對(duì)線(xiàn)下消費(fèi)和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集構(gòu)造提取出用戶(hù)(User)、商家(Merchan)、優(yōu)惠券(Coupon)、用戶(hù) - 商家(User-Merchan)、其他特征(Other)等五大特征群,共 96個(gè)特征值的線(xiàn)下特征集,再利用特征工程對(duì)用戶(hù)線(xiàn)上點(diǎn)擊 / 消費(fèi)和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集構(gòu)造提取出 13 個(gè)用戶(hù)(User)特征值的線(xiàn)上特征集。
(3)通過(guò)線(xiàn)下特征集共 96個(gè)特征值及線(xiàn)上和線(xiàn)下特征集共 109 個(gè)特征值,構(gòu)建兩組不同的預(yù)測(cè)模型。
研究流程如圖 1 所示。
4 數(shù)據(jù)處理
4.1 數(shù)據(jù)介紹
根據(jù)天池大數(shù)據(jù)眾智平臺(tái)賽題《生活大實(shí)惠 :O2O優(yōu)惠券使用預(yù)測(cè)》提供的相關(guān)真實(shí)消費(fèi)數(shù)據(jù) :2016年 1月 1日至 2016年 6月 30日,O2O場(chǎng)景相關(guān)的消費(fèi)者線(xiàn)上和線(xiàn)下發(fā)生行為數(shù)據(jù),通過(guò)訓(xùn)練模型預(yù)測(cè) 2016 年 7 月 1 日至 2016 年7 月 31 日消費(fèi)者領(lǐng)取優(yōu)惠券后 15 天內(nèi)優(yōu)惠券的核銷(xiāo)情況。
模型預(yù)測(cè)結(jié)果的評(píng)判標(biāo)準(zhǔn) :使用數(shù)學(xué)模型對(duì)優(yōu)惠券預(yù)測(cè)的概率值取平均 AUC 值。
賽題共提供 4 個(gè)數(shù)據(jù)集,分別對(duì) 4 個(gè)數(shù)據(jù)集進(jìn)行數(shù)據(jù)分析。
用戶(hù)線(xiàn)下消費(fèi)和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集(后面稱(chēng)為線(xiàn)下數(shù)據(jù)集)中共有 1 754 884 條消費(fèi)者行為數(shù)據(jù),其中1 053 282 條數(shù)據(jù)對(duì)優(yōu)惠券有操作行為,包含 539 438 個(gè)用戶(hù),8 415 個(gè)商家,9 738 種優(yōu)惠券,消費(fèi)者領(lǐng)取優(yōu)惠券的日期為2016 年 1 月 1 日至 2016 年 6 月 15 日,消費(fèi)者的消費(fèi)日期為2016 年 1 月 1 日至 2016 年 6 月 30 日。
用戶(hù)線(xiàn)上點(diǎn)擊 / 消費(fèi)和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集(后面稱(chēng)為線(xiàn)上數(shù)據(jù)集)中共有 11 429 826 條數(shù)據(jù),其中 872 357 條數(shù)據(jù)有優(yōu)惠券 ID,表明消費(fèi)者對(duì)優(yōu)惠券有操作行為,線(xiàn)上數(shù)據(jù)集中含 762 858 個(gè)用戶(hù)(其中 267 448 用戶(hù)在線(xiàn)下集)。
用戶(hù) O2O 線(xiàn)下優(yōu)惠券使用預(yù)測(cè)集(后面稱(chēng)為預(yù)測(cè)集)中包含 2 050 種優(yōu)惠券,領(lǐng)取日期為 2016 年 7 月 1 日至2016 年 7 月 31 日,有 76 309 個(gè)用戶(hù)(其中 76 307 個(gè)在線(xiàn)下數(shù)據(jù)集,35 965 個(gè)在線(xiàn)上數(shù)據(jù)集,線(xiàn)上與線(xiàn)下數(shù)據(jù)集中存在用戶(hù)交叉),1 559 家商鋪(其中 1 558 家在用戶(hù)線(xiàn)下數(shù)據(jù)集)。
預(yù)測(cè)集提交字段和字段說(shuō)明,選手提交文件字段。其 中 use_id,coupon_id 與 date_received 均來(lái)自數(shù)據(jù)集,Probability 字段為通過(guò)機(jī)器學(xué)習(xí)建立數(shù)學(xué)模型預(yù)測(cè)得到的預(yù)測(cè)值。
4.2 特征工程
“數(shù)據(jù)決定了機(jī)器學(xué)習(xí)的上限,而算法只是盡可能逼近這個(gè)上限”[15],這句話(huà)中數(shù)據(jù)的含義是對(duì)原始數(shù)據(jù)經(jīng)特征工程轉(zhuǎn)換和處理等一系列操作而得到的數(shù)據(jù)。特征工程流程如圖 2 所示。
圖 3 所示為特征群分布情況。
5 算法介紹
本文所使用的算法為邏輯規(guī)模,GBDT,XGBoost。
5.1 邏輯回歸
Logistic回歸是一種廣義線(xiàn)性回歸(GeneralizedLinear Model),它是一個(gè)分類(lèi)算法而不是回歸算法[16]。其核心思想是 :線(xiàn)性回歸的輸出結(jié)果是一個(gè)連續(xù)且范圍無(wú)法確定的值,如果 出現(xiàn)需要利用結(jié)果值映射為判斷結(jié)果的情況,并且輸出結(jié)果 是一個(gè)概率值,則可通過(guò) Sigmoid 函數(shù)確定,所以 Logistic 函數(shù)又稱(chēng) Sigmoid 函數(shù)。Sigmoid函數(shù)曲線(xiàn)如圖 4所示。
圖 4 Sigmoid 函數(shù)曲線(xiàn)
通常情況下,將一個(gè)已知的自變量預(yù)測(cè)成一個(gè)離散型因變量的值(如二進(jìn)制值 0/1,對(duì) / 錯(cuò),男 / 女)??煽紤]利用邏輯函數(shù)(logit fuction)建立的數(shù)學(xué)模型對(duì)事件發(fā)生的概率進(jìn)行計(jì)算,得到一個(gè)預(yù)估值。而該預(yù)估值一般為概率值,因此輸出結(jié)果值在 0 ~ 1 范圍內(nèi)。
5.2 GBDT
GBDT(Gradient Boosting Decision Tree)是一種基于迭代構(gòu)造的決策樹(shù)算法,該算法是將決策樹(shù)賦予集成算法思想得到的一種數(shù)學(xué)模型?;貧w決策樹(shù)、Gradient Boosting 與縮減共同組成了 GBDT 模型 [1]。
5.2.1 回歸決策樹(shù)
GBDT 模型中的決策樹(shù)為回歸決策樹(shù),而非分類(lèi)決策樹(shù)?;貧w決策樹(shù)可預(yù)測(cè)數(shù)值,如員工薪金、大樹(shù)高度等,對(duì)回歸樹(shù)得到的數(shù)值進(jìn)行加減計(jì)算是有意義的,例如 12 歲 +4 歲 -4 歲 =12 歲,而這也是回歸樹(shù)區(qū)別于分類(lèi)樹(shù)的一個(gè)顯著特征。GBDT 正是利用回歸樹(shù)得到數(shù)值的性質(zhì),匯總所有樹(shù)的結(jié)果, 從而輸出最終結(jié)果。
5.2.2 梯度上升
“Boosting”意為迭代,迭代多棵樹(shù)對(duì)結(jié)果值進(jìn)行共同決策 [17]。采用弱學(xué)習(xí)器的結(jié)論進(jìn)行綜合評(píng)判,進(jìn)而得到 GBDT模型。整個(gè)過(guò)程采用增量思想對(duì)每個(gè)弱學(xué)習(xí)器進(jìn)行累加。
5.2.3 縮減
縮減(Shrinkage)的思想 :逐漸逼近實(shí)際結(jié)果值,該操作方式比快速逼近結(jié)果值的方式更容易降低出現(xiàn)過(guò)擬合的概率。因?yàn)槊恳粋€(gè)殘差弱學(xué)習(xí)器只學(xué)到了真理的一小部分,并且都有可能出現(xiàn)過(guò)擬合現(xiàn)象,但在這個(gè)學(xué)習(xí)過(guò)程中增加弱學(xué)習(xí)器的數(shù)量,使用多個(gè)弱學(xué)習(xí)器進(jìn)行學(xué)習(xí)可以彌補(bǔ)上述不足。
5.3 XGBoost
GBDT 算法的運(yùn)行往往要生成一定數(shù)量的樹(shù)才能達(dá)到令人滿(mǎn)意的準(zhǔn)確率。當(dāng)面對(duì)的數(shù)據(jù)集結(jié)果較為龐大且復(fù)雜時(shí), 可能需要進(jìn)行上千次迭代運(yùn)算,還會(huì)造成一定的計(jì)算瓶頸, 并增加計(jì)算空間的消耗。華盛頓大學(xué)的陳天奇博士研發(fā)出的XGBoost(eXtreme Gradient Boosting)解決了這一技術(shù)難點(diǎn), 此算法基于Gradient Boosting Machine 框架,并使用c++ 實(shí)現(xiàn), 從而極大地提升了模型訓(xùn)練速度和預(yù)測(cè)精度 [18]。
XGBoost 是一個(gè)優(yōu)化的分布式梯度增強(qiáng)庫(kù),作為 GBDT 模型的升級(jí)版,集高效性、靈活性和便攜性等特點(diǎn)于一身。利用 XGBoost 模型可以在較短周期內(nèi)解決數(shù)據(jù)科學(xué)問(wèn)題,得到較高精度的實(shí)驗(yàn)結(jié)果。利用 XGBoost 算法構(gòu)建的數(shù)學(xué)模型單臺(tái)機(jī)運(yùn)行速度比當(dāng)下使用的數(shù)學(xué)模型訓(xùn)練速度快十倍以上,并且當(dāng)分布式模式或內(nèi)存設(shè)置需要限制時(shí)仍可獲得較為準(zhǔn)確的實(shí)驗(yàn)結(jié)果。
6 實(shí)驗(yàn)結(jié)果6 實(shí)驗(yàn)結(jié)果
6.1 評(píng)判標(biāo)準(zhǔn)
在一些二分類(lèi)問(wèn)題中給出預(yù)測(cè)結(jié)果的同時(shí)也會(huì)給出相應(yīng)的預(yù)測(cè)概率,例如假定 0.6 為正確的判定閾值,那么若預(yù)測(cè)概率大于 0.7,則判定為正確值,否則為錯(cuò)誤值 ;若閾值降低到 0.5,則可以判斷出更多的正確值。數(shù)據(jù)中正確數(shù)占比提高的同時(shí),也導(dǎo)致實(shí)際為真實(shí)值但判定為錯(cuò)誤值的數(shù)量的升高。為了直觀表示該變化,引入 ROC(Receiver Operating Characteristic Curve)。ROC 曲線(xiàn)的橫坐標(biāo)為 FPR,縱坐標(biāo)為 TPR,ROC 曲線(xiàn)下的面積即為 AUC[19]。
6.2 實(shí)驗(yàn)結(jié)果分析
通過(guò)提取特征數(shù)量和不同模型兩個(gè)角度總結(jié)實(shí)驗(yàn)。
6.2.1 從特征數(shù)量分析實(shí)驗(yàn)結(jié)果
通過(guò)圖 5 可以看到,邏輯回歸、GBDT+ 邏輯回歸融合模型、XGBoost 單模型僅含受線(xiàn)下特征集訓(xùn)練后的預(yù)測(cè)效果, 沒(méi)有經(jīng)線(xiàn)下和線(xiàn)上特征訓(xùn)練后模型的預(yù)測(cè)效果好。說(shuō)明特征數(shù)量適量增加可以提升數(shù)學(xué)模型的預(yù)測(cè)能力和實(shí)驗(yàn)效果。
6.2.2 從模型的角度分析實(shí)驗(yàn)結(jié)果
經(jīng)過(guò)線(xiàn)上和線(xiàn)下特征模型訓(xùn)練,XGBoost 模型的預(yù)測(cè)效果最好,GBDT+ 邏輯回歸模型的效果次之,邏輯回歸模型的預(yù)測(cè)效果相對(duì)較差。在經(jīng)線(xiàn)下模型的特征模型訓(xùn)練后,GBDT+ 邏輯回歸模型的預(yù)測(cè)效果最好,XGBoost 模型的預(yù)測(cè)效果次之,邏輯回歸模型的預(yù)測(cè)效果相比較差。說(shuō)明先利用訓(xùn)練完成的 GBDT 模型輸出邏輯回歸模型訓(xùn)練所需要的實(shí)驗(yàn)結(jié)果和實(shí)驗(yàn)結(jié)果值,再將這些實(shí)驗(yàn)結(jié)果和實(shí)驗(yàn)結(jié)果值作為訓(xùn)練邏輯回歸模型的特征值輸入到邏輯回歸模型中進(jìn)行學(xué)習(xí)后,預(yù)測(cè)效率得到明顯提高。但總體來(lái)說(shuō),GBDT+ 邏輯回歸,XGBoost 模型對(duì)此課題的預(yù)測(cè)有較好的準(zhǔn)確性和穩(wěn)定性。并且使用 GBDT+ 邏輯回歸模型比傳統(tǒng)邏輯回歸模型有更好的預(yù)測(cè)效果、更高的預(yù)測(cè)精度。GBDT+ 邏輯回歸,XGBoost模型是比較理想的消費(fèi)預(yù)測(cè)研究模型。圖 6 所示為不同模型對(duì)比預(yù)測(cè)集提交測(cè)試 AUC 值。
7 結(jié) 語(yǔ)
本論文研究基于簡(jiǎn)單的集成模型,以 O2O 優(yōu)惠券為數(shù)據(jù)載體對(duì)消費(fèi)者領(lǐng)取優(yōu)惠券(15 天內(nèi))后對(duì)優(yōu)惠券是否核銷(xiāo)進(jìn)行了精確預(yù)測(cè)。采用簡(jiǎn)單的集成學(xué)習(xí)模型預(yù)測(cè)用戶(hù)在領(lǐng)取優(yōu)惠券后 15 天內(nèi)的使用情況。
除此之外,對(duì)于大量往期數(shù)據(jù),實(shí)際數(shù)據(jù)中無(wú)實(shí)際特征可直接使用,但這些數(shù)據(jù)中含有大量可以提取的特征,所以如何科學(xué)合理地利用應(yīng)用特征工程是一個(gè)重點(diǎn)問(wèn)題。如果沒(méi)有合理的特征工程,將極大地限制數(shù)學(xué)模型預(yù)測(cè)精度的提高。
在科技越來(lái)越發(fā)達(dá)的今天,數(shù)學(xué)模型已被大量用于醫(yī)療、餐飲、工業(yè)等領(lǐng)域,比如在醫(yī)學(xué)中使用數(shù)學(xué)模型對(duì)人體檢測(cè)數(shù)據(jù)進(jìn)行掃描,使用數(shù)學(xué)模型預(yù)測(cè)餐飲店中的消費(fèi)人數(shù)等。通過(guò)這種方式,精確預(yù)測(cè)行業(yè)運(yùn)營(yíng)及行業(yè)日常的管理對(duì)于后期事物的良性發(fā)展具有重要意義。