蔣 輝,馬超群,許旭慶,蘭秋軍
(湖南大學工商管理學院,湖南 長沙 410082)
信用評估是評估機構根據(jù)借款者的財務狀況、經營狀況、歷史還款情況等各類相關信息,采取專家判斷或數(shù)學分析方法和模型,對借款者如期足額償還債務本息的能力和意愿進行評價,并按照其違約概率的大小以等級或分數(shù)的形式給出評估結論的行為,是降低信息不對稱的重要手段。近年來,中小微企業(yè)在維持經濟增長、緩解就業(yè)壓力、方便群眾生活、推動技術創(chuàng)新、促進國民經濟發(fā)展和保持社會穩(wěn)定等方面發(fā)揮著越來越重要的作用,企業(yè)數(shù)量不斷增加,對信貸的需求也越來越強勁。與此同時,各類消費信貸市場規(guī)模也呈快速增長態(tài)勢,這都大大激發(fā)了各類貸款機構對信貸評估模型的開發(fā)需求。
信用評估方法大體可分為三類,早期以信貸專家的主觀經驗判斷為基礎的一些方法,如5C法,5P法、LAPP法等較為普遍[1]。后來隨著統(tǒng)計方法的推廣,回歸分析、判別分析、Logistic模型、Probit模型等被引入信用評估,如Altman提出的Z-score模型,穆迪公司的Risk-Calc模型等就是其典型代表[2-4]。近些年,隨著機器學習的興起,人工神經網絡(ANN)、貝葉斯網絡、支持向量機(SVM)、決策樹等方法被大量引入,成為當前構建信用評估模型的熱門和主流方法[5-11]。
在對企業(yè)特別是中小微企業(yè)進行信用評估時,數(shù)據(jù)缺失現(xiàn)象非常普遍,這大大降低了信用評估模型的有效性和準確性。信用評估工作中數(shù)據(jù)缺失的原因很復雜,既有被調查者不愿意提供所需信息,也可能是數(shù)據(jù)采集人員或系統(tǒng)沒有收集到完整的信息,還有可能是某些數(shù)據(jù)項不適用于被調查者等等。總之,信用評估工作中是無法杜絕數(shù)據(jù)缺失現(xiàn)象的。正因為此,不少學者提出了一些處理方法。例如,Sustersic等提出了基于ANN的模型來解決當金融機構在缺乏常用信用評估數(shù)據(jù)的情況下的信用評估問題[12]。肖進等針對銀行客戶信用評估數(shù)據(jù)存在大量缺失的問題,設計了一種面向缺失數(shù)據(jù)的動態(tài)分類器集成選擇模型[13]。Florez-Lopez從處理后模型的魯棒性,準確性,復雜性等角度對比分析了信用評估中多種缺失值處理方法的性能[14]。
事實上,數(shù)據(jù)缺失是各類數(shù)據(jù)統(tǒng)計分析工作中的常見問題,已有不少經典的處理方法,大體歸為兩大類:刪除法和填補法。其中刪除法包括樣本的刪除和變量的刪除。該方法簡單直接,在數(shù)據(jù)樣本充足,小比例缺失,以及變量間有較強的替代性時,不會帶來嚴重的信息損失,因而不失為一種良好的方法。但當數(shù)據(jù)樣本不是那么富裕,缺失比例較大時,該方法會造成較大的信息損失,此時填補法是更值得推薦的方法。填補法依據(jù)兩類變量特性,一類是缺失變量自身的分布特性,另一類則是缺失變量與其它變量間的相關特性。典型的基于變量自身分布特性的方法有均值填補法和眾數(shù)填補法[15]。其中前者適用于連續(xù)變量,而后者適用于離散型變量,兩者均簡單而常用。目前以變量間的相關特性為基礎的填補方法更受關注,典型的有回歸填補、最近鄰填補、期望最大化法(EM)填補等[16]。一般而言,均值或眾數(shù)填補會帶來分布函數(shù)的扭曲估計[17]。而回歸填補相較于均值填補則更有優(yōu)勢,其填補值更接近于真實數(shù)據(jù)分布,但顯然它是建立在不同變量間數(shù)據(jù)具有線性回歸關系的假設基礎之上的。最近鄰填補算法也比較簡單,它獲取缺失樣本的K個最相似樣本,然后以其加權值進行填補,但如何定義樣本之間的相似性卻是一個難題[18]。EM算法是一種對含有隱變量的概率分布參數(shù)進行極大似然估計的方法,其中隱變量是指不可觀測的隨機變量。EM算法的最大特點就是通過假設這一隱變量的存在,簡化似然方程,將比較復雜的極大似然估計問題轉化為較簡單的極大似然估計問題[19]。有許多有關EM的改進與應用。如:Meng Xiaoli和 Rubin[20]通過給M步加上約束條件進行簡化,提出了ECM法,又將Monte Carlo模擬方法與E步結合,提出了MCEM算法,擴大了EM算法的應用范圍[21]。翟繼友和張鵬[22]將遺傳算法與EM算法相結合,對迭代過程起到了優(yōu)化作用??傊瓻M算法受到不少學者的關注,成為缺失值處理的熱點算法。
需要指出的是,這些工作絕大多數(shù)討論的是模型構建階段的問題,即怎樣從有缺失的數(shù)據(jù)集中構建模型。而在模型構建好之后,也即在模型應用階段,待評估樣本也常有部分輸入變量缺失的現(xiàn)象。一般的處理策略是在將數(shù)據(jù)輸入評估模型前,對其進行填補,而后再通過模型運算獲得其評估結果。針對這種應用場景,本文提出一種新的缺失值處理方法,稱之為仿EM算法,它仿照了EM算法交替迭代逼近的思想,但不要求事先假定變量的分布函數(shù),從而其適用性更強。另外,該算法不僅適用于單變量的填補,同時也適用于多變量缺失數(shù)據(jù)的填補。下文這樣組織:首先第2節(jié)簡要概述EM算法的原理,指出其缺陷,并給出了仿EM算法的基本思想與模型框架;然后第3節(jié)重點闡述本文算法兩個關鍵階段的具體實現(xiàn);在第4節(jié),基于3個信用評估數(shù)據(jù)集設計了相關實驗,從數(shù)據(jù)還原能力以及基于填補后數(shù)據(jù)的模型評估能力兩個角度,對比分析了仿EM算法與其它兩個經典方法之間的性能差異;最后是結論,總結了仿EM算法的特點、優(yōu)越性和適用范圍。
以隱變量為離散型變量為例,EM算法可描述如下:
已知X是可觀測變量,且有n個樣本的集合,{x1,x2,…,xn}現(xiàn)要對X服從的分布進行極大似然參數(shù)估計,θ是待估計的參數(shù),樣本的似然函數(shù)用L(θ;x)表示。P(x)表示隨機變量X的概率分布,z為隱變量Z取值范圍的集合,zi為第i個樣本隱變量的值。根據(jù)貝葉斯條件概率公式、Jesen不等式,樣本的似然函數(shù)可以表示為以下形式:
(1)
其中,
(2)
表示在已知參數(shù)θ下,樣本i屬于每個隱藏分布Z的概率。
EM算法具體步驟如下:
(1)初始化參數(shù)θ(0)
(2)反復迭代以下兩步,直到達到收斂條件,即|θ(k+1)-θ(k)|充分小:
E步:計算Qi(zi)=P(zi|xi;θ(k)),即根據(jù)第k次迭代的θ值,計算每個樣本隱變量取各值的概率。
M步:計算
θ(k+1)=
(3)
即求解令函數(shù)l(θ)取得極大值時的θ值,并更新θ值。
迭代結束后,即可求得缺失數(shù)據(jù)下概率模型的最佳參數(shù)估計,并根據(jù)Qi(zi)值的大小估計得到缺失數(shù)據(jù)最可能的填補值。同理,將概率分布P(x)改成密度函數(shù)f(x),累加符號改為積分符號,即可對連續(xù)型缺失變量進行估計。EM算法最大的優(yōu)點在于簡單和穩(wěn)定,每一步迭代都能保證極大似然函數(shù)值遞增,并且收斂到一個局部最優(yōu)值,當樣本分布越接近總體分布,估計結果越精確。
不難看出,EM算法步驟可以通俗地解釋為,先在假定模型參數(shù)值已知的基礎上估計隱變量的取值,然后利用隱變量的估計值修正模型參數(shù),這樣不斷交替估計迭代直到收斂。EM算法有一個不容忽視的缺點,即它要求給定似然函數(shù),也即要求給定變量在不同待估參數(shù)值下的分布函數(shù),這是一個非??量痰臈l件。本文所提出的仿EM填補方法借鑒了EM算法交替迭代的思想,但它并不對任何變量的分布函數(shù)進行假設。
仿EM填補算法分為兩個階段。其中第一階段為準備階段,其任務是基于樸素貝葉斯方法對各個變量構建相應的預測估計模型。即基于給定的原始數(shù)據(jù)集,以每個可能缺失的變量為輸出變量,然后從其它變量中選擇與其有關的若干變量作為輸入變量,構建該變量對應的預測估計模型。這樣n個可能有缺失的變量將對應n個預測估計模型,構成本算法的基礎模型庫,以此作為第二階段算法的基礎。此外,各個可能缺失變量的均值或眾數(shù)值也在此部分計算給出,并作為模型庫的其它參數(shù)結果保存以供第二階段使用。
第二階段的功能則是具體完成多變量填補任務。它采用仿EM算法,調用前一階段生成的相應的單變量預測估計模型,通過反復迭代逼近的方式,直至結果收斂,實現(xiàn)多變量缺失值的填補。該模型的框架結構如圖1所示。
圖1 填補模型總體框架
設原始全體輸入變量集為Xall={xl|l=1,2,…,L},可能出現(xiàn)缺失情況的變量子集為X={xi|i=1,2,…,I}?Xall,對每個變量xi∈X,(i=1,2,…,I),選取與其相關的若干重要變量構成子集,Xi={xj|xj∈Xall/{xi},且xj與xi相關}。
基于相應的完整的訓練數(shù)據(jù)子集Di(即變量集Xi∪{xi}對應的數(shù)據(jù)子集),構建相應的單變量估計模型fi:Xi→xi。樸素貝葉斯方法是有著堅實的數(shù)學基礎的分類算法,它以后驗概率最大的取值作為預測估計值,本文以其作為單變量估計模型。其模型可表達為:
(4)
其中V為xi的取值集合。根據(jù)貝葉斯公式:
(5)
只需計算P(Xi|xi)P(xi)即可。P(xi)可從訓練數(shù)據(jù)子集Di中估計得到,即數(shù)據(jù)中取值xi的樣本總數(shù)除以訓練集樣本總數(shù)。直接計算P(Xi|xi)的難度很大,但在各屬性相互獨立時,有P(Xi|xi)=∏jP(xj|xi),其中P(xj|xi)可由數(shù)據(jù)子集Di估值。
此外,除了輸出模型之外,算法在執(zhí)行時也一并將訓練子集數(shù)據(jù)中變量xi對應的分布函數(shù)及參數(shù)數(shù)據(jù)一并輸出保存,其中包括各變量的平均數(shù)或眾數(shù)、標準差、分布類型等。
簡言之,單變量估計模型庫的構建過程可表示為如圖2所示。
圖2 單變量預測估計模型庫生成算法流程
不失一般性,對一給定的含缺失值的待補樣本數(shù)據(jù),不妨設其實際缺失變量集為Xm={x1,x2,…,xm}?X,如圖3所示。
圖3 待補樣本數(shù)據(jù)示意
圖4 交替迭代填補算法流程
上述填補更新過程必是收斂的,可證明如下:
(6)
(7)
由于更新時調用模型庫的算法,返回的是對應最大后驗概率估計值,必有:
(8)
因此,
(9)
可見,填補值的更新過程是一個使得填補值取值組合概率單調遞增的過程。由于填補值的取值組合數(shù)有限,且概率值最大為1,即有界。因此該過程必然收斂,命題得證!
為了驗證仿EM算法在信用評估缺失數(shù)據(jù)填補方面的有效性,本文以UCI數(shù)據(jù)庫中兩個著名的信用評估建模基準數(shù)據(jù)集以及人人貸平臺真實信貸交易數(shù)據(jù)作為實驗數(shù)據(jù)。實驗從填補方法對原始數(shù)據(jù)的還原能力和信用評估模型判別能力兩個角度,比較了仿EM算法、眾數(shù)填補法、EM填補法的填補性能。其中眾數(shù)填補是對離散型變量進行簡單填補時最常用的方法,而EM算法則是當前比較流行的較為新穎的方法。
German數(shù)據(jù)集是來自于UCI數(shù)據(jù)庫,記錄了德國某銀行的信用卡業(yè)務數(shù)據(jù)。該數(shù)據(jù)集包含了20個屬性變量和1個類別變量,其中,類別變量有兩個取值,{good,bad},分別代表了信用好的客戶和信用差的客戶。該數(shù)據(jù)集總共包含1000條樣本,其中信用差的客戶300個,信用好的客戶700個。
Australia數(shù)據(jù)集也是來自于UCI數(shù)據(jù)庫的著名信用評估數(shù)據(jù)集,描述了澳大利亞某銀行的信用卡業(yè)務情況。該數(shù)據(jù)集共有690個客戶樣本,其中信用好的客戶有383個,信用差的客戶有307個。數(shù)據(jù)集包含14個屬性變量和1個類別變量。為了保護客戶的個人隱私,公開數(shù)據(jù)中的屬性變量名稱和分類變量取值都使用字母符號進行了替換。
人人貸數(shù)據(jù)集來源于人人貸理財端網站。該網站是P2P行業(yè)內最具影響力的品牌之一。本文通過程序爬取了2014年8月—2015年10月平臺發(fā)布的借款成功的記錄,并且確保未違約的記錄都是清償完畢的。數(shù)據(jù)集包含了包含12個屬性變量和1個類別變量,類別變量將客戶分為產生違約行為的壞客戶和正常還清借款的好客戶。本文實際使用樣本數(shù)量30256條,其中違約記錄2510條,占8.3%。
為了使變量適用于各類分類算法進行計算,本文對原始數(shù)據(jù)進行了分類型變量取值數(shù)字化操作,即基于變量不同取值狀態(tài)的實際含義,令它們取0,1,2,3…等數(shù)值;同時,本文采用信息增益方法對連續(xù)型變量進行了離散化操作,若變量按照(a,b],(b,c]…分為若干個區(qū)間,則依次令各個區(qū)間的值為序數(shù)型數(shù)據(jù)1,2……。
4.2.1 比較各個方法對原始數(shù)據(jù)的還原能力
對原始數(shù)據(jù)的還原能力是指各個填補方法根據(jù)已知信息對缺失值填補后的值與真實值的接近程度。填補值與真實值之間的偏差越小,說明該方法對原始數(shù)據(jù)的還原能力越好。
首先從完整的數(shù)據(jù)集中采用隨機抽樣的方式選取一定比例的樣本作為缺失數(shù)據(jù)集,剩余樣本作為訓練數(shù)據(jù)集。對于缺失數(shù)據(jù)集,隨機選取三個變量作為缺失變量,人工設置缺失。接著,基于訓練數(shù)據(jù)集分別采用仿EM算法、眾數(shù)填補法、EM填補法對缺失數(shù)據(jù)集進行缺失值填補,然后將各個方法生成的填補值與真實值對比,計算填補性能。為了避免不同樣本對實驗結果的影響,最后的結果取10次填補實驗的平均值。具體的實驗過程如圖5所示:
圖5 還原能力實驗過程
為了比較各個方法對原始數(shù)據(jù)的還原能力,本文引入均方根誤差(RMSE)和預測結果準確率(Accuracy)兩個評價準則。
(1)均方根誤差(RMSE)描述了填補值與真實值的偏差,具體計算公式如下。RMSE越小,說明偏差越小,填補效果越好。
(10)
其中,n為缺失樣本數(shù),Xpred,i代表第i條缺失樣本中變量X的填補值,Xreal,i代表第i條缺失樣本中變量X的真實值。
但是RMSE指標只適用于取值存在程度上差別的有序型分類變量。例如“學歷”變量,假設其有4種取值狀態(tài):1(高中及以下);2(大專);3(本科);4(研究生及以上)。當真實值為1時,預測其值為2相比于預測其值為3更接近于真實值,偏差更小。對于無序性分類變量,該指標沒有意義。
(2)預測結果正確率(Accuracy)。缺失數(shù)據(jù)集中,正確填補的樣本數(shù)與缺失樣本數(shù)的比值。正確率越高,說明填補效果越好。
4.2.2 比較信用評估模型預測能力
在數(shù)據(jù)挖掘過程中,進行缺失值處理的目的在于提高后續(xù)模型預測結果的準確率。在實際應用信用評估模型時,新增客戶常常存在部分字段缺失,必須進行缺失值填補才能完成風險預測。缺失值處理得越合適,模型的預測能力越好。因此,在其他條件相同的情況下,信用評估模型預測的準確率在一定程度上反映了缺失數(shù)據(jù)填補方法的優(yōu)劣。
實驗隨機選取一定比例的樣本作為缺失數(shù)據(jù)集,同時也作為測試集,剩余樣本作為訓練數(shù)據(jù)集,用來訓練信用評估模型和缺失值填補模型。對于缺失數(shù)據(jù)集,隨機選取三個變量,人工設置缺失,分別采用仿EM算法、眾數(shù)填補法、EM填補法進行缺失值填補,得到完整測試集。對于訓練數(shù)據(jù)集,采用隨機森林算法訓練模型,對填補后的完整測試集進行分類預測。為了避免不同樣本對實驗結果的影響,實驗采用10折交叉驗證技術,該方法將整個數(shù)據(jù)集隨機分成10 等份,依次取其中1 份作為測試集,而余下的9 份作為模型訓練集,如此循環(huán)10 次,稱之為10 折交叉驗證。最后結果取每份測試集結果的平均值。具體實驗流程如下圖6所示。
圖6 評估判別能力實驗過程
本文實驗中EM填補算法采用R軟件中Amelia包實現(xiàn),其余算法均由Python3編寫實現(xiàn),隨機森林算法采用Python中sklearn機器學習庫實現(xiàn)。
本文從German、Australia、人人貸數(shù)據(jù)集中,分別隨機選取三個變量進行實驗。變量的具體信息如表1所示。
表1 各數(shù)據(jù)集的缺失變量取值情況
表2給出了三個數(shù)據(jù)集的缺失變量采用仿EM法進行一次填補實驗后的真實值與填補值,由于篇幅限制,這里只列出了前20條缺失樣本的填補結果。表3給出了填補實驗后,分別采用仿EM法、眾數(shù)填補、EM法填補后各缺失變量的RMSE與Accuracy平均值。由于Australia數(shù)據(jù)集的變量含義未被公開,無法得知其是否有序,因此沒有計算其RMSE值。從表3中可以看出,在German和人人貸數(shù)據(jù)集中,采用仿EM法填補后的RMSE比眾數(shù)填補、EM法填補都要小;同時,在三個數(shù)據(jù)集中,采用仿EM法填補后的Accuracy相比較于其它兩種方法都高。因此,仿EM填補法對原始數(shù)據(jù)的還原能力要優(yōu)于眾數(shù)填補法與EM填補法。
表2 真實值與填補值對比示例(前20個樣本)
續(xù)表2 真實值與填補值對比示例(前20個樣本)
表3 三種方法填補后的效果比較
表4給出了10折交叉驗證下,采用三種方法填補后信用評估模型的平均判別準確率。從表中可以看出,對三個數(shù)據(jù)集,采用仿EM法填補后的判別準確率也都是最高的。
表4 三種方法填補后信用評估模型準確率比較
解決信用模型應用階段的數(shù)據(jù)缺失問題,能夠為貸款機構提供更為科學、準確的決策支持,幫助其盡可能地減少信用風險帶來的損失,意義重大。EM填補法作為一種經典的缺失值填補方法,需要事先假定變量分布函數(shù),當變量的真實分布與假定分布相差較大時,往往無法獲得較好的填補效果,本文提出的缺失值處理方法借鑒了EM算法交替迭代逼近的思想,同時又擯棄了其對分布函數(shù)的依賴,不僅適用于單變量的填補,同時也適用多變量缺失數(shù)據(jù)的填補。實驗結果表明,無論是填補效果還是填補之后信用評估模型的判別準確性,所提出的仿EM算法都明顯好于經典的眾數(shù)填補法和EM算法。因此,在處理信用評估模型的多變量缺失問題時,仿EM算法是一種有效的處理方法。必須指出,本文仿EM算法建立在單變量預測樸素貝葉斯模型基礎上,而該模型的一個重要假設是條件獨立性。如何放松該假設仍是值得研究的一個問題。另外,本文實驗假設了數(shù)據(jù)為分類變量,事實上,缺失變量也可以是連續(xù)型的,但前提是變量的條件分布函數(shù)已知,這樣才能在第一階段以此計算單變量樸素貝葉斯模型。若缺失變量條件分布函數(shù)未知,建議還是類似本文實驗方法,對變量事先離散化處理,基于頻數(shù)計算條件概率值,獲得單變量預測模型庫。