楊 婷,滕少華
(廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州 510006)
改進的貝葉斯分類方法在電信客戶流失中的研究與應(yīng)用
楊 婷,滕少華
(廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州 510006)
隨著電信市場競爭日益加劇,客戶流失成為運營商關(guān)注的焦點問題之一.針對電信數(shù)據(jù)量龐大且有時間序列的特點,提出一種改進的貝葉斯分類方法來研究電信客戶流失問題,通過對不同屬性加權(quán)改進了樸素貝葉斯分類器默認每個屬性對分類結(jié)果影響相同的假設(shè),進一步探討了應(yīng)用增量學(xué)習(xí)方法來應(yīng)對不斷增加的數(shù)據(jù),以改善分類器的準確率.實驗結(jié)果表明,本文的方法有較高的準確率.
貝葉斯分類; 電信數(shù)據(jù); 增量學(xué)習(xí); 客戶流失; 預(yù)測
隨著中國電信業(yè)的飛速發(fā)展和市場競爭加劇,電信產(chǎn)品及服務(wù)模式愈加豐富,用戶對產(chǎn)品與服務(wù)模式的選擇更多,客戶保持變得越來越困難.此外,獲得一個新客戶比保持原有客戶要有更大的開銷且不一定會產(chǎn)生更高的效益.因此保持原有客戶,防止客戶流失越顯重要.
客戶流失預(yù)測就是通過對客戶基本信息與歷史行為等數(shù)據(jù)進行深入分析,提煉出已流失客戶在流失前具有的特征或行為,建立客戶流失預(yù)測模型.通過模型來預(yù)測企業(yè)近期內(nèi)將可能流失的客戶,反饋一個流失預(yù)測名單給企業(yè),為企業(yè)有針對性開展業(yè)務(wù)來預(yù)防或減少客戶流失提供參考.
本文基于某電信企業(yè)的客戶實際通信數(shù)據(jù)進行深入分析,利用樸素貝葉斯分類器具有計算量少、準確度高、以概率論為理論基礎(chǔ)的特點[1],結(jié)合增量學(xué)習(xí)方法,構(gòu)建一個改進的貝葉斯分類器,研究客戶流失問題,探討并預(yù)測客戶流失情況.
1.1 貝葉斯分類原理
假設(shè)數(shù)據(jù)集為D,其屬性集為:U={A1,A2,…,An,C},其中A1,A2,…,An是樣本的屬性變量,C是有m個值C1,C2,…,Cm的類標號屬性變量.數(shù)據(jù)集D中的每個樣本X可以表示為X={x1,x2,…,xn,Cj},x1,x2,…,xn分別是A1,A2,…,An的n個取值,而Cj是所屬類的類標號值.
給定一個類標號未知的樣本X,樸素貝葉斯分類將預(yù)測X屬于具有最大后驗概率P(Cj|X)的類,即[2]:
P(Cj|X) = arg maxP(Cj|X)=
(1)
分母P(X)為常數(shù),根據(jù)貝葉斯公式和樸素貝葉斯類條件獨立性,得到樸素貝葉斯分類模型[2]:
(2)
1.2 加權(quán)樸素貝葉斯
由于各條件屬性對分類結(jié)果的重要性是不同的,因此,在實際應(yīng)用時需要改正樸素貝葉斯條件獨立性的假設(shè),將其擴展為加權(quán)樸素貝葉斯.對樸素貝葉斯分類法加權(quán),已有許多研究,Harry和Sheng[3]提出了根據(jù)屬性的重要性給不同屬性賦權(quán)值的加權(quán)樸素貝葉斯分類器;賈嫻等[4]提出了通過提取特征冗余度判別函數(shù)來為不同屬性賦權(quán)值的方法;楊敏等[5]提出了一種基于屬性約簡的偏最小二乘回歸加權(quán)樸素貝葉斯分類算法,對不同條件屬性賦權(quán)值;Dong等[6]給出了基于粗糙集的屬性加權(quán)方法,文獻[7-8]也改進了樸素貝葉斯分類算法.上述方法結(jié)合具體應(yīng)用,擴展了貝葉斯的應(yīng)用范圍.有鑒于此,本文通過信息增益來為分類屬性賦權(quán)值.
信息增益(Information Gain,IG)是信息論中一個重要概念,在IG中,重要性的度量標準就是看屬性能夠為分類系統(tǒng)帶來的信息量的大小,值越大,說明其包含的信息量也越大.屬性A給分類C帶來的信息增益為
Gain(A) =H(C) -H(C|A),
(3)
其中,
(4)
(5)
式(4)中,H(C)是類C的熵,m是類C取值個數(shù),P(Cj)是樣本中屬于類Cj的概率.
式(5)中H(C|A)是屬性A確定時的條件熵,n為屬性A取值個數(shù),P(Cj|xi)是屬性A取值xi的條件下分類為Cj的概率.
Gain(A) 就是從特征A上獲得該劃分的IG,它越大,表示該特征在給定記錄集中具有的區(qū)分度越大,對分類越重要.
通過計算每個特征屬性的信息增益Gain(Ak),得到每個特征屬性的權(quán)重為
(6)
則加權(quán)后貝葉斯分類模型變?yōu)?/p>
(7)
在數(shù)據(jù)分析之前,需要將原始數(shù)據(jù)集進行預(yù)處理,包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)歸約,以刪除噪聲數(shù)據(jù),解決數(shù)據(jù)不一致的現(xiàn)象等,以下是本文針對電信數(shù)據(jù)的預(yù)處理過程.
2.1 客戶樣本數(shù)據(jù)整理
客戶樣本數(shù)據(jù)集中包含客戶的類型、通話級別、月消費額等屬性,如果數(shù)據(jù)特征的有效值少于總記錄數(shù)據(jù)的1/5時,則刪除此類特征;如果某記錄中存在大量空缺值,而這些空缺值難以以正常方法給予補全,則刪除此類記錄.
2.2 客戶數(shù)據(jù)的集成與概化
由于數(shù)據(jù)集中缺少一些直接體現(xiàn)客戶價值和客戶流失傾向的特征,本文從時間維度對數(shù)據(jù)進行了概化,構(gòu)造了以下特征:
(1) 季度總費用:連續(xù)的12個月,分為4個季度,計算每個季度的匯總費用.
(2) 月消費比率:指下一個月與上一個月的總費用比值.根據(jù)這一原理可構(gòu)造11個月消費比率特征.用符號可表示為:
ratei= total_feei+1/total_feei,(1≤i≤11).
(3) 根據(jù)客戶在一個年度內(nèi)的消費情況可構(gòu)造未消費月份數(shù),此特征可反映樣本客戶消費情況及流失情況.對于原始數(shù)據(jù)集中連續(xù)10、11或12個月都沒有消費的客戶數(shù)據(jù),當作該客戶已流失,在本文中不考慮他們,這部分數(shù)據(jù)予以刪除.
2.3 數(shù)據(jù)屬性選擇
為了便于分析,通過計算各個屬性與類屬性的互信息并結(jié)合專家意見刪除不相關(guān)或冗余的屬性以減小數(shù)據(jù)集,減少樣本的維數(shù),降低時間和空間復(fù)雜度,簡化學(xué)習(xí)模型.通過數(shù)據(jù)預(yù)處理后,得到構(gòu)建樸素貝葉斯的特征屬性,如表1所示.
表1 特征屬性表
本文首先應(yīng)用貝葉斯算法計算先驗概率與類條件概率;再通過信息增益確定各個特征屬性的權(quán)重;最后,為避免初始樣本覆蓋范圍不全并考慮到未來的數(shù)據(jù)隨時間不斷變化的情況,通過批量加入新數(shù)據(jù),采用增量學(xué)習(xí)來修正分類器的各個參數(shù),使分類器不斷改進,具體描述如下.
3.1 分類器體系結(jié)構(gòu)
改進的貝葉斯分類器由數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理、貝葉斯建模、加權(quán)學(xué)習(xí)、增量學(xué)習(xí)等過程組成,如圖1所示.
圖1 分類器體系結(jié)構(gòu)
數(shù)據(jù)預(yù)處理參見第2部分,其他部分描述如下.
3.2 貝葉斯建模
(1) 先驗概率.
一般地,對于絕大多數(shù)電信企業(yè)來說,正??蛻襞c流失客戶的分布是不平衡的,每月流失的客戶總是少數(shù),而正??蛻粽冀^大多數(shù).通過數(shù)據(jù)統(tǒng)計分析發(fā)現(xiàn),正??蛻襞c流失客戶的比例大概為4∶1,從而得出類先驗概率.假設(shè)類屬性描述為C={0,1},其中,C=0表示流失客戶,C=1表示正常客戶,則流失客戶的先驗概率P(C=0)=0.2,正??蛻舻南闰灨怕蔖(C=1)=0.8.
(2) 類條件概率.
針對電信數(shù)據(jù)集,從用戶消費行為中可以獲知該用戶是否流失,如連續(xù)若干個月沒有消費的用戶,很可能已流失;月消費從多到少的用戶也可能會流失;而月消費從少到多的用戶,則其流失的可能性比較小.由于用戶每天的通話情況變化較大、每月電話的使用也會有較大的波動,本文采用按季度匯總數(shù)據(jù),獲取數(shù)據(jù)的趨勢來進行分析.針對樣本中連續(xù)屬性,通過統(tǒng)計分析發(fā)現(xiàn),其分布類似于正態(tài)分布,所以用正態(tài)分布來估計其類條件概率.該分布有2個參數(shù),均值μ和方差σ2,類別Cj下連續(xù)屬性xk的類條件概率等于[1]
(8)
表2 連續(xù)屬性的均值和方差
對于離散屬性,在后驗概率計算過程中,當有一個屬性的條件概率等于0,則整個類的后驗概率都等于0,簡單地使用記錄比例來估計類條件概率的方法顯得太脆弱,為避免這一問題,條件概率為0時一般采用Laplace估計來解決這個問題.類別Cj下離散屬性xk的類條件概率計算公式如式(9),最終得出的類條件概率如表3、4、5所示.
(9)
其中,v是Ak取值的個數(shù).
表3 未消費月數(shù)的類條件概率表
表4 客戶類型的類條件概率表
表5 通話級別的類條件概率表
(3) 信息增益加權(quán).
利用1.2小節(jié)中式(6),通過計算每個特征屬性的信息增益Gain(Ak),得到每個特征屬性的權(quán)重Wk,如表6所示.
表6 各個屬性的權(quán)值
3.3 加權(quán)分類器構(gòu)造
在構(gòu)造分類器前,將收集到的數(shù)據(jù)分為訓(xùn)練集D、候選增量學(xué)習(xí)樣本集D1、D2、D3及測試集T5部分,由訓(xùn)練集構(gòu)造分類模型,最后由測試集檢驗?zāi)P头诸惖臏蚀_度.分類器的構(gòu)造過程如下:
Step1:數(shù)據(jù)收集.本文以某電信公司部分客戶一年來的業(yè)務(wù)數(shù)據(jù)作為實驗數(shù)據(jù)[2],該數(shù)據(jù)集包含了156 810條記錄,每條記錄X都包含客戶基本特征和客戶行為特征以及一個類標號特征.
Step2:數(shù)據(jù)預(yù)處理.通過數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)歸約后,形成如表1所示的可用于構(gòu)建樸素貝葉斯分類器的特征屬性數(shù)據(jù).D、D1、D2、D3,T所占比重分別為 30%、 10%、 10%、 10%、40%.
Step3:對訓(xùn)練集D,計算類先驗概率和類條件概率.
Step4:對訓(xùn)練集D,根據(jù)式(6),計算每個屬性的權(quán)重.
Step5:根據(jù)各個參數(shù),構(gòu)造加權(quán)分類器.
Step6:對測試集T,由式(7),計算每個測試數(shù)據(jù)的概率,將每個測試數(shù)據(jù)X分類為概率Pi最大的那個類,獲得測試數(shù)據(jù)集的分類.
Step7:比較模型分類結(jié)果與測試數(shù)據(jù)的類屬性,計算分類準確率.
3.4 增量學(xué)習(xí)
對數(shù)據(jù)分類,一般的方法是將所有訓(xùn)練數(shù)據(jù)記錄一次讀入內(nèi)存,但當數(shù)據(jù)量非常大或者數(shù)據(jù)是分批獲得時,這些傳統(tǒng)的方法就顯示出局限性了,增量式學(xué)習(xí)是解決此問題的有效途徑,它能充分利用先驗信息和樣本信息求解此類問題[9-14].但是,電信數(shù)據(jù)量龐大,很多屬性的值因增量數(shù)據(jù)可能會變動且數(shù)據(jù)都有一定的時效性,新的數(shù)據(jù)隨時間不斷產(chǎn)生,原訓(xùn)練集的價值可能會越來越小,導(dǎo)致構(gòu)造的分類器準確率會有所下降,所以本文增加一個增量學(xué)習(xí)模塊,通過加入新的有價值的數(shù)據(jù)來修改已構(gòu)造分類器的部分參數(shù),從而有效提高分類準確率.
(1) 增量學(xué)習(xí).
本文增量學(xué)習(xí)思路是:針對候選樣本集,用已構(gòu)建好的加權(quán)貝葉斯分類模型對其進行分類,針對每一個候選樣本,分類結(jié)果分2種情況.第1種情況,此樣本分類正確,則對此類樣本不作任何處理.第2種情況,該樣本未流失但分類結(jié)果顯示流失,這存在兩種可能,一是分類結(jié)果出錯,這時需要用增量數(shù)據(jù)修正分類模型,可通過模型重構(gòu)等方法解決;二是由于客戶各種原因(諸如較長時間停用等)導(dǎo)致無通信數(shù)據(jù),這時仍需要通過增量數(shù)據(jù)修正模型,以提高分類準確率.
(2) 修正分類器參數(shù).
假設(shè)訓(xùn)練集為D,樣本X′為增量數(shù)據(jù).當將樣本X′={x1,x2,…,xn,C′}加入到訓(xùn)練集D時,要重新計算類先驗概率和類條件概率,根據(jù)Dirichlet先驗分布特性,類先驗概率和類條件概率修正方法如式(10)、(11)[9].
(10)
其中,δ是類標簽個數(shù)與訓(xùn)練集樣本數(shù)之和,j是類的個數(shù),j=1,2,…m.
(11)
其中,ζ是Ai取值個數(shù)與訓(xùn)練集中類Cj的個數(shù)之和.
由于新樣本X′的加入,使訓(xùn)練集中加入了新的樣本數(shù)據(jù),類先驗概率和類條件概率都發(fā)生了變化.通過分析式(10)和(11)可知,X′的加入,只改變了與它相關(guān)項的概率,僅需進行局部修改.
(3) 修正權(quán)值.
對新增加的候選樣本集用1.2節(jié)信息增益方法,求各個屬性的權(quán)值Wk-2,k=1, 2,…,n,然后和原訓(xùn)練集求得的權(quán)值通過整合得到新的權(quán)值.
Wk-new=αWk+βWk-2,
(12)
其中,α+β=1,α和β是兩個參數(shù),用來設(shè)置訓(xùn)練集和候選樣本集的權(quán)重.
(4) 改進的貝葉斯算法.
算法描述如下:
Input:分類器C,候選增量樣本集D1,分類錯誤的樣本集S=?;
Output:分類器C-new.
Step1:對候選樣本集D1中每個樣本進行分類,把分類錯誤的樣本保存入S;
Step2:whileS≠?,對S中每個樣本利用式(10)、(11)重新計算類先驗概率和類條件概率;
Step3:對分類錯誤的樣本集S,利用式(6)計算各個屬性的權(quán)值,利用式(12)得到修正后的權(quán)值;
Step4:更新分類器C的各個參數(shù),得到新的分類器C-new.
Step5:對測試集T,由式(7),計算每個測試數(shù)據(jù)的概率,將每個測試數(shù)據(jù)X分類為概率Pi最大的那個類,獲得測試數(shù)據(jù)集的分類.
Step6:比較模型分類結(jié)果與測試數(shù)據(jù)的類屬性,重新計算分類準確率.
為了驗證算法的有效性,利用UCI機器學(xué)習(xí)數(shù)據(jù)庫中Abalone 、Car Evaluation、Heart數(shù)據(jù)集[15]和電信行業(yè)的客戶數(shù)據(jù)對算法進行檢驗,分別求出對應(yīng)的樸素貝葉斯分類準確率、加權(quán)貝葉斯分類準確率和改進的增量學(xué)習(xí)貝葉斯分類準確率,并進行對比,結(jié)果見表7.
表7 幾種分類器準確率對比
從表7可知,加權(quán)貝葉斯分類法優(yōu)于樸素貝葉斯分類器;而通過增量學(xué)習(xí)修正貝葉斯分類器參數(shù)后的貝葉斯分類法又優(yōu)于加權(quán)貝葉斯分類法.它進一步提高了分類準確率.本文中的α=0.65、β=0.35,它們是由多次實驗獲得.
針對Car和Heart數(shù)據(jù)集,本文算法實驗結(jié)果與文獻[5]采用方法的實驗結(jié)果進行對比,結(jié)果如表8所示.
表8 與其他算法的準確率比較
另外,本文增量學(xué)習(xí)過程中得到的實驗結(jié)果見表9.
表9 本文增量學(xué)習(xí)過程中的實驗結(jié)果
從圖2中可知,隨著對候選樣本集進行增量學(xué)習(xí),分類準確率越來越高.
圖2 增量學(xué)習(xí)過程準確率變化圖
以開源數(shù)據(jù)集及某電信公司部分客戶一年來的業(yè)務(wù)數(shù)據(jù)作為實驗數(shù)據(jù)[2],引入按月/季度匯總數(shù)據(jù),獲取數(shù)據(jù)的趨勢來進行分析,選擇合適的特征屬性,通過信息增益法對特征屬性賦權(quán)值,構(gòu)建一個加權(quán)樸素貝葉斯分類器,并對其進行增量學(xué)習(xí),提高了預(yù)測客戶流失的精度.經(jīng)該電信公司確認,本文的方法能夠更好地把握客戶流失傾向,及時采取有效的挽留措施,降低客戶流失概率,這為運營商提供了有效的決策支持.
[1] Jiang L X,Zhang H , Cai Z H.A novel bayes model :hidden na?ve bayes [J]. IEEE Transactions on Knowledge and Data Engineering(TKDE),2009, 21(10):1361-1371.
[2] 蔣盛益,李霞,鄭琪.數(shù)據(jù)挖掘原理與實踐[M].北京:電子工業(yè)出版社.2013.
[3] Harry Z, Sheng S L. Learning weighted naive bays with accurate ranking[C]∥Proceedings of the 4th IEEE International Conference on Data Mining(ICDM 04), Brighton, UK: [s.n.], 2004:567-570.
[4] 賈嫻,劉培玉,公偉.基于改進屬性加權(quán)的樸素貝葉斯入侵取證研究[J].計算機工程與應(yīng)用,2013,49(7):81-84.
Jia X,Liu P Y,Gong W. Research of intrusion forensics based on improved attribute weighted naive Bayes[J]. Computer Engineering and Applications, 2013,49(7):81-84.
[5] 楊敏,賀興時,劉平麗,等.基于屬性約簡的PLS加權(quán)樸素貝葉斯分類器[J].西安工程大學(xué)學(xué)報,2013,27(1):118-121.
Yang M,He X S,Liu P L. Weighted naive Bayes classifier based on attribute reduction-PLS[J]. Journal of Xi'an Polytechnic University , 2013, 27(1): 118-121.
[6] Dong W B,Wang G Y, Wang Y. Weighted naive Bayesian classification algorithm based on rough set[J].Computer Science,2007, 34(2): 204-206.
[7] 宮秀軍,孫建平,史忠植.主動貝葉斯網(wǎng)絡(luò)分類器[J].計算機研究與發(fā)展,2002,39(5):574-579.
Gong X J,Sun J P,Shi Z Z. An active Bayes network classifier[J]. Computer Research and Development, 2002,39(5):574-579.
[8] Yager R. An extension of the naive Bayesian classifier[J].Information Sciences,2006, 176(5): 577- 588.
[9] 宮秀軍,劉少輝,史忠植.一種增量貝葉斯分類模型[J].計算機學(xué)報,2002,25(6):645-650.
Gong X J,Liu S H,Shi Z Z. An incremental Bayes classification model[J]. Chinese Journal of Computers, 2002,25(6):645-650.
[10] 秦鋒,任詩流,程澤凱,等.基于屬性加權(quán)的樸素貝葉斯分類算法[J].計算機工程與應(yīng)用,2008,44(6):107-109.
Qin F,Ren S L,Cheng Z K,et al. Attribute weighted Naive Bayes classification[J]. Computer Engineering and Applications, 2008,44(6):107-109.
[11] 陳亮,鄭寧,郭艷華,等.樸素貝葉斯增量學(xué)習(xí)在病毒上的報分析中的應(yīng)用[J].計算機應(yīng)用與軟件,2010,27(1):92-95.
Chen L, Zheng N, Guo Y H,et al. Appliying nive Bayesian incremental learning in virus reporting and analysing[J]. Computer Applications and Software, 2010, 27(1): 92-95.
[12] 張全新,鄭建軍,牛振東,等.貝葉斯分類器集成的增量學(xué)習(xí)方法[J].北京理工大學(xué)學(xué)報,2008,28(5):397-400.
Zhang Q X, Zheng J J, Niu Z D,et al.Increment learning algorithm based on Bayesian classifier integration[J].Transactions of Beijing Institute of Technology,2008,28(5):397-400.
[13] 余承依.基于貝葉斯增量分類的郵件過濾研究[J].科學(xué)技術(shù)與工程.2009,9(9):2556-2561.
Yu C Y.Research of mail filtering based on bayesian incremental classification[J].Science Technology and Engineering, 2009,9(9):2556-2561.
[14] 羅福星.增量學(xué)習(xí)樸素貝葉斯中文分類系統(tǒng)的研究[D].長沙: 中南大學(xué)軟件學(xué)院,2008.
[15] University of California, Irvine. UCI Machine Learning Repository [DB/OL].[2014-12-05].http:∥archive.ics.uci.edu/ml/.
Research and Application of Improved Bayes Algorithm for the Telecommunication Customer Churn
Yang Ting, Teng Shao-hua
(School of Computers, Guangdong University of Technology, Guangzhou 510006, China)
With the increasing competition of telecom market, customer churn became one of the focused problems. Because the telecommunication data is huge and has the characteristic of time series, this paper proposes an improved Bayesian classification to study the customer churn problem. The improved Bayesian classification model is designed to make up for the shortcomings of the former Bayes which assumed that each attribute has the same effect on the classification results. Furthermore, by coping with the increasing data, this paper explores the incremental learning method to improve the accuracy of the classifier. The experimental results show that the proposed method has higher accuracy.
Bayesian classification; telecommunication data; incremental learning method; customer churn; prediction
2014- 03- 13
教育部重點實驗室基金資助項目(110411);廣東省自然科學(xué)基金資助項目(10451009001004804,9151009001000007);廣東省科技計劃項目(2012B091000173,2013B090200017,2013B010401029,2013B010401034);廣州市科技計劃項目(2012J5100054, 2013J4500028)
楊 婷(1990-),女,碩士研究生,主要研究方向為數(shù)據(jù)挖掘.
10.3969/j.issn.1007- 7162.2015.03.013
TP393
A
1007-7162(2015)03- 0067- 06