沈江明,孫 凱,曾志勇
(1.中國(guó)電信股份有限公司云南分公司,云南 昆明 650000;2.云南財(cái)經(jīng)大學(xué)統(tǒng)計(jì)與數(shù)學(xué)學(xué)院,云南 昆明 650000;3.云南財(cái)經(jīng)大學(xué)信息學(xué)院,云南 昆明 650000;4.云南省高校數(shù)據(jù)化運(yùn)營(yíng)管理工程研究中心,云南 昆明 650000)
客戶(hù)流失一直都是很多行業(yè)需要關(guān)注的問(wèn)題,在新客戶(hù)開(kāi)發(fā)面臨瓶頸的時(shí)刻,如何對(duì)原有客戶(hù)采取措施保留,是一項(xiàng)非常重要的問(wèn)題。在20 多年以來(lái),出現(xiàn)了大量關(guān)于電信客戶(hù)流失的研究,主要包括對(duì)數(shù)據(jù)傾斜問(wèn)題的處理和模型的構(gòu)建。這其中多為傳統(tǒng)算法或者是對(duì)算法改進(jìn)的單一算法,而單一算法無(wú)法在復(fù)雜的客戶(hù)流失問(wèn)題上持續(xù)保持好的結(jié)果。針對(duì)這一問(wèn)題,本文嘗試將數(shù)據(jù)傾斜處理方法與模型構(gòu)建相結(jié)合的策略進(jìn)行系統(tǒng)構(gòu)建,不僅可以有效解決數(shù)據(jù)傾斜的問(wèn)題,而且模型分類(lèi)效果要優(yōu)于傳統(tǒng)分類(lèi)算法。
通過(guò)對(duì)文獻(xiàn)的了解發(fā)現(xiàn),相關(guān)的研究多體現(xiàn)在兩個(gè)方面:數(shù)據(jù)不均衡問(wèn)題處理和模型構(gòu)建。
在不均衡數(shù)據(jù)處理方面。國(guó)外的Ha 等人首次利用了遺傳算法可以獲取最優(yōu)解的特點(diǎn),利用該算法獲取最優(yōu)子數(shù)據(jù)集,來(lái)更好的反應(yīng)多數(shù)類(lèi)樣本的信息[1]。國(guó)內(nèi)的郭娜娜基于差異度的角度對(duì)數(shù)據(jù)不均衡處理方法進(jìn)行改進(jìn)并提出了IDBC 算法,對(duì)于數(shù)據(jù)傾斜問(wèn)題的處理很有效[2]。
在分類(lèi)算法改進(jìn)方面。傳統(tǒng)的模型多為單一模型的改進(jìn)。比如張宇等通過(guò)決策樹(shù)來(lái)構(gòu)建模型,并將該模型應(yīng)用到實(shí)際業(yè)務(wù)中,驗(yàn)證了該模型的有效性,可以為企業(yè)進(jìn)行客戶(hù)保留提供幫助[3]。馬文斌等在客戶(hù)流失模型構(gòu)建中運(yùn)用了深度神經(jīng)網(wǎng)絡(luò),并將模型預(yù)測(cè)結(jié)果與邏輯回歸和決策樹(shù)等模型進(jìn)行比較,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)具有更好的預(yù)測(cè)結(jié)果[4]。國(guó)外的Hung,xu,Chu 三位學(xué)者均利用BP 網(wǎng)絡(luò)構(gòu)建流失模型,并取得了非常好的預(yù)測(cè)效果[5-7]。隨著分類(lèi)算法的技術(shù)和理論不斷改進(jìn),發(fā)現(xiàn)集成算法有更好的分類(lèi)效果。比如國(guó)內(nèi)學(xué)者王純麟和何建敏就第一次應(yīng)用了集成算法,構(gòu)建了AdaBoost 模型,根據(jù)實(shí)際數(shù)據(jù)的驗(yàn)證結(jié)果顯示,此模型較傳統(tǒng)的BP 模型、貝葉斯模型、C4.5 模型和邏輯回歸模型都有更好的預(yù)測(cè)結(jié)果[8]。
雖然上述研究中對(duì)不均衡數(shù)據(jù)的處理有一定的貢獻(xiàn),但是研究的焦點(diǎn)僅從單一維度進(jìn)行處理,存在著很明顯的問(wèn)題。除此之外,在分類(lèi)模型的構(gòu)建中,由于優(yōu)秀的分類(lèi)能力,集成模型得到了廣泛認(rèn)可,但是對(duì)于基模型的選擇僅為樹(shù)模型,基模型的差異度過(guò)低,使得效果提升不明顯。
為解決上述問(wèn)題,本文綜合了數(shù)據(jù)傾斜問(wèn)題的處理以及組合模型的組合策略來(lái)構(gòu)建一個(gè)模型。針對(duì)不均衡數(shù)據(jù)的處理,本文從兩個(gè)方向進(jìn)行數(shù)據(jù)采樣,即對(duì)多數(shù)類(lèi)欠采樣,對(duì)少數(shù)類(lèi)smote 過(guò)采樣。針對(duì)算法改進(jìn),本文依舊基于差異性的原則,選擇4 個(gè)差異性較大的基分類(lèi)器進(jìn)行線(xiàn)性組合,不同的是數(shù)據(jù)輸入。具體過(guò)程:按照數(shù)據(jù)傾斜問(wèn)題的處理方式,重復(fù)進(jìn)行4次,每一次都會(huì)形成一個(gè)子數(shù)據(jù)集,并且根據(jù)抽樣方法,每次得到的子數(shù)據(jù)集都不相同,而且這4 個(gè)子數(shù)據(jù)集幾乎涵蓋了原數(shù)據(jù)所有的多數(shù)類(lèi)樣本信息,將每一個(gè)子數(shù)據(jù)集用于一個(gè)基分類(lèi)器的構(gòu)建,然后對(duì)訓(xùn)練好的基模型進(jìn)行融合,從而構(gòu)建本文的組合模型。
本文構(gòu)建的模型一方面充分利用了數(shù)據(jù)樣本信息,有效解決了數(shù)據(jù)嚴(yán)重傾斜的問(wèn)題;另一方面將數(shù)據(jù)處理方法與組合模型構(gòu)建進(jìn)行了有效結(jié)合。最后將構(gòu)建的模型應(yīng)用于實(shí)際的企業(yè)數(shù)據(jù)來(lái)評(píng)估模型。
2.1.1 邏輯回歸算法
邏輯回歸的本質(zhì)是通過(guò)將線(xiàn)性回歸結(jié)果進(jìn)行非線(xiàn)性的轉(zhuǎn)化來(lái)達(dá)到分類(lèi)效果的。模型的返回值是處于0~1 之間的一個(gè)類(lèi)別概率,通常以0.5 為分界點(diǎn),概率值大于0.5 的歸為類(lèi)別“1”,反之歸為類(lèi)別“0”。
假設(shè)數(shù)據(jù)中有m個(gè)特征,分別用X′=(x1,x2,…,xm)表示;根據(jù)類(lèi)別發(fā)生的對(duì)應(yīng)概率為條件概率,用P(Y=1|x)=p表示,則邏輯回歸的模型如式(1)所示,其中g(shù)(x)可以看作線(xiàn)性回歸的預(yù)測(cè)函數(shù)。
2.1.2 支持向量機(jī)算法
支持向量機(jī)分類(lèi)性能優(yōu)越,在企業(yè)中被廣泛應(yīng)用,模型原理是在眾多的分類(lèi)面中尋找邊際最大的那一個(gè),求解的方法是將問(wèn)題轉(zhuǎn)化為凸二次規(guī)劃。若在二分類(lèi)問(wèn)題中,存在一條直線(xiàn)可以將數(shù)據(jù)點(diǎn)分成兩類(lèi),若是在三維空間,則存在一個(gè)平面使得這些數(shù)據(jù)被分成兩類(lèi),如果這些數(shù)據(jù)點(diǎn)屬于n維空間,那么在n維空間有一個(gè)超平面,將數(shù)據(jù)點(diǎn)分為兩類(lèi)。
支持向量機(jī)通過(guò)調(diào)節(jié)核函數(shù)起到非線(xiàn)性擬合的作用,不同的核函數(shù)起到不同的擬合機(jī)制。因?yàn)閮H與支持向量有關(guān)系,所以支持向量機(jī)具有分類(lèi)效果好,性能魯棒的特點(diǎn)。
2.1.3 XGBOOST 算法
XGBoost 算法是GBDT 的一種工程化實(shí)現(xiàn),GBDT 算法每一次訓(xùn)練都會(huì)生成一個(gè)基模型,并且基模型是根據(jù)模型殘差進(jìn)行訓(xùn)練的,即一步步降低模型的分類(lèi)誤差,如此不斷的迭代下去,形成若干個(gè)基分類(lèi)器,并進(jìn)行線(xiàn)性加權(quán)。通過(guò)這種訓(xùn)練方式來(lái)不斷的降低損失。XGBoost 算法的表達(dá)式如式(2):
其中n表示樣本數(shù)量。模型的好壞一方面取決于模型的方差,一方面取決于模型的偏差。
2.1.4 神經(jīng)網(wǎng)絡(luò)算法
神經(jīng)網(wǎng)絡(luò)以海量數(shù)據(jù)并行計(jì)算為基礎(chǔ),一般包括三個(gè)層級(jí)結(jié)構(gòu):輸入層、隱藏層和輸出層。層與層之間都存在權(quán)重,且神經(jīng)元中都存在連接函數(shù),進(jìn)行非線(xiàn)性轉(zhuǎn)化。圖1 為典型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP 神經(jīng)網(wǎng)絡(luò)是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)算法,其輸出表達(dá)式如式(3)所示:
其中ωij為連接權(quán)系數(shù);fi為激活函數(shù);xi為神經(jīng)元輸入;θj為神經(jīng)元閾值。BP 網(wǎng)絡(luò)通過(guò)對(duì)維度的調(diào)整,實(shí)現(xiàn)將問(wèn)題轉(zhuǎn)化為更高維度進(jìn)行處理,并通過(guò)不斷的迭代來(lái)修正連接權(quán)重和閾值,使得輸出誤差達(dá)到最小。
2.1.5 組合預(yù)測(cè)算法
隨著技術(shù)的發(fā)展,越來(lái)越多的學(xué)者選擇將多種算法進(jìn)行組合,充分發(fā)揮多種算法的優(yōu)勢(shì)。組合模型更加穩(wěn)健,可以充分利用樣本信息,預(yù)測(cè)結(jié)果也更加可靠。
假設(shè)有K個(gè)子模型,則線(xiàn)性集成的數(shù)學(xué)表達(dá)式如式(4)所示:
本文將重點(diǎn)研究線(xiàn)性集成和數(shù)據(jù)傾斜處理相結(jié)合的方式,來(lái)構(gòu)建流失模型,權(quán)重是通過(guò)拉格朗日函數(shù)求解的。
本文選擇了多種評(píng)估方法進(jìn)行模型比較,其中包括了F1 值、AUC 值、少數(shù)類(lèi)樣本的預(yù)測(cè)精確率和犯兩類(lèi)錯(cuò)誤率:FNR 和FPR,其中FNR 表示錯(cuò)分為不流失的樣本在總樣本的占比,F(xiàn)PR 表示錯(cuò)分為流失的樣本在總樣本的占比。
模型所用的訓(xùn)練以及測(cè)試數(shù)據(jù)均來(lái)自于某電信公司的寬帶客戶(hù)行為數(shù)據(jù),訓(xùn)練集和測(cè)試集的介紹如表1 所示。
表1 電信寬帶數(shù)據(jù)集的數(shù)據(jù)描述
針對(duì)4 種單模型的特點(diǎn),模型在輸出類(lèi)別“0”和“1”時(shí)伴隨著類(lèi)別概率,為了提高模型的分類(lèi)準(zhǔn)確率,本文擬將類(lèi)別概率作為各基模型的預(yù)測(cè)得分,用于線(xiàn)性組合。為了防止模型將少數(shù)類(lèi)樣本過(guò)多的預(yù)測(cè)為少數(shù)類(lèi),引入了第I 類(lèi)分類(lèi)錯(cuò)誤率,作為權(quán)重系數(shù)的懲罰項(xiàng)。構(gòu)造的損失函數(shù)[9]如式(5)所示。
通過(guò)極小化損失函數(shù)來(lái)獲取組合模型的最優(yōu)權(quán)重。fi,gi,hi,ki分別為L(zhǎng)R、SVM、BP 網(wǎng)絡(luò)和XGBOOST 模型的預(yù)測(cè)得分值,且預(yù)測(cè)得分表示的模型在輸出類(lèi)別時(shí)對(duì)應(yīng)的類(lèi)別概率;λ為拉格朗日算子;αk為單模型對(duì)應(yīng)的的權(quán)重,且k=1,2,3,4;ωi犯第I類(lèi)錯(cuò)誤率,且i=1,2,3,4;由于函數(shù)L(α1,α2,α3,α4)為二次凸函數(shù),故有唯一的極值,即最小值,并利用python 求出最優(yōu)權(quán)重,設(shè)為組合模型的類(lèi)別預(yù)測(cè)概率,則結(jié)果如式(6)所示:
本文組合模型的流程圖如圖2 所示。
圖2 模型訓(xùn)練流程
該方法的好處在于通過(guò)從兩個(gè)方向?qū)?shù)據(jù)進(jìn)行抽樣,可以緩和抽樣本身的缺點(diǎn)。此外,四次抽樣的數(shù)據(jù)集均不一樣,尤其對(duì)多數(shù)類(lèi)樣本的利用更加充分,丟失的信息也非常少。最后通過(guò)組合模型的構(gòu)建,對(duì)單模型進(jìn)行整合,使得最終的組合模型具有很好的效果。
分別對(duì)單模型、投票模型和本文模型進(jìn)行結(jié)果比較,從模型的F1 值、AUC 值以及對(duì)少數(shù)類(lèi)樣本的預(yù)測(cè)命中率三個(gè)指標(biāo)對(duì)模型的預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià),結(jié)果如圖3 所示。
圖3 各模型預(yù)測(cè)結(jié)果分析
圖3 結(jié)果顯示:在所有指標(biāo)中,組合模型均表現(xiàn)出更好的結(jié)果,其中組合模型的F1 值提高了2.3%(相比較較其他最優(yōu)模型,下同),對(duì)少數(shù)類(lèi)樣本的預(yù)測(cè)命中率提高了2.1%,AUC 值也提高了0.01。組合模型表現(xiàn)出更加穩(wěn)定優(yōu)越的性能,大大提升了客戶(hù)流失的預(yù)測(cè)能力,對(duì)少數(shù)類(lèi)(流失類(lèi))客戶(hù)預(yù)測(cè)的命中率達(dá)到了78.7%,高于該企業(yè)之前模型達(dá)到的76.3%。
為了更直觀的比較各模型的分類(lèi)性能,本文引入了兩類(lèi)分類(lèi)錯(cuò)誤率,從另一方面對(duì)模型進(jìn)行評(píng)價(jià),結(jié)果如圖4 所示。
圖4 各模型的兩類(lèi)分類(lèi)錯(cuò)誤率
圖4 的結(jié)果顯示,組合預(yù)測(cè)模型犯第一類(lèi)錯(cuò)誤的錯(cuò)誤率僅為0.62%,遠(yuǎn)低于其他模型,犯第II 類(lèi)錯(cuò)誤的錯(cuò)誤率為1.23%,也是優(yōu)于其他模型。綜合比較上述結(jié)果,可以發(fā)現(xiàn)本文的組合模型是合理有效的。
現(xiàn)階段下,客戶(hù)流失已不僅僅存在于通信業(yè),在其他行業(yè)同樣是一個(gè)需要面臨的問(wèn)題。利用數(shù)據(jù)挖掘技術(shù),通過(guò)對(duì)數(shù)據(jù)的認(rèn)識(shí),來(lái)發(fā)現(xiàn)新的信息,通過(guò)對(duì)信息的利用,進(jìn)而幫助企業(yè)制定一些決策,挽留客戶(hù),達(dá)到盈利的目的。本文對(duì)模型的構(gòu)建綜合考慮了數(shù)據(jù)傾斜問(wèn)題的處理和組合模型的構(gòu)建,基于差異性選擇了四種基分類(lèi)器,在抽樣數(shù)據(jù)集的基礎(chǔ)上對(duì)基分類(lèi)器一一進(jìn)行訓(xùn)練,并將訓(xùn)練好的單模型進(jìn)行加權(quán)求和,來(lái)構(gòu)建本文模型。將組合模型用于真實(shí)的企業(yè)數(shù)據(jù),實(shí)現(xiàn)隔月預(yù)測(cè)。并且結(jié)果顯示,本文構(gòu)建的模型表現(xiàn)出更加優(yōu)越的效果,大大挽回了企業(yè)的損失,具有很大的現(xiàn)實(shí)意義。