曾敘堅(jiān),呂 露,陸 鑫,梁杜藝,王 東
(桂林電子科技大學(xué) 數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,廣西 桂林 541004)
信用卡借貸業(yè)務(wù)是銀行的主營(yíng)業(yè)務(wù),隨著銀行信用卡業(yè)務(wù)的發(fā)展,如何提前識(shí)別信用卡用戶違約狀況是銀行行業(yè)面臨的最大挑戰(zhàn)[1],好的信用卡違約預(yù)警模型能給銀行來(lái)更小的損失、更大的盈利空間[2]。機(jī)器學(xué)習(xí)技術(shù)在最近幾年里飛速發(fā)展并且取得良好的效果,特別是在識(shí)別一些人類未知的場(chǎng)景,使用機(jī)器學(xué)習(xí)方法建立信用卡違約預(yù)警模型也是一種新的研究方向[3]。本文將使用機(jī)器學(xué)習(xí)的決策樹(shù)和隨機(jī)森林算法建立信用卡違約預(yù)警模型,數(shù)據(jù)來(lái)源于“匯豐杯”2016年中國(guó)高校SAS數(shù)據(jù)分析大賽。
決策樹(shù)最初是由Quinlan等[4]提出的一種基于離散特征數(shù)據(jù)或連續(xù)數(shù)據(jù)對(duì)目標(biāo)進(jìn)行分類的樹(shù)形分類器,主要組成部分包括根節(jié)點(diǎn)、內(nèi)部節(jié)點(diǎn)、葉節(jié)點(diǎn)。根節(jié)點(diǎn)是決策樹(shù)的頂端,比如,在本實(shí)驗(yàn)的樣本數(shù)據(jù)中,“受教育程度”就是一個(gè)根節(jié)點(diǎn)。葉節(jié)點(diǎn)是決策樹(shù)的中間節(jié)點(diǎn),基于根節(jié)點(diǎn)的“受教育程度”的葉節(jié)點(diǎn)可以是“初中及以下”“高中”“本科及以上”。葉節(jié)點(diǎn)就是決策樹(shù)底部的節(jié)點(diǎn),也就是決策結(jié)果,在本實(shí)驗(yàn)中,葉節(jié)點(diǎn)的結(jié)果是“違約”和“未違約”。
構(gòu)造了一個(gè)決策樹(shù)模型之后,就需要進(jìn)行“剪枝”的操作,“剪枝”的目的是減少一些不必要的節(jié)點(diǎn),從而達(dá)到以較小的信息獲得較好的分類效果。構(gòu)造一個(gè)決策樹(shù)模型以及剪枝步驟,需要通過(guò)類似遞歸思想計(jì)算信息增益和信息熵的方式進(jìn)行。計(jì)算初始信息熵的方法如下:
(1)
式中。ni為類別i中的樣本個(gè)數(shù);n為樣本的數(shù)量;c為類別數(shù)量。對(duì)決策樹(shù)的根節(jié)點(diǎn)進(jìn)行屬性選擇的過(guò)程中,分支的新熵計(jì)算方法如下:
(2)
式中,Ak表示屬性;ηkj為每個(gè)分支的樣本個(gè)數(shù);ηkj(i)為每個(gè)分支的ηkj個(gè)樣本中屬于類別ci的樣本數(shù)。計(jì)算信息增益的方法如下:
ΔS(k)=S(I)-S(I,Ak)
(3)
挑選具有最大信息增益的屬性Ak0作為決策樹(shù)的根。Ak0的判斷條件為:
Δ熵(k0)>Δ熵(k),k=1,2,…K;k≠k0
(4)
隨機(jī)森林是一種包含多個(gè)決策樹(shù)模型的分類器,隨機(jī)森林是由Leo Breiman和Adele Cutler發(fā)展推論出的[5]。隨機(jī)森林是集成學(xué)習(xí)的一種模型,集成學(xué)習(xí)就是通過(guò)構(gòu)造一系列的學(xué)習(xí)器進(jìn)行學(xué)習(xí),然后使用某種規(guī)則把所有的學(xué)習(xí)器連接起來(lái),從而實(shí)現(xiàn)比單個(gè)學(xué)習(xí)器更好的學(xué)習(xí)或預(yù)測(cè)能力。
隨機(jī)森林的構(gòu)造如下:(1)用N表示訓(xùn)練樣本的個(gè)數(shù),n表示變量的數(shù)目。(2)用m表示模型遇到在一個(gè)節(jié)點(diǎn)做決定時(shí)會(huì)用到的變量數(shù)量。(3)從N個(gè)訓(xùn)練樣本中采用重復(fù)取樣的方式,取樣N次,形成一組訓(xùn)練集,并使用這棵樹(shù)對(duì)剩余樣本預(yù)測(cè)其類別,并對(duì)誤差進(jìn)行評(píng)估。(4)對(duì)于每個(gè)節(jié)點(diǎn),隨機(jī)選擇n個(gè)基于此點(diǎn)上的變量。根據(jù)這n個(gè)變量,計(jì)算其最佳的分割方式。(5)在隨機(jī)森林中的每棵決策樹(shù)都不采用剪枝技術(shù),每棵決策樹(shù)都能完整生長(zhǎng)。
隨機(jī)森林中任意兩棵決策樹(shù)的相關(guān)性與隨機(jī)森林中每棵樹(shù)的分類能力是影響隨機(jī)森林分類效果的兩個(gè)重要因素。任意兩棵決策樹(shù)之間的相關(guān)性越大,錯(cuò)誤率越大;任意兩棵決策樹(shù)之間的相關(guān)性越小,且每棵樹(shù)的分類能力越強(qiáng),整個(gè)隨機(jī)森林模型的錯(cuò)誤率越低。
基于兩種方法的預(yù)測(cè)流程:第一步,獲取銀行信用卡違約與未違約的數(shù)據(jù),將得到的數(shù)據(jù)可視化展示。同時(shí),繪制各變量與違約狀態(tài)的直方圖與各變量之間的相關(guān)關(guān)系圖、使用過(guò)濾式特征選擇法進(jìn)行特征選取。第二步,將得到的數(shù)據(jù)建立決策樹(shù)與隨機(jī)森林模型,將兩個(gè)模型得到的結(jié)果進(jìn)行比較,對(duì)比各自的精確率、耗時(shí)。具體如圖1所示。
圖1 基于兩種方法的預(yù)測(cè)流程
各變量的相關(guān)關(guān)系熱力圖如圖2所示,可以看出,顏色越深的地方,代表著這兩個(gè)變量間的相關(guān)關(guān)系越強(qiáng)烈。因變量bad_good(違約狀態(tài))與變量LOAD_FLAG_b‘Y’(個(gè)貸標(biāo)識(shí)‘是’) 相關(guān)關(guān)系最強(qiáng)、與變量DEP_SA_OPEN_TENURE_DAYS(活期存款最早開(kāi)戶日期距今月份) 和變量 DEP_SA_AVG_TENURE_DAYS(活期存款平均開(kāi)戶時(shí)長(zhǎng)) 相關(guān)關(guān)系較強(qiáng)、與LOAD_FLAG_b‘N’(個(gè)貸標(biāo)識(shí)‘否’) 相關(guān)關(guān)系最弱、與剩余的變量相關(guān)關(guān)系一般。
圖2 各變量的相關(guān)關(guān)系熱力圖
根據(jù) Relief 算法原理[6],本團(tuán)隊(duì)以是否違約作為訓(xùn)練集的因變量,其余變量作為特征子集進(jìn)行訓(xùn)練。按照權(quán)值大小選取具有代表性的12個(gè)變量,具體如表1—2所示。
表1 根據(jù)Relief 算法提取出來(lái)的特征名稱
表2 根據(jù)Relief 算法提取出來(lái)的特征含義
從表2中特征的選擇結(jié)果看,在40個(gè)變量中,貸款賬戶月余額、當(dāng)月本幣轉(zhuǎn)賬取款金額、其他6個(gè)月月均交易筆數(shù)、負(fù)債總額、3個(gè)月內(nèi)貸款賬戶月均余額、6個(gè)月內(nèi)貸款賬戶月均余額、其他轉(zhuǎn)出3個(gè)月內(nèi)最大交易金額、最近6個(gè)月客戶月平均負(fù)債總計(jì)、最近3個(gè)月客戶月平均負(fù)債總計(jì)、活期存款最近開(kāi)戶距今月份、其他6個(gè)月月均交易金額和6個(gè)月內(nèi)單日本幣單筆最大轉(zhuǎn)出金額這12個(gè)自變量對(duì)因變量是否違約影響最大??梢钥闯觯鼈兌俭w現(xiàn)在負(fù)債、交易金額、使用時(shí)間和賬戶余額上,這與實(shí)際也是相符合的。
除了設(shè)置不同的訓(xùn)練次數(shù)外,其余參數(shù)相同,包括相同的數(shù)據(jù)集和測(cè)試集,使用不同的訓(xùn)練次數(shù)得到?jīng)Q策樹(shù)和隨機(jī)森林的結(jié)果如表3—6所示。
表3 決策樹(shù)模型精度對(duì)比
由表3可以看出,在訓(xùn)練集中,決策樹(shù)模型總體平均精度是0.804 4,在測(cè)試集中,決策樹(shù)模型總體平均精度是0.735 8。
表4 隨機(jī)森林模型精度對(duì)比
由表4可以看出,在訓(xùn)練集中,決策樹(shù)模型總體平均精度是0.825 3,在測(cè)試集中,決策樹(shù)模型總體平均精度是0.751 8。
表5 決策樹(shù)模型耗時(shí)對(duì)比
由表5可以看出,在訓(xùn)練集中,決策樹(shù)模型總體平均耗時(shí)是161.75 s,在測(cè)試集中,決策樹(shù)模型總體平均精度是69 s。
表6 隨機(jī)森林模型耗時(shí)對(duì)比
由表6可以看出,在訓(xùn)練集中,決策樹(shù)模型總體平均耗時(shí)是185 s,在測(cè)試集中,決策樹(shù)模型總體平均精度是88.75 s。
在使用機(jī)器學(xué)習(xí)方法預(yù)測(cè)銀行信用卡的違約狀態(tài)時(shí),數(shù)據(jù)的預(yù)處理所需的時(shí)間是最長(zhǎng)的,這一問(wèn)題的原因在于銀行信用卡所記錄的各種信息是多種多樣的。無(wú)論使用決策樹(shù)模型還是隨機(jī)森林模型,好的特征往往能取到好的結(jié)果,而好的算法只是逼近這一結(jié)果。所以,在使用機(jī)器學(xué)習(xí)算法進(jìn)行預(yù)測(cè)時(shí),必須進(jìn)行特征工程。
使用隨機(jī)森林模型進(jìn)行信用卡違約預(yù)測(cè)時(shí),其精度比決策樹(shù)模型高,但模型訓(xùn)練速度比決策樹(shù)模型慢,產(chǎn)生這一差異的原因在于決策樹(shù)模型是單個(gè)學(xué)習(xí)器,而隨機(jī)森林卻是由多個(gè)學(xué)習(xí)器組成,所以隨機(jī)森林的收斂速度在訓(xùn)練過(guò)程中較慢。對(duì)于實(shí)際應(yīng)用場(chǎng)景來(lái)說(shuō),若生產(chǎn)環(huán)境的計(jì)算資源豐富,推薦使用隨機(jī)森林算法,反之使用決策樹(shù)模型。