楊 磊,姚汝婧
(天津大學應用數學中心,天津 300072)
隨著經濟和科技的進步,信用卡業務因其方便、利潤高等特點在金融行業飛速發展,廣泛受到金融機構以及用戶們的喜愛。但是隨著信用卡用戶量的急劇提升,我國信用卡違約問題更加突出,2018年信用卡逾期總額也呈現爆發性增長,總額為2010年的10倍。若不及時采取相應措施加以控制,會給銀行等金融機構造成嚴重損失。因此,對持有信用卡的用戶的信用進行評分,提前預測出違約用戶是十分有必要的,對銀行等金融機構的長久發展具有重大意義。
目前對違約用戶進行判定的方法大致分為三種:基于規則的方法、基于有監督學習的方法、基于無監督學習的方法。
基于規則的方法簡單有效,可解釋性強,但存在以下兩點缺陷:一是太過依賴人的經驗來判斷,很容易出現由于人為錯誤而對用戶是否違約誤判的情況,二規則構建成本高,需要針對性的構造。
基于有監督的學習是目前國內外廣泛使用的信用違約預測方法。王洪各[1]采用邏輯回歸(Logistic Regression)進行信用卡欺詐檢測,精度達到95%以上。張國慶[2]等人采用LightGBM模型研究信用卡違約,通過與邏輯回歸、隨機森林等幾個常用模型的對比,表明LightGBM的預測效果較好。在國外,Florentin Butaru等人[3]通過對比邏輯回歸、決策樹和隨機森林三種方法,得出不同的銀行適用于不同的模型的結論。真實業務場景中標簽數據獲取難度大,且違約數據比例遠小于正常數據導致樣本數據極不均衡,導致有監督學習無法取得良好效果。
近年來,無監督學習因其無需含有帶標簽的數據訓練模型等優勢,逐步發展起來成為信用卡違約預測研究熱點。例如陳棟棟[4]采用主成分分析法對信用卡客戶進行風險預警。辜俊瑩等人[5]采用K-means聚類算法建立模型對銀行客戶進行分類。但是無監督的方法由于缺乏人類先驗經驗的引導,模型的判別效果往往與人類預期相悖,難以實際應用。
與之前對于信用卡違約行為研究最大的不同是主要體現在以下兩個方面:
1)本文采用無監督和有監督學習相結合的方法來解決之前研究方法的不足。利用自編碼的方式進行無監督的學習,訓練編碼器,實現對大量無標簽的數據去噪編碼,避免了海量數據的標注,充分挖掘和建模用戶數據的深層信息。接著將自編碼得到的用戶數據的高層表示送入到傳統的分類算法中進行有監督的學習,充分發揮有監督訓練的優勢。
2)創新性引入自然語言處理(NLP)中具有強大的表征能力的Transformer作為用戶數據的自編碼器。信用卡用戶數據是用戶在較長一段時間內的行為數據,為時序序列。因此需要模型具有對長期記憶的建模能力,這與NLP對長句建模要處理地問題有相同之處,Transformer地引入使得模型能夠更好的建模用戶行為,提高預測準確率。
自編碼(Auto-Encoder)[6]是一種無監督的學習方法,在降維、特征提取等方面都有廣泛應用[7-8]。

圖1 Auto-Encoder網絡結構
Auto-Encoder由encode和decode兩個部分組成。在Auto-Encoder結構中,輸入向量x通過encode轉換為固定維度的向量h,再經過decode得到輸出向量x’,目標是使x和x’越來越接近。每次輸出以后,通過誤差反向傳播,對參數不斷進行優化,最終使得向量h能夠最大程度地包含原始輸入數據的信息。
隱層表達h表達式如下
(1)

