曾敘堅,呂 露,陸 鑫,梁杜藝,王 東
(桂林電子科技大學 數學與計算科學學院,廣西 桂林 541004)
信用卡借貸業務是銀行的主營業務,隨著銀行信用卡業務的發展,如何提前識別信用卡用戶違約狀況是銀行行業面臨的最大挑戰[1],好的信用卡違約預警模型能給銀行來更小的損失、更大的盈利空間[2]。機器學習技術在最近幾年里飛速發展并且取得良好的效果,特別是在識別一些人類未知的場景,使用機器學習方法建立信用卡違約預警模型也是一種新的研究方向[3]。本文將使用機器學習的決策樹和隨機森林算法建立信用卡違約預警模型,數據來源于“匯豐杯”2016年中國高校SAS數據分析大賽。
決策樹最初是由Quinlan等[4]提出的一種基于離散特征數據或連續數據對目標進行分類的樹形分類器,主要組成部分包括根節點、內部節點、葉節點。根節點是決策樹的頂端,比如,在本實驗的樣本數據中,“受教育程度”就是一個根節點。葉節點是決策樹的中間節點,基于根節點的“受教育程度”的葉節點可以是“初中及以下”“高中”“本科及以上”。葉節點就是決策樹底部的節點,也就是決策結果,在本實驗中,葉節點的結果是“違約”和“未違約”。
構造了一個決策樹模型之后,就需要進行“剪枝”的操作,“剪枝”的目的是減少一些不必要的節點,從而達到以較小的信息獲得較好的分類效果。構造一個決策樹模型以及剪枝步驟,需要通過類似遞歸思想計算信息增益和信息熵的方式進行。計算初始信息熵的方法如下:
(1)
式中。ni為類別i中的樣本個數;n為樣本的數量;c為類別數量。對決策樹的根節點進行屬性選擇的過程中,分支的新熵計算方法如下:
(2)
式中,Ak表示屬性;ηkj為每個分支的樣本個數;ηkj(i)為每個分支的ηkj個樣本中屬于類別ci的樣本數。計算信息增益的方法如下:
ΔS(k)=S(I)-S(I,Ak)
(3)
挑選具有最大信息增益的屬性Ak0作為決策樹的根。Ak0的判斷條件為:
Δ熵(k0)>Δ熵(k),k=1,2,…K;k≠k0
(4)
隨機森林是一種包含多個決策樹模型的分類器,隨機森林是由Leo Breiman和Adele Cutler發展推論出的[5]。隨機森林是集成學習的一種模型,集成學習就是通過構造一系列的學習器進行學習,然后使用某種規則把所有的學習器連接起來,從而實現比單個學習器更好的學習或預測能力。
隨機森林的構造如下:(1)用N表示訓練樣本的個數,n表示變量的數目。(2)用m表示模型遇到在一個節點做決定時會用到的變量數量。(3)從N個訓練樣本中采用重復取樣的方式,取樣N次,形成一組訓練集,并使用這棵樹對剩余樣本預測其類別,并對誤差進行評估。(4)對于每個節點,隨機選擇n個基于此點上的變量。根據這n個變量,計算其最佳的分割方式。(5)在隨機森林中的每棵決策樹都不采用剪枝技術,每棵決策樹都能完整生長。
隨機森林中任意兩棵決策樹的相關性與隨機森林中每棵樹的分類能力是影響隨機森林分類效果的兩個重要因素。任意兩棵決策樹之間的相關性越大,錯誤率越大;任意兩棵決策樹之間的相關性越小,且每棵樹的分類能力越強,整個隨機森林模型的錯誤率越低。
基于兩種方法的預測流程:第一步,獲取銀行信用卡違約與未違約的數據,將得到的數據可視化展示。同時,繪制各變量與違約狀態的直方圖與各變量之間的相關關系圖、使用過濾式特征選擇法進行特征選取。第二步,將得到的數據建立決策樹與隨機森林模型,將兩個模型得到的結果進行比較,對比各自的精確率、耗時。具體如圖1所示。

圖1 基于兩種方法的預測流程
各變量的相關關系熱力圖如圖2所示,可以看出,顏色越深的地方,代表著這兩個變量間的相關關系越強烈。因變量bad_good(違約狀態)與變量LOAD_FLAG_b‘Y’(個貸標識‘是’) 相關關系最強、與變量DEP_SA_OPEN_TENURE_DAYS(活期存款最早開戶日期距今月份) 和變量 DEP_SA_AVG_TENURE_DAYS(活期存款平均開戶時長) 相關關系較強、與LOAD_FLAG_b‘N’(個貸標識‘否’) 相關關系最弱、與剩余的變量相關關系一般。

圖2 各變量的相關關系熱力圖
根據 Relief 算法原理[6],本團隊以是否違約作為訓練集的因變量,其余變量作為特征子集進行訓練。按照權值大小選取具有代表性的12個變量,具體如表1—2所示。

表1 根據Relief 算法提取出來的特征名稱

表2 根據Relief 算法提取出來的特征含義
從表2中特征的選擇結果看,在40個變量中,貸款賬戶月余額、當月本幣轉賬取款金額、其他6個月月均交易筆數、負債總額、3個月內貸款賬戶月均余額、6個月內貸款賬戶月均余額、其他轉出3個月內最大交易金額、最近6個月客戶月平均負債總計、最近3個月客戶月平均負債總計、活期存款最近開戶距今月份、其他6個月月均交易金額和6個月內單日本幣單筆最大轉出金額這12個自變量對因變量是否違約影響最大??梢钥闯?,它們都體現在負債、交易金額、使用時間和賬戶余額上,這與實際也是相符合的。
除了設置不同的訓練次數外,其余參數相同,包括相同的數據集和測試集,使用不同的訓練次數得到決策樹和隨機森林的結果如表3—6所示。

表3 決策樹模型精度對比
由表3可以看出,在訓練集中,決策樹模型總體平均精度是0.804 4,在測試集中,決策樹模型總體平均精度是0.735 8。

表4 隨機森林模型精度對比
由表4可以看出,在訓練集中,決策樹模型總體平均精度是0.825 3,在測試集中,決策樹模型總體平均精度是0.751 8。

表5 決策樹模型耗時對比
由表5可以看出,在訓練集中,決策樹模型總體平均耗時是161.75 s,在測試集中,決策樹模型總體平均精度是69 s。

表6 隨機森林模型耗時對比
由表6可以看出,在訓練集中,決策樹模型總體平均耗時是185 s,在測試集中,決策樹模型總體平均精度是88.75 s。
在使用機器學習方法預測銀行信用卡的違約狀態時,數據的預處理所需的時間是最長的,這一問題的原因在于銀行信用卡所記錄的各種信息是多種多樣的。無論使用決策樹模型還是隨機森林模型,好的特征往往能取到好的結果,而好的算法只是逼近這一結果。所以,在使用機器學習算法進行預測時,必須進行特征工程。
使用隨機森林模型進行信用卡違約預測時,其精度比決策樹模型高,但模型訓練速度比決策樹模型慢,產生這一差異的原因在于決策樹模型是單個學習器,而隨機森林卻是由多個學習器組成,所以隨機森林的收斂速度在訓練過程中較慢。對于實際應用場景來說,若生產環境的計算資源豐富,推薦使用隨機森林算法,反之使用決策樹模型。