吳尚智, 王旭文, 王志寧, 任藝璇
(西北師范大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,蘭州 730070)
個人信用評估是銀行對借款人信用的一種評估方式,通過科學(xué)方法,綜合考察影響個人的主客觀環(huán)境,評估用戶能否履行對銀行的經(jīng)濟(jì)承諾。
大數(shù)據(jù)時代,數(shù)據(jù)量越來越大。粗糙集理論是由波蘭數(shù)學(xué)家Z.Pawlak[1]提出,處理數(shù)據(jù)中模糊性、不可分辨性和不確定性問題的數(shù)學(xué)工具。屬性約簡是在保持知識庫分類能力不變的條件下,刪除其中不相關(guān)或不重要的知識,從而減少其對計算過程及最終結(jié)果產(chǎn)生的影響。因?qū)傩约s簡已被證明是一個NP[1]難題,且大量研究表明,對于復(fù)雜的問題,融合智能優(yōu)化算法比單一算法使用相同參數(shù)時性能優(yōu)化和魯棒性均有大幅度提升[2-3]。近年來,各類數(shù)據(jù)分析方法和預(yù)測模型在銀行借貸風(fēng)險中得到廣泛應(yīng)用,S.Chatterjee等[4]將KNN算法應(yīng)用到評分模型中,先利用聚類將已有的客戶分開,再計算新用戶在歐式空間下與已有用戶的距離,判斷其屬于哪個類別;J.C.Wiginton[5]將Logistic回歸模型引入個人信用評估中有著穩(wěn)定性、準(zhǔn)確率高的優(yōu)點(diǎn),得到大量使用;P.Makowski[6]將決策樹用于個人信用評估,主要用來處理確定信息;M.D.Odom等[7]將神經(jīng)網(wǎng)絡(luò)用于風(fēng)險評估,其具有自主學(xué)習(xí)和高速尋找優(yōu)化解的能力;T.C.Forgarty等[8]將遺傳算法運(yùn)用到風(fēng)險評估中的模型優(yōu)化;張佳維[9]將模糊理論和神經(jīng)網(wǎng)絡(luò)結(jié)合的模糊神經(jīng)網(wǎng)絡(luò)算法,通過調(diào)節(jié)參數(shù),得到準(zhǔn)確性和精確性都很好的個人信用評分模型;B.Basense等[10]將支持向量機(jī)使用到個人信用評估中,研究表明數(shù)據(jù)維度較高的情況下,支持向量機(jī)模型明顯優(yōu)于神經(jīng)網(wǎng)絡(luò)和線性回歸模型;杜婷[11]將模糊支持向量機(jī)與一般的支持向量機(jī)模型對比,發(fā)現(xiàn)前者的準(zhǔn)確度更高,粗糙集不足在于對測試集的擬合功能不好,并且只能處理離散數(shù)據(jù)[12];Jerzy Baszczyński等[13]使用了一種基于優(yōu)勢的粗糙集平衡規(guī)則集成(DRSA-BRE),提出一種探索金融詐騙的技術(shù);CHEN Hui-Ling等[14]將粗糙集和支持向量機(jī)結(jié)合使用乳腺癌數(shù)據(jù),用RS屬性約簡算法進(jìn)行特征選擇,提高了支持向量機(jī)的診斷精度;PAI Ping-Feng等[15]提出了一種混合ST和DAGSVM的模型,利用SRST和HGSVM在分析中的獨(dú)特優(yōu)勢來預(yù)測匯率變動;ZHANG Xiaoyuan等[16]將粗糙集和支持向量機(jī)結(jié)合建立一種分類器,分析診斷HGU的振動故障,描述故障與其癥狀之間的復(fù)雜映射;李村合等[17]使用不等距超平面距離改進(jìn)原始的標(biāo)準(zhǔn)模糊支持向量機(jī),通過計算樣本距離得到模糊隸屬度函數(shù)來改善樣本分布不均和噪聲數(shù)據(jù)導(dǎo)致的分類準(zhǔn)確率下降問題。
粗糙集對原始數(shù)據(jù)集進(jìn)行屬性約簡。支持向量機(jī)(support vector machine,簡稱SVM)模型能夠?qū)?fù)雜的高維非線性問題映射到線性空間,解決了高維非線性小樣本問題,同時SVM模型在優(yōu)化過程中收斂速度快、泛化能力強(qiáng);因此,SVM的特點(diǎn)恰好和粗糙集互補(bǔ),將其相互結(jié)合用于個人信用評估是非常必要的,為預(yù)防個人銀行借貸風(fēng)險提供新的解決方法和思路[18-19]。
知識表達(dá)系統(tǒng)的數(shù)據(jù)以關(guān)系表的形式表示。關(guān)系表的行對應(yīng)要研究的對象,列對應(yīng)對象的屬性,對象的信息是通過指定對象的各屬性值來表達(dá)。容易看出,一個屬性對應(yīng)一個等價關(guān)系,一個表可以看作是定義的一族等價關(guān)系,即知識庫[20]。
定義2假定R是論域U上的關(guān)系劃分,B是對任意屬性的子集,這里有B?R,假設(shè)IND(B)是一個不可分辨的二元關(guān)系,則有如下關(guān)系
IND(B)={(x,y)|(x,y)∈U2,
∨b∈B(b(x)=b(y))}
(1)
定義3設(shè)知識表達(dá)系統(tǒng)S=〈U,R,V,f〉,令X?U,B是X上的不可分辨關(guān)系,那么根據(jù)不可分辨關(guān)系B將X的下、上近似集定義如下
(2)
∧Yi∩X≠?)}
(3)
其中U|IND(B)={X|(X?U∧?x?y?b(b(x)=b(y)))} 為不可分辨關(guān)系B對論域U的劃分,同時也稱屬于X的論域U的基本集合。根據(jù)X的下、上近似值概念,定義如下
(4)
(5)
定義4定義決策表S=(U,C∪D),其中屬性C∩D=?,令??X?C,??Y?D,U/Y≠U/δ={U}(這里,δ是全體劃分)。若有X0?X滿足:
①SX0(Y)=SX(Y),即決策屬性??Y?D關(guān)于條件屬性??X?C的支持子集等于決策屬性Y?D關(guān)于條件屬性X0?X的支持子集。
②SX(Y)?XX′(Y),若X′?X0?X。
按照上述描述,總能找到X的一個極小子集X0,即稱X0是X的一個約簡。空集?的約簡為?。
定義5屬性相似度[21]在一個知識表達(dá)系統(tǒng)S=〈U,C∪D,V,f〉中,C是條件屬性集,D是決策屬性,那么它們的相似度為
(6)
其中{c}可以是一個條件屬性或者幾個條件屬性的集合。相似度代表2個屬性之間或者2個屬性集之間的相關(guān)程度,如果相似度的值越大,就代表2個屬性之間或者2個屬性集之間的相關(guān)程度越高;若2個條件屬性之間的相關(guān)程度比與決策屬性間的相關(guān)度高,則2個條件屬性間的冗余性比較大。屬性ci與屬性cj的相似度為
(7)
當(dāng)s=1時,2個屬性可以相互替代;當(dāng)s=0時,2個屬性之間相互獨(dú)立,沒有任何關(guān)系。
屬性約簡算法[21]基本思想:前提是在不改變決策表相似度的情況下,得到屬性的約簡。如果2個條件屬性間的相似度大于它們與決策屬性間的相似度,那么2個條件屬性間的冗余比較大,則將它們中相似度較小的一個條件屬性放入冗余屬性集,將其他的條件屬性集繼續(xù)與決策屬性集計算相似度,若相似度不變,則刪除該條件屬性,反之則保留。
支持向量機(jī)[18-19]是一類按監(jiān)督學(xué)習(xí)方式對數(shù)據(jù)進(jìn)行二元分類的廣義線性分類器。假設(shè)訓(xùn)練樣本為{(x1,y1),(x2,y2),…,(xn,yn)},其中yi∈{-1,1}, (i=1,2,3,…,n),SVM利用樣本空間中的超平面將類別進(jìn)行區(qū)分(圖1)。
圖1 存在多個劃分超平面將兩類訓(xùn)練樣本分開Fig.1 Multiple partition hyperplanes separating the two types of training samples
圖1可以直觀地看出直線H1完美地將實(shí)心點(diǎn)和空心點(diǎn)分為2類。位于不同訓(xùn)練樣本正中間,稱為超平面。接下來根據(jù)訓(xùn)練樣本集計算最佳超平面(記為W)的方程,即W的方程表示為
wTx+b=0
(8)
其中,W的方向由法向量w=(w1,w2,…,wn)決定,原點(diǎn)與超平面的距離記為b。知道w和b之后,可以得到超平面W,此時劃分超平面可以記作(w,b),任意一點(diǎn)與(w,b)的距離可以記作
(9)
假設(shè)劃分超平面可以將訓(xùn)練樣本集進(jìn)行正確地分類。
(10)
圖1中平面上的幾個點(diǎn)使公式(10)成立,這些點(diǎn)被稱為支持向量。2個類別都有支持向量,2個類別中的支持向量到超平面W的距離之和為
(11)
稱為間隔,如圖2。
圖2 支持向量與間隔Fig.2 Support vector and interval
根據(jù)以上描述,目標(biāo)函數(shù)可以被表現(xiàn),得到目標(biāo)函數(shù)最優(yōu)解集后就可以找到最佳超平面W
(i=1,2,…,n)
(12)
為了解出w和b的估計值,只需要將‖w‖2最小化
(i=1,2,…,n)
(13)
公式(13)是支持向量的基本形式,簡稱為SVM。如果能求出目標(biāo)函數(shù)的最優(yōu)解,就可得到滿足條件的劃分超平面。
利用SVM分類的前提條件是訓(xùn)練樣本空間為線性可分;但在實(shí)際工作中部分?jǐn)?shù)據(jù)比較復(fù)雜,要使這些數(shù)據(jù)滿足要求,就需要借助一個核函數(shù),將樣本集映射到高維空間,映射以后滿足了線性可分,就找到一個劃分超平面對樣本進(jìn)行分類。核函數(shù)有線性核函數(shù)(Linear)、多項(xiàng)式核函數(shù)(Poly)、高斯核函數(shù)(RBF)等,其公式分別如下:
(14)
多項(xiàng)式核函數(shù):K(xi,x)=(xixT)d, (d≥0)
(15)
高斯核函數(shù):K(xi,x)=exp(-γ|xi-x|2)
(16)
核函數(shù)還可以通過函數(shù)組合得到,例如:若k1和k2為核函數(shù),則對于λ1和λ2其線性組合
λ1k1+λ2k2
(17)
將粗糙集的屬性約簡和支持向量機(jī)的分類各自優(yōu)勢綜合,提出了一種屬性相似度的約簡算法與不同核函數(shù)的支持向量機(jī)相結(jié)合的銀行借貸風(fēng)險預(yù)測模型。其基本思路是根據(jù)銀行借貸的特點(diǎn)和影響因素,借助某銀行的部分實(shí)例數(shù)據(jù),用相似度的啟發(fā)式屬性約簡算法,對數(shù)據(jù)實(shí)現(xiàn)降維,同時降低了支持向量機(jī)模型的復(fù)雜度和計算量。最后用構(gòu)建預(yù)測模型對屬性約簡后的測試樣本進(jìn)行分類和借貸預(yù)測分析。預(yù)測模型流程圖如圖3。
圖3 預(yù)測模型流程圖Fig.3 Flow chart of prediction model
利用粗糙集和支持向量機(jī)的銀行借貸風(fēng)險預(yù)測模型:
輸入:個人信息數(shù)據(jù)表。
輸出:銀行是否同意借貸。
步驟1:將原始數(shù)據(jù)集進(jìn)行整理,刪除那些缺失值和異常值太多的樣本。
步驟2:用屬性相似度的約簡算法刪除那些冗余性過高的屬性。
①計算各個屬性與決策屬性的相似度。
②根據(jù)相似度大小進(jìn)行降序排序。
③完成遍歷條件屬性與決策屬性間的相似度判斷,去掉冗余屬性。
④找到最小屬性約簡,進(jìn)行步驟3。
步驟3:建立不同核函數(shù)的SVM模型。
①選擇公式(14)~(16)的不同核函數(shù),確定核函數(shù)的參數(shù)。
②將訓(xùn)練樣本映射到高維空間。
③用SVM在樣本特征空間中找出2類樣本間的最優(yōu)超分類平面。
④得到代表各樣本特征的支持向量集。
⑤形成判斷類別的判斷函數(shù)。
⑥建立穩(wěn)定的SVM模型。
⑦將3種核函數(shù)都采用之后結(jié)束此步驟。
步驟4:對模型預(yù)測結(jié)果進(jìn)行分析。
一般認(rèn)為,銀行借貸有2個基本條件:一是還貸能力,申請借貸的個人是否具有還貸能力,調(diào)查其現(xiàn)在擁有的資產(chǎn)情況,以及以后發(fā)展是否具有上升的潛力;二是信用情況,是調(diào)查其過去的借貸信息,落實(shí)其是否有過違約,違約次數(shù)、違約嚴(yán)重程度。因此銀行借貸與否與申請借貸人的還貸能力和信用情況有關(guān)。
文中用外國某銀行用戶信用數(shù)據(jù)集進(jìn)行實(shí)證研究,通過建立不同的模型得到的結(jié)果進(jìn)行分析比較,得出最后結(jié)論。
初始獲取的數(shù)據(jù)集中有1 136個樣本,每條數(shù)據(jù)含有24個變量。前23個輸入變量描述用戶信息特征,最后一個輸出變量描述銀行借貸情況,“0”表示拒絕借貸,“1”表示同意借貸。其中有8個變量為數(shù)值型數(shù)據(jù),14個變量為分類型數(shù)據(jù)。變量描述如表1。
表1 數(shù)據(jù)集中的變量描述Table 1 Variable description in data set
所獲取的數(shù)據(jù)往往存在各種各樣的問題,例如數(shù)據(jù)丟失、異常值等,會影響后續(xù)實(shí)驗(yàn)。因此對數(shù)據(jù)集先進(jìn)行手動預(yù)處理,刪除那些屬性值丟失和異常值太多的數(shù)據(jù)。該數(shù)據(jù)集中有11個樣本的變量的屬性值缺失太多,作為無效數(shù)據(jù)舍去。因此,經(jīng)過前期處理后得到的實(shí)際樣本數(shù)為1 125條。本文將預(yù)處理后的樣本數(shù)據(jù)根據(jù)十折交叉驗(yàn)證[22]隨機(jī)劃分為兩部分,其中90%作為訓(xùn)練集訓(xùn)練模型,剩下10%作為測試集測試模型的效果。
3.2.1 屬性約簡
輸入變量較多,推測條件變量中可能有冗余變量,不利于模型的訓(xùn)練預(yù)測,反而增加了訓(xùn)練模型時的復(fù)雜性,因此需要先進(jìn)行屬性約簡,剔除冗余性比較高的變量。
通過屬性約簡算法,對24個變量進(jìn)行屬性約簡,結(jié)果剩22個變量??梢耘卸ㄔ跅l件屬性中,有2個屬性與其他屬性相似程度過高,刪除之后對決策屬性也無影響。根據(jù)屬性約簡算法輸出的結(jié)果,被刪除的變量為最高學(xué)歷與出生日期。對照原始數(shù)據(jù)集,可以看出最高學(xué)歷與教育水平相似度較高,出生日期與年齡相似度較高,而最高學(xué)歷較為規(guī)范,出生日期較為復(fù)雜,有比較大的冗余性,被刪除。
3.2.2 不同核函數(shù)分類效果對比
由于數(shù)據(jù)集所含的樣本比較多,屬性約簡后的數(shù)據(jù)集按照十折交叉驗(yàn)證的方法將數(shù)據(jù)集分為10等份,其中9份作為訓(xùn)練集,1份作為測試集,對信貸問題進(jìn)行分類最后計算10次預(yù)測準(zhǔn)確率的平均值,得到該核函數(shù)分類的準(zhǔn)確率。使用Python程序?qū)崿F(xiàn)算法,選取帶有不同參數(shù)不同核函數(shù)的支持向量機(jī)進(jìn)行分類,對預(yù)測結(jié)果進(jìn)行對比,根據(jù)預(yù)測準(zhǔn)確率分析其適用銀行借貸的程度。實(shí)驗(yàn)選用線性核函數(shù)、高斯核函數(shù)、多項(xiàng)式核函數(shù)以及組合核函數(shù)(線性核函數(shù)+多項(xiàng)式核函數(shù))等幾種常用核函數(shù)。其中核函數(shù)中有一個非常重要的參數(shù),實(shí)驗(yàn)中P(懲罰系數(shù))均采用默認(rèn)值,改變各個核函數(shù)中最主要的一個參數(shù)進(jìn)行對比。
a.線性核函數(shù)分類結(jié)果及分析
線性核函數(shù)支持向量機(jī)(LN-SVM)模型預(yù)測的準(zhǔn)確率為77.04%,運(yùn)行時間為4.429 s。
線性核函數(shù)唯一的參數(shù)是P,其默認(rèn)值為1,P值越大越好,但可能會過擬合,線性核函數(shù)比較簡單,迅速知道哪些特征是最重要的。實(shí)驗(yàn)結(jié)果是線性核函數(shù)支持向量機(jī)模型的預(yù)測準(zhǔn)確率不高,運(yùn)行時間較快,分析得出其原因是線性核函數(shù)主要適用于線性可分?jǐn)?shù)據(jù)。
b.高斯核函數(shù)分類效果及分析
高斯核函數(shù)支持向量機(jī)(RBF-SVM)模型不同參數(shù)預(yù)測的準(zhǔn)確率以及運(yùn)行時間如表2。
表2 高斯核函數(shù)SVM模型運(yùn)行結(jié)果Table 2 Operation results of SVM model of Gaussian kernel function
高斯核函數(shù)支持向量機(jī)模型不同參數(shù)預(yù)測運(yùn)行時間折線如圖4。
圖4 高斯核函數(shù)運(yùn)行時間折線圖Fig.4 Graph showing Gaussian kernel function operation time
高斯核函數(shù)是一種局部性強(qiáng)的核函數(shù),其將一個樣本映射到一個更高維的空間內(nèi),采用向量作為自變量,局部性強(qiáng)、參數(shù)較少、有比較好的抗干擾能力,是核函數(shù)中應(yīng)用最廣的一個,無論大樣本還是小樣本都有比較好的性能,而且其相對于多項(xiàng)式核函數(shù)參數(shù)要少,因此大多數(shù)情況下在不知道用什么核函數(shù)的時候,優(yōu)先使用高斯核函數(shù)[19]。其參數(shù)γ值越小,分類界面越連續(xù);γ值越大,分類界面越分散,分類效果越好。其函數(shù)作用范圍隨著參數(shù)γ的減小而減弱。由折線圖看,高斯核函數(shù)采用不同參數(shù)的情況下,運(yùn)行時間差異不大,運(yùn)行時間也不長。從實(shí)驗(yàn)結(jié)果看,當(dāng)γ=2-7時,分類準(zhǔn)確率最高,運(yùn)行時間與其他參數(shù)運(yùn)行時間相比也不算最長,因此是比較理想的實(shí)驗(yàn)結(jié)果。
c.多項(xiàng)式核函數(shù)分類效果及分析
多項(xiàng)式核函數(shù)支持向量機(jī)(PL-SVM)模型不同參數(shù)預(yù)測的準(zhǔn)確率以及運(yùn)行時間如表3。
表3 多項(xiàng)式核函數(shù)SVM模型運(yùn)行結(jié)果Table 3 Operation results of SVM model of polynomial kernel function
多項(xiàng)式核函數(shù)支持向量機(jī)模型不同參數(shù)預(yù)測運(yùn)行時間折線如圖5。
圖5 多項(xiàng)式核函數(shù)運(yùn)行時間折線圖Fig.5 Graph showing polynomial kernel function operation time
多項(xiàng)式核函數(shù)實(shí)現(xiàn)將低維的輸入空間映射到高維的特征空間;但是多項(xiàng)式核函數(shù)的參數(shù)多,當(dāng)多項(xiàng)式的階數(shù)比較高的時候,核矩陣的元素值將趨于無窮大或者無窮小,計算復(fù)雜度會大到無法計算[19]。實(shí)現(xiàn)將低維的輸入空間映射到高維的特征空間,參數(shù)d越大,映射的維度越高,計算量就會越大,學(xué)習(xí)復(fù)雜性越高。實(shí)驗(yàn)結(jié)果,當(dāng)參數(shù)d=1時,多項(xiàng)式核函數(shù)退化為線性核函數(shù),與線性核函數(shù)的實(shí)驗(yàn)結(jié)果相同。隨著參數(shù)d的增大,多項(xiàng)式的次數(shù)越來越多,復(fù)雜性變高,實(shí)驗(yàn)的運(yùn)行時間越來越長;當(dāng)d=15時,運(yùn)行時間過長,已經(jīng)無法得到實(shí)驗(yàn)結(jié)果。
d.組合核函數(shù)(線性核函數(shù)+多項(xiàng)式核函數(shù))分類效果及分析
組合核函數(shù)(線性核函數(shù)+多項(xiàng)式核函數(shù))支持向量機(jī)(COM-SVM)模型預(yù)測的準(zhǔn)確率為79.13%,運(yùn)行時間為10.652 s。
組合核函數(shù)是將默認(rèn)參數(shù)的線性核函數(shù)和多項(xiàng)式核函數(shù)組合在一起作為新的核函數(shù)被支持向量機(jī)使用,具有線性核函數(shù)和多項(xiàng)式核函數(shù)的共同特點(diǎn)。實(shí)驗(yàn)結(jié)果是分類預(yù)測準(zhǔn)確率稍好于單個的核函數(shù),運(yùn)行時間較長。
采用ROC曲線[23]對不同核函數(shù)下的評價模型進(jìn)行檢驗(yàn)。ROC曲線越陡,說明預(yù)測結(jié)果的準(zhǔn)確性就越高。圖6就是在訓(xùn)練模型和分類預(yù)測完成后根據(jù)分類結(jié)果使用Python中的sklearn庫畫出來的4種核函數(shù)下的SVM模型的成功率曲線。從ROC曲線看出:LN-SVM模型的成功率為64.9%;PL-SVM模型的成功率為71.4%;RBF-SVM模型的成功率為81.4%;COM-SVM模型的成功率為79.6%(圖6)。
圖6 不同核函數(shù)SVM模型的ROC曲線圖Fig.6 ROC curve of SVM model of different kernel functions
綜上所述,選取不同的核函數(shù)的支持向量機(jī)效果各異,從分類準(zhǔn)確率、運(yùn)行時間以及ROC曲線3個方面看,實(shí)驗(yàn)結(jié)果最好的是用高斯核函數(shù)的支持向量機(jī)。但是實(shí)驗(yàn)結(jié)果只能說明高斯核函數(shù)適合于本實(shí)驗(yàn)用的數(shù)據(jù)集,不能表明高斯核函數(shù)優(yōu)于其他核函數(shù)。從其他文章[24]看,高斯核函數(shù)適用于特征較少、樣本量適中的數(shù)據(jù)集,也正是本次實(shí)驗(yàn)使用數(shù)據(jù)集的特征。
構(gòu)建銀行信貸風(fēng)險預(yù)測模型,用相似度屬性約簡算法對數(shù)據(jù)集進(jìn)行屬性約簡,再用支持向量機(jī)構(gòu)建分類模型,對測試集進(jìn)行分類,改變支持向量機(jī)的核函數(shù)以及各自的參數(shù),通過實(shí)驗(yàn)進(jìn)行對比分析。實(shí)驗(yàn)結(jié)果,構(gòu)建預(yù)測模型可有效地預(yù)測銀行借貸風(fēng)險,為銀行借貸提供依據(jù),也可作為理論研究基礎(chǔ),具有較高的實(shí)際應(yīng)用價值。但是,實(shí)驗(yàn)中找不到核函數(shù)的最優(yōu)參數(shù)使得預(yù)測準(zhǔn)確率達(dá)到最高,結(jié)合優(yōu)化方法尋找最優(yōu)參數(shù)有待進(jìn)一步研究。