Transformer是由Google團隊于2017年提出來的一種基于encoder-decoder結構的模型[10],其只采用了自注意力機制(self-attention)和前饋神經網絡,在機器翻譯任務上的表現超過了遞歸神經網絡(Recurrent Neural Network,RNN)[11],卷積神經網絡(Convolutional Neural Network,CNN)[12],且實現了計算并行化,提高了效率,正逐步取代RNN、CNN,成為當前主流的特征抽取器。
Transformer由編碼器和解碼器構成,編碼器組件由多頭注意力(Multi-Head Attention)和前饋神經網絡(Feed Forward Neural Network)構成。解碼器由掩模多頭注意力(Masked Multi-Head Attention)、Multi-Head Attention和Feed Forward Neural Network構成。
在工作時,由embedding和positional encoding組成輸入向量,經過編碼器和解碼器,最后經過Linear和softmax,輸出最終的預測概率。
positional encoding計算方法如下
PE(pos,2i)=sin(pos/100002i/dmodel)
PE(pos,2i+1)=cos(pos/100002i/dmodel)
(2)
其中pos表示位置,i表示第i維。
在Transformer中,Attention層采用尺度變換的的點積Attention[10],如圖3所示,定義公式如下

圖3 標注數據量為100時實驗結果

(3)
其中Q∈Rn×dk,K∈Rm×dk,V∈Rm×dv,Q、K、V分別是由attention中的query、key、value組成的矩陣。Multi-Head Attention由多個并行運行的Attention構成,定義公式如下:
MultiHead(Q,K,V)=Concat(head1,…,headh)WO

(4)

本文應用Transformer的編碼部分對預處理過后的全部原始數據x進行編碼,得到隱層向量h,再通過全連接層將h進行解碼得到x′,通過誤差反向傳播,不斷更新參數,使得x和x′越來越接近,最終得到能夠很好地表征原數據信息的隱向量h。將帶有標簽的數據的隱向量h作為傳統分類算法的輸入,最終得到分類結果。模型結構如圖2所示。

圖2 基于Transformer的信用卡違約預測模型
數據集中有離散型變量和連續型變量兩類變量。對于連續,采用平方誤差損失,對于離散變量,采用交叉熵損失。損失函數公式如下
(5)

本文的實驗數據來源于Kaggle上的公開數據集,該數據集共30000條,包含每個用戶的性別、教育水平、婚姻狀況、年齡等基本信息以及2005年4月至2005年9月的還款狀況、賬單金額、先前付款金額。每條數據均含有類別標簽,其中違約人數6636人,未違約人數23364人。
由于原始數據集中數據類型不一,既包含離散型數據,又包含連續型數據,直接送入模型會影響模型的學習效果,因此需要對原始數據進行預處理。
離散型變量:數據集中共有9個離散型變量:性別、教育水平、婚姻狀況等背景信息和不同時期還款狀況評級等信息,對其用one-hot編碼進行處理。
連續型變量:數據集中共有14個連續型變量:年齡、不同時期的還款金額等,對其進行歸一化處理,公式如下
(6)
其中x為待歸一數據,xmin為預處理數據最小值,xmax為預處理數據最大值,xscale即為歸一數據。
信用卡違約用戶預測的期望是能夠更多地把違約用戶預測出來或者是潛在的違約用戶。召回率越高,則代表實際違約用戶被預測出來的概率越高,模型效果越好。因此,采用召回率作為模型的評價指標。計算方式如下
在3Dmax中按照真實采集人體骨骼的比例,對模型進行調整,統一軸心與質心位置,制作出三維結構與真實模型一致的精細模型,如圖2所示。
(7)
其中,TP為把原來為正類的樣本預測成正類的樣本數,FN為把原來為正類的樣本預測成負類的樣本數。對于違約預測來說,召回率越高,表明在所有違約用戶中,被預測出來的違約用戶越多,模型效果越好。
為了盡可能地模擬真實業務場景中,標注樣本少的情況,從原始的30000數據中隨機抽取100個數據,對比本文提出的采用Transformer進行自編碼,進而通過傳統分類算法進行分類的模型(簡稱為Transformer+傳統分類算法)的召回率和單獨使用傳統分類算法的召回率。結果如表1所示。本文對比的傳統分類算法有三種,包括邏輯回歸、決策樹、隨機森林。

