楊 磊,姚汝婧
(天津大學(xué)應(yīng)用數(shù)學(xué)中心,天津 300072)
隨著經(jīng)濟和科技的進步,信用卡業(yè)務(wù)因其方便、利潤高等特點在金融行業(yè)飛速發(fā)展,廣泛受到金融機構(gòu)以及用戶們的喜愛。但是隨著信用卡用戶量的急劇提升,我國信用卡違約問題更加突出,2018年信用卡逾期總額也呈現(xiàn)爆發(fā)性增長,總額為2010年的10倍。若不及時采取相應(yīng)措施加以控制,會給銀行等金融機構(gòu)造成嚴重損失。因此,對持有信用卡的用戶的信用進行評分,提前預(yù)測出違約用戶是十分有必要的,對銀行等金融機構(gòu)的長久發(fā)展具有重大意義。
目前對違約用戶進行判定的方法大致分為三種:基于規(guī)則的方法、基于有監(jiān)督學(xué)習(xí)的方法、基于無監(jiān)督學(xué)習(xí)的方法。
基于規(guī)則的方法簡單有效,可解釋性強,但存在以下兩點缺陷:一是太過依賴人的經(jīng)驗來判斷,很容易出現(xiàn)由于人為錯誤而對用戶是否違約誤判的情況,二規(guī)則構(gòu)建成本高,需要針對性的構(gòu)造。
基于有監(jiān)督的學(xué)習(xí)是目前國內(nèi)外廣泛使用的信用違約預(yù)測方法。王洪各[1]采用邏輯回歸(Logistic Regression)進行信用卡欺詐檢測,精度達到95%以上。張國慶[2]等人采用LightGBM模型研究信用卡違約,通過與邏輯回歸、隨機森林等幾個常用模型的對比,表明LightGBM的預(yù)測效果較好。在國外,F(xiàn)lorentin Butaru等人[3]通過對比邏輯回歸、決策樹和隨機森林三種方法,得出不同的銀行適用于不同的模型的結(jié)論。真實業(yè)務(wù)場景中標(biāo)簽數(shù)據(jù)獲取難度大,且違約數(shù)據(jù)比例遠小于正常數(shù)據(jù)導(dǎo)致樣本數(shù)據(jù)極不均衡,導(dǎo)致有監(jiān)督學(xué)習(xí)無法取得良好效果。
近年來,無監(jiān)督學(xué)習(xí)因其無需含有帶標(biāo)簽的數(shù)據(jù)訓(xùn)練模型等優(yōu)勢,逐步發(fā)展起來成為信用卡違約預(yù)測研究熱點。例如陳棟棟[4]采用主成分分析法對信用卡客戶進行風(fēng)險預(yù)警。辜俊瑩等人[5]采用K-means聚類算法建立模型對銀行客戶進行分類。但是無監(jiān)督的方法由于缺乏人類先驗經(jīng)驗的引導(dǎo),模型的判別效果往往與人類預(yù)期相悖,難以實際應(yīng)用。
與之前對于信用卡違約行為研究最大的不同是主要體現(xiàn)在以下兩個方面:
1)本文采用無監(jiān)督和有監(jiān)督學(xué)習(xí)相結(jié)合的方法來解決之前研究方法的不足。利用自編碼的方式進行無監(jiān)督的學(xué)習(xí),訓(xùn)練編碼器,實現(xiàn)對大量無標(biāo)簽的數(shù)據(jù)去噪編碼,避免了海量數(shù)據(jù)的標(biāo)注,充分挖掘和建模用戶數(shù)據(jù)的深層信息。接著將自編碼得到的用戶數(shù)據(jù)的高層表示送入到傳統(tǒng)的分類算法中進行有監(jiān)督的學(xué)習(xí),充分發(fā)揮有監(jiān)督訓(xùn)練的優(yōu)勢。
2)創(chuàng)新性引入自然語言處理(NLP)中具有強大的表征能力的Transformer作為用戶數(shù)據(jù)的自編碼器。信用卡用戶數(shù)據(jù)是用戶在較長一段時間內(nèi)的行為數(shù)據(jù),為時序序列。因此需要模型具有對長期記憶的建模能力,這與NLP對長句建模要處理地問題有相同之處,Transformer地引入使得模型能夠更好的建模用戶行為,提高預(yù)測準(zhǔn)確率。
自編碼(Auto-Encoder)[6]是一種無監(jiān)督的學(xué)習(xí)方法,在降維、特征提取等方面都有廣泛應(yīng)用[7-8]。
圖1 Auto-Encoder網(wǎng)絡(luò)結(jié)構(gòu)
Auto-Encoder由encode和decode兩個部分組成。在Auto-Encoder結(jié)構(gòu)中,輸入向量x通過encode轉(zhuǎn)換為固定維度的向量h,再經(jīng)過decode得到輸出向量x’,目標(biāo)是使x和x’越來越接近。每次輸出以后,通過誤差反向傳播,對參數(shù)不斷進行優(yōu)化,最終使得向量h能夠最大程度地包含原始輸入數(shù)據(jù)的信息。
隱層表達h表達式如下
(1)
Transformer是由Google團隊于2017年提出來的一種基于encoder-decoder結(jié)構(gòu)的模型[10],其只采用了自注意力機制(self-attention)和前饋神經(jīng)網(wǎng)絡(luò),在機器翻譯任務(wù)上的表現(xiàn)超過了遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[11],卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[12],且實現(xiàn)了計算并行化,提高了效率,正逐步取代RNN、CNN,成為當(dāng)前主流的特征抽取器。
Transformer由編碼器和解碼器構(gòu)成,編碼器組件由多頭注意力(Multi-Head Attention)和前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward Neural Network)構(gòu)成。解碼器由掩模多頭注意力(Masked Multi-Head Attention)、Multi-Head Attention和Feed Forward Neural Network構(gòu)成。
在工作時,由embedding和positional encoding組成輸入向量,經(jīng)過編碼器和解碼器,最后經(jīng)過Linear和softmax,輸出最終的預(yù)測概率。
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 標(biāo)注數(shù)據(jù)量為100時實驗結(jié)果
(3)
其中Q∈Rn×dk,K∈Rm×dk,V∈Rm×dv,Q、K、V分別是由attention中的query、key、value組成的矩陣。Multi-Head Attention由多個并行運行的Attention構(gòu)成,定義公式如下:
MultiHead(Q,K,V)=Concat(head1,…,headh)WO
(4)
本文應(yīng)用Transformer的編碼部分對預(yù)處理過后的全部原始數(shù)據(jù)x進行編碼,得到隱層向量h,再通過全連接層將h進行解碼得到x′,通過誤差反向傳播,不斷更新參數(shù),使得x和x′越來越接近,最終得到能夠很好地表征原數(shù)據(jù)信息的隱向量h。將帶有標(biāo)簽的數(shù)據(jù)的隱向量h作為傳統(tǒng)分類算法的輸入,最終得到分類結(jié)果。模型結(jié)構(gòu)如圖2所示。
圖2 基于Transformer的信用卡違約預(yù)測模型
數(shù)據(jù)集中有離散型變量和連續(xù)型變量兩類變量。對于連續(xù),采用平方誤差損失,對于離散變量,采用交叉熵損失。損失函數(shù)公式如下
(5)
本文的實驗數(shù)據(jù)來源于Kaggle上的公開數(shù)據(jù)集,該數(shù)據(jù)集共30000條,包含每個用戶的性別、教育水平、婚姻狀況、年齡等基本信息以及2005年4月至2005年9月的還款狀況、賬單金額、先前付款金額。每條數(shù)據(jù)均含有類別標(biāo)簽,其中違約人數(shù)6636人,未違約人數(shù)23364人。
由于原始數(shù)據(jù)集中數(shù)據(jù)類型不一,既包含離散型數(shù)據(jù),又包含連續(xù)型數(shù)據(jù),直接送入模型會影響模型的學(xué)習(xí)效果,因此需要對原始數(shù)據(jù)進行預(yù)處理。
離散型變量:數(shù)據(jù)集中共有9個離散型變量:性別、教育水平、婚姻狀況等背景信息和不同時期還款狀況評級等信息,對其用one-hot編碼進行處理。
連續(xù)型變量:數(shù)據(jù)集中共有14個連續(xù)型變量:年齡、不同時期的還款金額等,對其進行歸一化處理,公式如下
(6)
其中x為待歸一數(shù)據(jù),xmin為預(yù)處理數(shù)據(jù)最小值,xmax為預(yù)處理數(shù)據(jù)最大值,xscale即為歸一數(shù)據(jù)。
信用卡違約用戶預(yù)測的期望是能夠更多地把違約用戶預(yù)測出來或者是潛在的違約用戶。召回率越高,則代表實際違約用戶被預(yù)測出來的概率越高,模型效果越好。因此,采用召回率作為模型的評價指標(biāo)。計算方式如下
在3Dmax中按照真實采集人體骨骼的比例,對模型進行調(diào)整,統(tǒng)一軸心與質(zhì)心位置,制作出三維結(jié)構(gòu)與真實模型一致的精細模型,如圖2所示。
(7)
其中,TP為把原來為正類的樣本預(yù)測成正類的樣本數(shù),F(xiàn)N為把原來為正類的樣本預(yù)測成負類的樣本數(shù)。對于違約預(yù)測來說,召回率越高,表明在所有違約用戶中,被預(yù)測出來的違約用戶越多,模型效果越好。
為了盡可能地模擬真實業(yè)務(wù)場景中,標(biāo)注樣本少的情況,從原始的30000數(shù)據(jù)中隨機抽取100個數(shù)據(jù),對比本文提出的采用Transformer進行自編碼,進而通過傳統(tǒng)分類算法進行分類的模型(簡稱為Transformer+傳統(tǒng)分類算法)的召回率和單獨使用傳統(tǒng)分類算法的召回率。結(jié)果如表1所示。本文對比的傳統(tǒng)分類算法有三種,包括邏輯回歸、決策樹、隨機森林。
表1 模型對比結(jié)果
由實驗結(jié)果可知,本文提出的新模型在標(biāo)注數(shù)據(jù)量少時的效果均優(yōu)于其它對比的傳統(tǒng)分類算法。實驗結(jié)果也表明,采用Transformer實現(xiàn)自編碼的方式得到的隱層向量是有效的,能夠很好地表征原始數(shù)據(jù)的信息。
為了驗證模型在標(biāo)注數(shù)據(jù)少的情況下的性能,做了以下兩項實驗。一是不同少量標(biāo)注數(shù)據(jù)量下模型的效果;二是采用Transformer進行編碼時,不同層數(shù)對模型的影響。
4.5.1 不同少量標(biāo)注數(shù)據(jù)量下實驗結(jié)果
從原始數(shù)據(jù)集中分別隨機抽取100、300、500個數(shù)據(jù),對比本文提出的Transformer+傳統(tǒng)分類算法與單獨使用傳統(tǒng)分類算法進行分類的模型的召回率。對比的傳統(tǒng)分類算法有三種:邏輯回歸、決策樹、隨機森林。由于實驗結(jié)果和分析過程相同,下文以邏輯回歸為例進行具體闡述不同方法之間的效果對比。
1)數(shù)據(jù)量為100時
由圖3可知,在標(biāo)注數(shù)據(jù)量為100時,文中的方法召回率穩(wěn)定在32.8%附近,而單獨采用Logistic進行分類的模型召回率穩(wěn)定在28.0%附近。本文提出的Transformer+LR模型與傳統(tǒng)Logistic模型相比,召回率提升了4.8%,效果提升明顯。
2)數(shù)據(jù)量為300時
由圖4可知,在標(biāo)注數(shù)據(jù)量為300時,本文提出的Transformer+Logistic模型的召回率穩(wěn)定在32.7%附近,而單獨采用Logistic進行分類的模型召回率穩(wěn)定在31.1%附近,召回率提升了1.6%。
圖4 標(biāo)注數(shù)據(jù)量為300時實驗結(jié)果
3)數(shù)據(jù)量為500時
由圖5可知,在標(biāo)注數(shù)據(jù)量為500時,文中的方法召回率穩(wěn)定在33.0%附近,而單獨采用Logistic進行分類的模型召回率穩(wěn)定在32.0%附近,召回率提升了1%。
圖5 標(biāo)注數(shù)據(jù)量為500時實驗結(jié)果
由實驗結(jié)果可知,在標(biāo)注數(shù)據(jù)量為100、300、500時,本文提出的Transformer+Logistic模型的召回率均高于單獨采用Logistic模型。同時,針對決策樹模型、隨機森林模型也進行了相同的實驗,實驗結(jié)果表明,在標(biāo)注數(shù)據(jù)少時,本文提出的Transformer+傳統(tǒng)分類算法的模型效果均優(yōu)于單獨使用傳統(tǒng)分類算法。
4.5.2 不同層數(shù)下實驗結(jié)果
以數(shù)據(jù)集數(shù)量為100時為例,探討層數(shù)分別為10,20,30,40,50,60,70,80的情況下,Transformer+傳統(tǒng)分類算法的模型的召回率與單獨使用傳統(tǒng)分類算法的召回率。對比的傳統(tǒng)分類算法有三種:邏輯回歸、決策樹、隨機森林。下文以邏輯回歸為例進行具體闡述。重復(fù)多次實驗取平均值,待召回率穩(wěn)定時,得到不同層數(shù)下召回率的取值。結(jié)果如圖6所示。
圖6 不同層數(shù)下的實驗結(jié)果
由圖6可知,在層數(shù)不同的情況下,本文提出的Transformer+Logistic模型的召回率均高于單獨采用Logistic模型。同時,針對決策樹模型、隨機森林模型也進行了相同的實驗,實驗結(jié)果表明,在層數(shù)不同時,本文提出的Transformer+傳統(tǒng)分類算法的模型效果均優(yōu)于所對比的傳統(tǒng)分類算法。
本文提出的新模型與傳統(tǒng)分類算法相比相較于傳統(tǒng)分類算法有如下幾個優(yōu)點:
1)采用自編碼的方式來訓(xùn)練編碼器,實現(xiàn)了對數(shù)據(jù)去噪編碼,有效充分地利用了數(shù)據(jù)量較大的無標(biāo)簽數(shù)據(jù),避免了極其耗時的人工標(biāo)注過程。
2)采用當(dāng)前NLP中具有最強特征抽取能力的Transformer對數(shù)據(jù)進行編碼,對用戶行為(時序序列)進行了很好的建模,使得模型最后預(yù)測的召回率有了平均5.2%的提升,這也表示文中的模型可以發(fā)現(xiàn)更多的違約用戶,能夠更好的幫助信用卡機構(gòu)進行用戶管理。
本文中也存在仍未解決的問題,這些問題都有待于進一步研究和探討,下一步的工作也將圍繞這些問題展開:
1)實際中違約用戶只是占極小一部分比例,在違約用戶與未違約用戶比例不均衡時,進一步對數(shù)據(jù)進行過采樣或欠采樣處理是否會使模型的效果更好?
2)不同的數(shù)據(jù)集有不同的特點,在不同數(shù)據(jù)集上,本文提出的新模型是否具有普適性?是否能夠進行很好的遷移。