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