楊 超,李衛(wèi)民
1(上海立信會(huì)計(jì)金融學(xué)院 金融科技學(xué)院,上海 201209) 2(上海大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200444)
客戶對(duì)于每個(gè)企業(yè)來(lái)講都是極其重要的資源.金融行業(yè)是客戶密集型服務(wù)業(yè),無(wú)論銀行、證券公司還是保險(xiǎn)公司都有著數(shù)量龐大的客戶群體.金融企業(yè)若想提供專業(yè)而又個(gè)性化的服務(wù),就必須深入了解客戶,并對(duì)客戶進(jìn)行恰當(dāng)分類管理.金融行業(yè)一方面業(yè)務(wù)范圍廣闊,產(chǎn)品種類豐富,另一方面金融客戶遍布所有的社會(huì)階層,構(gòu)成復(fù)雜,需求多樣化.對(duì)金融客戶的分類往往需要根據(jù)具體產(chǎn)品進(jìn)行針對(duì)性地設(shè)計(jì)和實(shí)現(xiàn)[1].
隨著互聯(lián)網(wǎng)金融和金融科技的快速發(fā)展,金融行業(yè)不斷積累客戶數(shù)據(jù),同時(shí)大數(shù)據(jù)與人工智能技術(shù)為金融客戶分類提供了更多技術(shù)選擇.依據(jù)客戶與產(chǎn)品數(shù)據(jù)信息進(jìn)行恰當(dāng)?shù)姆诸惻c對(duì)接,對(duì)金融服務(wù)的提質(zhì)增效有重要意義.金融客戶分類歸根結(jié)底屬于分類問(wèn)題,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)算法為我們提供了豐富的理論依據(jù)與技術(shù)參考.本文將樸素貝葉斯等算法與具體金融客戶分類任務(wù)相結(jié)合,討論了樣本標(biāo)注、數(shù)據(jù)離散化、模型訓(xùn)練、分類偏好等問(wèn)題,對(duì)幾種分類算法進(jìn)行了實(shí)驗(yàn)比較,發(fā)現(xiàn)基于數(shù)據(jù)離散化的樸素貝葉斯分類效果最優(yōu),通過(guò)對(duì)連續(xù)特征值的適當(dāng)離散化可以調(diào)節(jié)分類偏好.方法對(duì)于提升金融產(chǎn)品銷售,降低營(yíng)銷成本有參考價(jià)值.
貝葉斯算法具有突出的不確定性表達(dá)能力,能夠綜合利用先驗(yàn)知識(shí)和數(shù)據(jù)樣本信息,是分類問(wèn)題常用的技術(shù)方法.貝葉斯分類算法有很多分支,包括樸素貝葉斯分類算法、樹拓展樸素貝葉斯分類算法、貝葉斯網(wǎng)絡(luò)分類算法以及貝葉斯神經(jīng)網(wǎng)絡(luò)分類算法等[2,3].盡管新型貝葉斯分類算法不斷出現(xiàn),樸素貝葉斯分類算法因其操作簡(jiǎn)單、分類準(zhǔn)確性相對(duì)較高,在實(shí)際工作中仍被大量采用[4,5],尤其是在特征屬性較少的情況下.
樸素貝葉斯分類技術(shù)被廣泛應(yīng)用于金融各領(lǐng)域.Hagenau等[6]利用樸素貝葉斯、支持向量機(jī)等技術(shù)對(duì)市場(chǎng)消息進(jìn)行文本挖掘,分析文本情緒,研究文本情緒對(duì)股票市場(chǎng)的影響,研究結(jié)果證實(shí)影響確實(shí)存在.Joshi Kalyani等[7]分別利用隨機(jī)森林、支持向量機(jī)、樸素貝葉斯構(gòu)建了3類分類器,研究財(cái)經(jīng)新聞與股票價(jià)格走勢(shì)的關(guān)系,證實(shí)分類器有效.Kirange等[8]使用樸素貝葉斯、K最近鄰算法、支持向量機(jī)等將股市新聞進(jìn)行恰當(dāng)分類,將預(yù)測(cè)結(jié)果與人工標(biāo)注進(jìn)行比較,實(shí)驗(yàn)顯示預(yù)測(cè)準(zhǔn)確率方面支持向量機(jī)最高,樸素貝葉斯次之.駱樺等[9]以上市公司財(cái)務(wù)指標(biāo)為特征集,構(gòu)建樸素貝葉斯分類器,作為選股工具,累計(jì)投資回報(bào)率優(yōu)于基準(zhǔn)回報(bào)率.
客戶分類研究起步于上世紀(jì)50年代,近年來(lái)隨著電子商務(wù)的發(fā)展,特別是大數(shù)據(jù)時(shí)代的到來(lái)而達(dá)到頂峰.廣泛應(yīng)用于電子商務(wù)系統(tǒng)、社交系統(tǒng)、自媒體系統(tǒng)中的個(gè)性化推薦技術(shù)大多都是從用戶分類技術(shù)發(fā)展而來(lái)的[10,11].
金融業(yè)屬于客戶密集型服務(wù)行業(yè),由于業(yè)務(wù)復(fù)雜性和監(jiān)管復(fù)雜性的同時(shí)存在,金融客戶分類變的重要、敏感[12].隨著金融科技的發(fā)展,包括貝葉斯技術(shù)在內(nèi)的數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)技術(shù)被廣泛應(yīng)用于金融用戶分類相關(guān)領(lǐng)域.劉亞等人[13]針對(duì)金融擔(dān)保圈風(fēng)險(xiǎn)提出一種特征選擇算法,從金融客戶及交易特征集中挑選出能覆蓋大多數(shù)原始數(shù)據(jù)信息、無(wú)冗余的特征子集,分別用邏輯回歸、RF、決策樹、貝葉斯網(wǎng)絡(luò)等技術(shù)建立擔(dān)保圈風(fēng)險(xiǎn)識(shí)別模型,發(fā)現(xiàn)邏輯回歸具有最好的風(fēng)險(xiǎn)識(shí)別準(zhǔn)確率.張成虎等[14]對(duì)金融客戶及其交易信息進(jìn)行層次分析,將數(shù)據(jù)挖掘與金融知識(shí)相結(jié)合,總結(jié)出可疑金融交易特征,最后利用貝葉斯分類技術(shù)識(shí)別和發(fā)現(xiàn)非法金融交易,為反洗錢監(jiān)測(cè)提供快速準(zhǔn)確的參考.
貝葉斯分類以完善的貝葉斯定理為基礎(chǔ),有較強(qiáng)的模型表示、學(xué)習(xí)和推理能力,同時(shí)表現(xiàn)出高效率和高準(zhǔn)確性,尤其適用于小規(guī)模數(shù)據(jù)集的學(xué)習(xí).
樣本空間S中每個(gè)樣本X都可以表示為一個(gè)n維特征向量X={x1,x2,x3,…,xn},每個(gè)分量對(duì)應(yīng)樣本的n個(gè)特征變量A1,A2,A3,…,An.假定樣本空間S對(duì)應(yīng)m個(gè)可能類型C1,C2,C3,…,Cm,貝葉斯分類就是尋找條件X下概率最大的Ci,以此作為該樣本的分類類別.
根據(jù)貝葉斯定理,
(1)
P(X)與類別無(wú)關(guān)是常數(shù),樣本的分類取決于p(X|Ci)p(Ci),P(Ci)被稱為類別的先驗(yàn)概論,可以用P(Ci)=si/s計(jì)算,其中si為類比為Ci的訓(xùn)練樣本數(shù)量,s為訓(xùn)練樣本總數(shù).樸素貝葉斯分類是一種基于特征條件獨(dú)立假設(shè)的分類方法,由此假設(shè)可得:
(2)
以此簡(jiǎn)化計(jì)算.對(duì)于離散型特征,式(2)可以通過(guò)統(tǒng)計(jì)計(jì)算,對(duì)于連續(xù)型特征,則需要對(duì)數(shù)據(jù)進(jìn)行離散化或者構(gòu)造其概率分布函數(shù).
圖1 樸素貝葉斯分類實(shí)施流程Fig.1 Classification process of naive bayesian
樸素貝葉斯分類器的實(shí)施過(guò)程可以表示為圖1.分為特征選擇、樣本收集與標(biāo)注、數(shù)據(jù)預(yù)處理、模型訓(xùn)練、預(yù)測(cè)與評(píng)價(jià)幾個(gè)階段.
本文來(lái)源于某銀行金融產(chǎn)品銷售的現(xiàn)實(shí)需求,首先對(duì)銀行現(xiàn)有金融客戶進(jìn)行初步篩選,并將產(chǎn)品信息進(jìn)行定向推銷測(cè)試,收集客戶對(duì)產(chǎn)品的態(tài)度反饋,結(jié)合銀行已有客戶數(shù)據(jù),構(gòu)建原始數(shù)據(jù)樣本集,以期從中發(fā)現(xiàn)規(guī)律,分類未來(lái)客戶,最終實(shí)現(xiàn)精準(zhǔn)營(yíng)銷的目的.
以客戶對(duì)于金融產(chǎn)品的態(tài)度反饋為依據(jù),將客戶分為兩種類別:積極和消極,分別用1(CLASS=1)和0(CLASS=0)表示,CLASS即為目標(biāo)變量.因此,這里的金融客戶分類是一個(gè)二分類問(wèn)題.顯然,分類過(guò)程應(yīng)更多關(guān)注“積極”客戶(CLASS=1),他們是將來(lái)重點(diǎn)營(yíng)銷的對(duì)象,是這里的分類偏好.
銀行首先依據(jù)客戶的收入狀況對(duì)其進(jìn)行初步篩選,以中高收入者為目標(biāo)對(duì)象,借助網(wǎng)站、APP客戶端定向推銷該金融產(chǎn)品.依據(jù)客戶的對(duì)待產(chǎn)品的態(tài)度,例如產(chǎn)品瀏覽頻次q、瀏覽時(shí)長(zhǎng)t、以及是否有購(gòu)買b、收藏s、推薦r等行為B,分類標(biāo)注客戶u.
算法1.客戶積極性算法AUA,用于完成客戶標(biāo)注
輸入:客戶集U,積極性標(biāo)準(zhǔn)K
輸出:客戶分類向量c
Begin
1.c←[] // 初始化客戶分類向量
2.foruinU:
3. if(u.q>=Kq) or (u.t>=Kt) or?(b,s,r)∈u.B:
//高頻關(guān)注商品或長(zhǎng)時(shí)間研究商品或有購(gòu)買、收藏、推薦行為之一
4.c←c+[1] // 標(biāo)注為“積極”,即CLASS=1
5. else:
6.c←c+[0] // 標(biāo)注為“消極”,即CLASS=0
7. returnc
End
在AUA算法中,可以根據(jù)銷售策略及銷售預(yù)算適度調(diào)整“積極”的設(shè)定標(biāo)準(zhǔn)K.標(biāo)準(zhǔn)設(shè)定的高,有利于提升精準(zhǔn)營(yíng)銷的成功率,但潛在客戶流失的可能性也會(huì)隨之增大.
特征選擇是從可用特征集合中選擇那些重要的,與任務(wù)相關(guān)的特征子集的過(guò)程.這里選擇了客戶年齡(AGE)、性別(GENDER)、收入水平(INCOME)、理財(cái)經(jīng)歷(EXPER)4個(gè)特征,一方面是因?yàn)殂y行可獲得客戶數(shù)據(jù)的局限性,另一方面更多地考慮客戶特征與金融產(chǎn)品的相關(guān)性.利用數(shù)據(jù)可視化技術(shù)可以觀察特征與類別的相關(guān)性.
年齡由客戶生日或身份證信息轉(zhuǎn)發(fā)而來(lái),雖本質(zhì)上是離散型數(shù)據(jù),但由于數(shù)據(jù)樣本小,存在缺失年齡.年齡缺失狀態(tài)下,式(2)因p(AGE|ci)=0為0,最終導(dǎo)致無(wú)法分類客戶.將年齡離散化,即將一定值域內(nèi)的年齡映射為一個(gè)特征值,可以解決部分年齡缺失問(wèn)題.
貝葉斯分類算法要求特征值離散或可近似為概論分布函數(shù).如前所述,小數(shù)據(jù)樣本情況下,客戶年齡需視為連續(xù)型特征.如圖3、圖4所示,通過(guò)可視化分析,年齡數(shù)據(jù)分布規(guī)律性不顯著,但有階段性特征,可以通過(guò)數(shù)據(jù)劃分,實(shí)現(xiàn)數(shù)據(jù)離散化.對(duì)客戶收入水平可視化分析發(fā)現(xiàn),該屬性數(shù)據(jù)同時(shí)具有一定統(tǒng)計(jì)分布規(guī)律和階段化分布特征,故分別采用數(shù)據(jù)離散化和概率分布函數(shù)假設(shè)兩種方式處理.
年齡與收入水平數(shù)據(jù)的離散化過(guò)程描述如下,以年齡為例,收入水平離散化過(guò)程類似.算法描述基于python語(yǔ)言,np代表科學(xué)計(jì)算包Numpy.
算法2.年齡、收入水平數(shù)據(jù)分段ADS,用于實(shí)現(xiàn)全部樣本數(shù)據(jù)離散化
輸入:帶標(biāo)注的客戶數(shù)據(jù)U,異常數(shù)據(jù)濾除率κ
輸出:年齡分段向量r
Begin
1.r←[] // 初始化年齡分段向量
2.UCLASS=1←U[U[′CLASS′]==1]//獲取全部“積極”客戶
3.A←UCLASS=1[′AGE′] // 獲取全部“積極”客戶的年齡
4.na=np.array(A.values) // 獲取年齡矩陣
5.r←[np.percentile(na,κ),np.percentile(na,100-κ)]
//利用分位數(shù)函數(shù)將年齡值域分成3段
6.returnr
End
圖2為年齡離散化示意圖,“*”表示“積極”客戶的年齡,“+”表示“消極”客戶的年齡.ADS算法本質(zhì)上是根據(jù)“積極”客戶的年齡分布,將所有客戶年齡分成3段,從而實(shí)現(xiàn)連續(xù)型數(shù)據(jù)的離散化,積極客戶的年齡集中分布于中高年齡段.參數(shù)κ用于濾除分布異常的年齡數(shù)據(jù).年齡、收入水平離散化后,對(duì)各個(gè)分段利用離散標(biāo)識(shí)(如0,1,2或a,b,c)進(jìn)行區(qū)別標(biāo)注.參數(shù)κ影響數(shù)據(jù)離散化,并最終影響客戶分類效果.
圖2 年齡離散化示意圖Fig.2 Discretization of age data
在對(duì)客戶年齡離散化時(shí),選擇以“積極”客戶為依據(jù),而不是以“消極”客戶依據(jù)或綜合考慮所有客戶,是基于“積極”客戶為客戶分類偏好這一事實(shí)的.
客戶的年齡數(shù)據(jù)、收入水平數(shù)據(jù)離散化后,使用樸素貝葉斯算法構(gòu)建分類模型,標(biāo)記為NBBDD(NBBDD,Naive Bayesian Based on Data Discretization).
假定客戶收入數(shù)據(jù)滿足高斯分布,即有式(3)成立.
(3)
x為客戶收入水平.μ估計(jì)為客戶收入均值,σ2為樣本值與μ的方差,以此確定式(3)的參數(shù).基于非離散化數(shù)據(jù)利用高斯貝葉斯算法構(gòu)建分類模型,標(biāo)記為GNB(GNB, Gaussian Naive Bayesian).
邏輯回歸是一種常見易用的二分類算法,基于非離散化數(shù)據(jù)利用邏輯回歸構(gòu)建分類模型,標(biāo)記為L(zhǎng)G(LG,Logistic Regression),與前面兩種方法進(jìn)行橫向性能比較.
對(duì)數(shù)據(jù)進(jìn)行可視化分析,可以直觀分析特征變量的分布特點(diǎn)及與目標(biāo)變量的相關(guān)性.圖3(a)為客戶年齡直方圖,無(wú)明顯分布函數(shù)特征,圖4(a)為客戶年齡分布點(diǎn)圖,“積極”客戶(CLASS=1)主要集中在年齡中段,客戶類別在年齡上有一定分段特征.
圖3 年齡收入分布Fig.3 Age and income distribution
圖3(b)為客戶收入直方圖,顯現(xiàn)較好的類高斯分布特征.圖4(b)為客戶收入分布點(diǎn)圖,“積極”客戶(CLASS=1)主要集中在中間收入階段,客戶類別在收入水平維度有階段分布特點(diǎn).因此我們分別對(duì)客戶年齡、收入水平進(jìn)行離散化,而只對(duì)收入水平做出高斯分布假設(shè).
經(jīng)過(guò)前面對(duì)數(shù)據(jù)的分析和預(yù)處理,最終形成結(jié)構(gòu)化數(shù)據(jù)190條.其中95條數(shù)據(jù)中的年齡、收入水平均離散化,稱為data1.95條數(shù)據(jù)中的年齡離散化,收入水平未離散化,稱為data2.數(shù)據(jù)樣本集data1與data2除收入水平特征標(biāo)識(shí)法不同外,其他特征值相同.
圖4 年齡收入與分類Fig.4 Data and classification
實(shí)驗(yàn)環(huán)境為,操作系統(tǒng)WIN10,python3語(yǔ)言,Jupyter notebook環(huán)境.算法2中,參數(shù)κAGE=κINCOME=6.
由于樣本規(guī)模小,本文采用5折交叉檢驗(yàn),即每次隨機(jī)抽取20%的數(shù)據(jù)樣本用作測(cè)試集,剩余80%樣本數(shù)據(jù)用作訓(xùn)練集.利用樣本集data1訓(xùn)練樸素貝葉斯分類模型NBBDD,利用樣本集data2訓(xùn)練高斯貝葉斯分類模型GNB和邏輯回歸模型LG.
正確率(accuracy)是分類算法的核心評(píng)價(jià)指標(biāo).本文顯然更關(guān)注“積極”(CLASS=1)客戶的分類準(zhǔn)確率,即該類客戶的召回率.
(4)
(5)
其中,T為預(yù)測(cè)正確的樣本數(shù),total為總的樣本數(shù),TPCLASS=1為爭(zhēng)取預(yù)測(cè)的“積極”客戶數(shù),F(xiàn)NCLASS=1為預(yù)測(cè)錯(cuò)誤的“積極”客戶數(shù).TPCLASS=1與FNCLASS=1可以從混淆矩陣中獲得.混淆矩陣是機(jī)器學(xué)習(xí)中總結(jié)分類算法預(yù)測(cè)結(jié)果的情形分析表,行代表實(shí)際類別,列代表預(yù)測(cè)類別.
圖5 預(yù)測(cè)準(zhǔn)確率Fig.5 Prediction accuracy
每種算法分別進(jìn)行10次模型訓(xùn)練、預(yù)測(cè),準(zhǔn)確率如圖5所示,邏輯回歸算法LG準(zhǔn)確率波動(dòng)最大,基于數(shù)據(jù)離散化的樸素貝葉斯分類算法NBBDD準(zhǔn)確率最高且最穩(wěn)定.“積極”客戶召回率方面,如圖6所示,邏輯回歸LG的召回率極其不穩(wěn)定,基于數(shù)據(jù)離散化的樸素貝葉斯分類算法NBBDD具有最高的召回率,且性能表現(xiàn)穩(wěn)定.
3種算法中邏輯回歸LG變現(xiàn)最差可能與樣本數(shù)據(jù)規(guī)模較小有關(guān).高斯樸素貝葉斯算法GNB基于客戶收入水平數(shù)據(jù)符合高斯分布的假設(shè),而本文中,客戶收入水平存在左半部缺失等問(wèn)題,影響了算法性能.基于數(shù)據(jù)離散化的樸素貝葉斯分類算法NBBDD從數(shù)據(jù)樣本的分布出發(fā),將收入水平分段,離散化數(shù)據(jù),較好地反映出數(shù)據(jù)樣本的真實(shí)狀態(tài),故性能最優(yōu).
圖6 “積極”客戶召回率Fig.6 Recall of CLASS=1
因訓(xùn)練樣本數(shù)據(jù)量小,單次實(shí)驗(yàn)客戶分類準(zhǔn)確度穩(wěn)定性較差,如圖5、圖6所示.為增強(qiáng)實(shí)驗(yàn)結(jié)果的可比較性,針對(duì)NBBDD分類算法采用交叉檢驗(yàn)方法多次執(zhí)行訓(xùn)練與預(yù)測(cè),計(jì)算平均正確率和平均召回率如圖7所示,200次實(shí)驗(yàn)后,平均分類準(zhǔn)確度數(shù)據(jù)基本穩(wěn)定.同時(shí),“積極”客戶召回率一直高于客戶分類正確率,說(shuō)明在κAGE=κINCOME=6條件下,較好地實(shí)現(xiàn)了分類算法對(duì)“積極”客戶的偏好.
圖7 實(shí)驗(yàn)次數(shù)與客戶分類穩(wěn)定性Fig.7 Average accuracy and recall
ADS算法中異常數(shù)據(jù)濾除率κ影響數(shù)據(jù)離散化,并最終影響客戶分類效果.為觀察κ對(duì)客戶分類正確率和召回率的影響,取κAGE=6,κINCOME分別取0,2,4,6,8,10,每種情況下計(jì)算200次實(shí)驗(yàn)的平均正確率和平均召回率.
圖8 數(shù)據(jù)離散化對(duì)客戶分類的影響Fig.8 Influence data discretization
如圖8所示,ADS算法中異常數(shù)據(jù)濾除率κ對(duì)NBBDD客戶分類算法產(chǎn)生了顯著的影響.數(shù)據(jù)離散化過(guò)程中,對(duì)異常數(shù)據(jù)的過(guò)濾有助于提升分類正確度和召回率.同時(shí)通過(guò)恰當(dāng)設(shè)置κ的取值,可以調(diào)節(jié)偏好樣本的召回率.另外,正確率、召回率在隨κ取值的變化過(guò)程中表現(xiàn)出異步特征.
針對(duì)特定金融產(chǎn)品的銷售需求,通過(guò)推銷測(cè)試收集客戶樣本數(shù)據(jù).通過(guò)構(gòu)造概率分布函數(shù)、離散化連續(xù)型數(shù)據(jù)兩種方式搭建貝葉斯網(wǎng)絡(luò)分類器.發(fā)現(xiàn)樸素貝葉斯分類算法NBBDD性能最優(yōu).通過(guò)恰當(dāng)設(shè)置異常數(shù)據(jù)濾除率κ的取值,可以調(diào)控分類算法的分類偏好.下一步研究將重點(diǎn)關(guān)注金融客戶特征選取及其他分類算法.同時(shí),各種分類器的分類偏好也是一個(gè)有意義的研究方向.