表1 模型對比結果
由實驗結果可知,本文提出的新模型在標注數據量少時的效果均優于其它對比的傳統分類算法。實驗結果也表明,采用Transformer實現自編碼的方式得到的隱層向量是有效的,能夠很好地表征原始數據的信息。
為了驗證模型在標注數據少的情況下的性能,做了以下兩項實驗。一是不同少量標注數據量下模型的效果;二是采用Transformer進行編碼時,不同層數對模型的影響。
4.5.1 不同少量標注數據量下實驗結果
從原始數據集中分別隨機抽取100、300、500個數據,對比本文提出的Transformer+傳統分類算法與單獨使用傳統分類算法進行分類的模型的召回率。對比的傳統分類算法有三種:邏輯回歸、決策樹、隨機森林。由于實驗結果和分析過程相同,下文以邏輯回歸為例進行具體闡述不同方法之間的效果對比。
1)數據量為100時
由圖3可知,在標注數據量為100時,文中的方法召回率穩定在32.8%附近,而單獨采用Logistic進行分類的模型召回率穩定在28.0%附近。本文提出的Transformer+LR模型與傳統Logistic模型相比,召回率提升了4.8%,效果提升明顯。
2)數據量為300時
由圖4可知,在標注數據量為300時,本文提出的Transformer+Logistic模型的召回率穩定在32.7%附近,而單獨采用Logistic進行分類的模型召回率穩定在31.1%附近,召回率提升了1.6%。

圖4 標注數據量為300時實驗結果
3)數據量為500時
由圖5可知,在標注數據量為500時,文中的方法召回率穩定在33.0%附近,而單獨采用Logistic進行分類的模型召回率穩定在32.0%附近,召回率提升了1%。

圖5 標注數據量為500時實驗結果
由實驗結果可知,在標注數據量為100、300、500時,本文提出的Transformer+Logistic模型的召回率均高于單獨采用Logistic模型。同時,針對決策樹模型、隨機森林模型也進行了相同的實驗,實驗結果表明,在標注數據少時,本文提出的Transformer+傳統分類算法的模型效果均優于單獨使用傳統分類算法。
4.5.2 不同層數下實驗結果
以數據集數量為100時為例,探討層數分別為10,20,30,40,50,60,70,80的情況下,Transformer+傳統分類算法的模型的召回率與單獨使用傳統分類算法的召回率。對比的傳統分類算法有三種:邏輯回歸、決策樹、隨機森林。下文以邏輯回歸為例進行具體闡述。重復多次實驗取平均值,待召回率穩定時,得到不同層數下召回率的取值。結果如圖6所示。

圖6 不同層數下的實驗結果
由圖6可知,在層數不同的情況下,本文提出的Transformer+Logistic模型的召回率均高于單獨采用Logistic模型。同時,針對決策樹模型、隨機森林模型也進行了相同的實驗,實驗結果表明,在層數不同時,本文提出的Transformer+傳統分類算法的模型效果均優于所對比的傳統分類算法。
本文提出的新模型與傳統分類算法相比相較于傳統分類算法有如下幾個優點:
1)采用自編碼的方式來訓練編碼器,實現了對數據去噪編碼,有效充分地利用了數據量較大的無標簽數據,避免了極其耗時的人工標注過程。
2)采用當前NLP中具有最強特征抽取能力的Transformer對數據進行編碼,對用戶行為(時序序列)進行了很好的建模,使得模型最后預測的召回率有了平均5.2%的提升,這也表示文中的模型可以發現更多的違約用戶,能夠更好的幫助信用卡機構進行用戶管理。
本文中也存在仍未解決的問題,這些問題都有待于進一步研究和探討,下一步的工作也將圍繞這些問題展開:
1)實際中違約用戶只是占極小一部分比例,在違約用戶與未違約用戶比例不均衡時,進一步對數據進行過采樣或欠采樣處理是否會使模型的效果更好?
2)不同的數據集有不同的特點,在不同數據集上,本文提出的新模型是否具有普適性?是否能夠進行很好的遷移。