1. 程式人生 > 實用技巧 >3分鐘搞明白信用評分卡模型&模型驗證

3分鐘搞明白信用評分卡模型&模型驗證

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

信用評分卡模型在國外是一種成熟的預測方法,尤其在信用風險評估以及金融風險控制領域更是得到了比較廣泛的使用,其原理是將模型變數WOE編碼方式離散化之後運用logistic迴歸模型進行的一種二分類變數的廣義線性模型。

本文重點介紹模型變數WOE以及IV原理,為表述方便,本文將模型目標標量為1記為違約使用者,對於目標變數為0記為正常使用者;則WOE(weight of Evidence)其實就是自變數取某個值的時候對違約比例的一種影響,怎麼理解這句話呢?我下面通過一個圖示來進行說明。

Woe公式如下:

Age

#bad

#good

Woe

0-10

50

200

=ln((50/100)/(200/1000))=ln((50/200)/(100/1000))

10-18

20

200

=ln((20/100)/(200/1000))=ln((20/200)/(100/1000))

18-35

5

200

=ln((5/100)/(200/1000))=ln((5/200)/(100/1000))

35-50

15

200

=ln((15/100)/(200/1000))=ln((15/200)/(100/1000))

50以上

10

200

=ln((10/100)/(200/1000))=ln((10/200)/(100/1000))

彙總

100

1000

表中以age年齡為某個自變數,由於年齡是連續型自變數,需要對其進行離散化處理,假設離散化分為5組(至於如何分組,會在以後專題中解釋),#bad和#good表示在這五組中違約使用者和正常使用者的數量分佈,最後一列是woe值的計算,通過後面變化之後的公式可以看出,woe反映的是在自變數每個分組下違約使用者對正常使用者佔比和總體中違約使用者對正常使用者佔比之間的差異;從而可以直觀的認為woe蘊含了自變數取值對於目標變數(違約概率)的影響。

再加上woe計算形式與logistic迴歸中目標變數的logistic轉換(logist_p=ln(p/1-p))如此相似,因而可以將自變數woe值替代原先的自變數值;

講完WOE下面來說一下IV:

IV公式如下


其實IV衡量的是某一個變數的資訊量,從公式來看的話,相當於是自變數woe值的一個加權求和,其值的大小決定了自變數對於目標變數的影響程度;從另一個角度來看的話,IV公式與資訊熵的公式極其相似。

事實上,為了理解WOE的意義,需要考慮對評分模型效果的評價。因為我們在建模時對模型自變數的所有處理工作,本質上都是為了提升模型的效果。

在之前的一些學習中,我也總結了這種二分類模型效果的評價方法,尤其是其中的ROC曲線。為了描述WOE的意義,還真的需要從ROC說起。仍舊是先畫個表格。

資料來自於著名的German credit dataset,取了其中一個自變數來說明問題。第一列是自變數的取值,N表示對應每個取值的樣本數,n1和n0分別表示了違約樣本數與正常樣本數,p1和p0分別表示了違約樣本與正常樣本佔各自總體的比例,cump1和cump0分別表示了p1和p0的累計和,woe是對應自變數每個取值的WOE(ln(p1/p0)),iv是woe*(p1-p0)。

對iv求和(可以看成是對WOE的加權求和),就得到IV(information value資訊值),是衡量自變數對目標變數影響的指標之一(類似於gini,entropy那些),此處是0.666,貌似有點太大了,囧。

上述過程研究了一個自變數對目標變數的影響,事實上也可以看成是單個自變數的評分模型,更進一步地,可以直接將自變數的取值當做是某種信用評分的得分,此時需要假設自變數是某種有序變數,也就是僅僅根據這個有序的自變數直接對目標變數進行預測。

正是基於這種視角,我們可以將“模型效果的評價”與“自變數篩選及編碼”這兩個過程統一起來。篩選合適的自變數,並進行適當的編碼,事實上就是挑選並構造出對目標變數有較高預測力(predictive power)的自變數,同時也可以認為,由這些自變數分別建立的單變數評分模型,其模型效果也是比較好的。

就以上面這個表格為例,其中的cump1和cump0,從某種角度看就是我們做ROC曲線時候的TPR與FPR。例如,此時的評分排序為A12,A11,A14,A13,若以A14為cutoff,則此時的TPR=cumsum(p1)[3]/(sum(p1)),FPR=cumsum(p0)[3]/(sum(p0)),就是cump1[3]和cump0[3]。於是我們可以畫出相應的ROC曲線。

可以看得出來這個ROC不怎麼好看。之前也學習過了,ROC曲線有可以量化的指標AUC,指的就是曲線下方的面積。這種面積其實衡量了TPR與FPR之間的距離。

根據上面的描述,從另一個角度看TPR與FPR,可以理解為這個自變數(也就是某種評分規則的得分)關於0/1目標變數的條件分佈,例如TPR,即cump1,也就是當目標變數取1時,自變數(評分得分)的一個累積分佈。當這兩個條件分佈距離較遠時,說明這個自變數對目標變數有較好的辨識度。

既然條件分佈函式能夠描述這種辨識能力,那麼條件密度函式行不行呢?這就引出了IV和WOE的概念。事實上,我們同樣可以衡量兩個條件密度函式的距離,這就是IV。這從IV的計算公式裡面可以看出來,IV=sum((p1-p0)*log(p1/p0)),其中的p1和p0就是相應的密度值。IV這個定義是從相對熵演化過來的,裡面仍然可以看到x*lnx的影子。

至此應該已經可以總結到:評價評分模型的效果可以從“條件分佈函式距離”與“條件密度函式距離”這兩個角度出發進行考慮,從而分別得到AUC和IV這兩個指標。這兩個指標當然也可以用來作為篩選自變數的指標,IV似乎更加常用一些。而WOE就是IV的一個主要成分。

那麼,到底為什麼要用WOE來對自變數做編碼呢?主要的兩個考慮是:提升模型的預測效果,提高模型的可理解性。

首先,對已經存在的一個評分規則,例如上述的A12,A11,A14,A13,對其做各種函式變化,可以得到不同的ROC結果。但是,如果這種函式變化是單調的,那麼ROC曲線事實上是不發生變化的。因此,想要提高ROC,必須寄希望於對評分規則做非單調的變換。傳說中的NP引理證明了,使得ROC達到最優的變換就是計算現有評分的一個WOE,這似乎叫做“條件似然比”變換。

用上述例子,我們根據計算出的WOE值,對評分規則(也就是第一列的value)做排序,得到新的一個評分規則。

此處按照WOE做了逆序排列(因為WOE越大則違約概率越大),照例可以畫出ROC線。

可以看出來,經過WOE的變化之後,模型的效果好多了。事實上,WOE也可以用違約概率來代替,兩者沒有本質的區別。用WOE來對自變數做編碼的一大目的就是實現這種“條件似然比”變換,極大化辨識度。

同時,WOE與違約概率具有某種線性關係,從而通過這種WOE編碼可以發現自變數與目標變數之間的非線性關係(例如U型或者倒U型關係)。在此基礎上,我們可以預料到模型擬合出來的自變數係數應該都是正數,如果結果中出現了負數,應當考慮是否是來自自變數多重共線性的影響。

另外,WOE編碼之後,自變數其實具備了某種標準化的性質,也就是說,自變數內部的各個取值之間都可以直接進行比較(WOE之間的比較),而不同自變數之間的各種取值也可以通過WOE進行直接的比較。進一步地,可以研究自變數內部WOE值的變異(波動)情況,結合模型擬合出的係數,構造出各個自變數的貢獻率及相對重要性

一般地,係數越大,woe的方差越大,則自變數的貢獻率越大(類似於某種方差貢獻率),這也能夠很直觀地理解。

總結起來就是,做信用評分模型時,自變數的處理過程(包括編碼與篩選)很大程度上是基於對單變數模型效果的評價。而在這個評價過程中,ROC與IV是從不同角度考察自變數對目標變數的影響力,基於這種考察,我們用WOE值對分類自變數進行編碼,從而能夠更直觀地理解自變數對目標變數的作用效果及方向,同時提升預測效果。

這麼一總結,似乎信用評分的建模過程更多地是分析的過程(而不是模型擬合的過程),也正因此,我們對模型引數的估計等等內容似乎並不做太多的學習,而把主要的精力集中於研究各個自變數與目標變數的關係,在此基礎上對自變數做篩選和編碼,最終再次評估模型的預測效果,並且對模型的各個自變數的效用作出相應的評價。

有了WOE和IV指標就可以進行下一步的模型驗證了。

模型驗證

在收集資料時,把所有整理好的資料分為用於建立模型的建模樣本和用於模型驗證的對照樣本對照樣本用於對模型總體預測性、穩定性進行驗證。申請評分模型的模型檢驗指標包括K-S值、ROC等指標。

通常一個二值分類器可以通過ROC(Receiver Operating Characteristic 受試者工作特徵曲線,ROC曲線上每個點反映著對同一訊號刺激的感受性。)曲線和AUC值(Area under Curve Roc曲線下的面積,介於0.1和1之間。Auc作為數值可以直觀的評價分類器的好壞,值越大越好。)來評價優劣。

很多二元分類器會產生一個概率預測值,而非僅僅是0-1預測值。我們可以使用某個臨界點(例如0.5),以劃分哪些預測為1,哪些預測為0。得到二元預測值後,可以構建一個混淆矩陣來評價二元分類器的預測效果。所有的訓練資料都會落入這個矩陣中,而對角線上的數字代表了預測正確的數目,即true positive + true nagetive。同時可以相應算出TPR(真正率或稱為靈敏度)和TNR(真負率或稱為特異度)。我們主觀上希望這兩個指標越大越好,但可惜二者是一個此消彼漲的關係。除了分類器的訓練引數,臨界點的選擇,也會大大的影響TPR和TNR。有時可以根據具體問題和需要,來選擇具體的臨界點。


圖7. 真假陰陽性定義

如果我們選擇一系列的臨界點,就會得到一系列的TPR和TNR,將這些值對應的點連線起來,就構成了ROC曲線。ROC曲線可以幫助我們清楚的瞭解到這個分類器的效能表現,還能方便比較不同分類器的效能。在繪製ROC曲線的時候,習慣上是使用1-TNR作為橫座標即FPR(false positive rate),TPR作為縱座標。這是就形成了ROC曲線。

而AUC(Area Under Curve)被定義為ROC曲線下的面積,顯然這個面積的數值不會大於1。又由於ROC曲線一般都處於y=x這條直線的上方,所以AUC的取值範圍在0.5和1之間。使用AUC值作為評價標準是因為很多時候ROC曲線並不能清晰的說明哪個分類器的效果更好,而作為一個數值,對應AUC更大的分類器效果更好。

ROC交換曲線現實意義:衡量捨棄好賬戶和避免壞賬戶之間的交換關係。理想的情況是:捨棄0%好賬戶的情況下拒絕100%的壞賬戶,模型完全準確地把好賬戶和壞賬戶區別開來


圖8. ROC曲線中好壞客戶比

K-S指標根據兩個數學家命名,與交換曲線類似,衡量的是好賬戶和壞賬戶的累計分佈比例之間具體最大的差距好賬戶和壞賬戶之間的距離越大,k-s指標越高,模型的區分能力越強。


圖9. K-S指標圖:作為好壞客戶的另一種區分標誌

這些指標滿足之後則基本完成評分卡模型的開發過程。

總結展望:

根據以上的講解,可以看出現在的評分卡並不是特別複雜,很多金融和銀行機構都會有自己已經成熟的評分卡模型,可是對於以安全性為最主要的因素考慮,未來的轉型是通過外圍的資料平臺進行雙擎的資料分析,業務拓展,例如實時的BI,以及像螞蟻金服一樣,很多額度指標和業務模式比較靈活。很多模型在基礎的資料量上的可行,並不代表在未來的雲資料平臺,大規模跑批中有很好的效果,這其中依然存在很大的挑戰和機遇。

金融大資料信用評分模型解析

傳統個人徵信的分析維度包括:

1 )個人基本資料,如年齡、性別、職業、收入、婚姻狀況、工作年限、 工作狀況等;

2) 信貸情況,主要是信貸和信用卡相關資料;

3)公共資料,包括稅務、工商、法院、電信、水電煤氣等部門的資料;

4) 個人信用報告查詢記錄。

如今隨著大資料時代的到來和發展,可用於評估人們的資料越來越豐富,如電商的交易資料、社交類資料(強社交關係如何轉化為信用資產)、網路行為資料等, 來自網際網路的資料將幫助金融機構更充分地瞭解客戶。

大資料徵信

(一) 側重電商: 芝麻信用

以芝麻信用所構建的信用體系來看,芝麻信用分根據當前採集的個人使用者資訊進行加工、整理、計算後得出的信用評分,分值範圍是 350 到 950,分值越高代表信用水平越好,較高的芝麻分可以幫助個人獲得更高效、更優質的服務。 芝麻分綜合考慮了個人使用者的信用歷史、行為偏好、履約能力、身份特質、人脈關係五個維度的資訊,其中來自淘寶、支付寶等“阿里系”的資料佔 30-40%。

1) 信用歷史: 過往信用賬戶還款記錄及信用賬戶歷史。目前這一塊內容大多來自支付寶,特別是支付寶轉賬和用支付寶還信用卡的歷史。

2) 行為偏好: 在購物、繳費、轉賬、理財等活動中的偏好及穩定性。比如一個人每天打遊戲 10 小時,那麼就會被認為是無所事事;如果一個人經常買紙尿褲,那這個人便被認為已為人父母,相對更有責任心。

3) 履約能力: 包括享用各類信用服務並確保及時履約,例如租車是否按時歸還,水電煤氣是否按時交費等。

4) 身份特質: 在使用相關服務過程中留下的足夠豐富和可靠的個人基本資訊。 包括從公安、學歷學籍、工商、法院等公共部門獲得的個人資料,未來甚至可能包括根據開車習慣、敲擊鍵盤速度等推測出的個人性格。

5) 人脈關係: 好友的身份特徵以及跟好友互動的程度。根據“物以類聚人以群分”的理論,通過轉賬關係、校友關係等作為評判個人信用的依據之一。其採用的人脈關係、性格特徵等新型變數能否客觀反映個人信用,但目前還沒有將社交聊天內容、點贊等納入參考。

大資料徵信大資料徵信

(二) 側重社交: 騰訊信用

騰訊信用 主要是基於社交網路。 通過 QQ、微信、財付通、 QQ 空間、騰訊網、 QQ 郵箱等社交網路上的大量資訊, 比如線上時長、登入行為、虛擬財產、支付頻率、購物習慣、社交行為等, 利用其大資料平臺 TDBank,在不同資料來源中, 採集並處理包括即時通訊、 SNS、電商交易、虛擬消費、關係鏈、遊戲行為、媒體行為和基礎畫像等資料,並利用統計學、傳統機器學習的方法,得出使用者信用得分,為使用者建立基於網際網路資訊的個人徵信報告。

騰訊信用 評分以星級的方式展現。 信用星級一共 7 顆星,亮星顆數越多代表信用越良好,星級主要由四個維度構成:

1) 消費: 使用者在微信、手機 QQ 支付以及消費偏好。

2) 財富: 在騰訊產品內各資產的構成、理財記錄。

3) 安全: 財付通賬戶是否實名認證和數字認證。

4) 守約: 消費貸款、信用卡、房貸是否按時還等。

大資料徵信

(三)側重運營商: 聚信立

聚信立主要是基於網際網路大資料,綜合個人使用者運營商資料、電商資料、公積金社保資料、學信網資料等,形成個人信用報告。 聚信立通過借款人授權,利用網頁極速抓取技術獲取各類使用者個人資料,通過海量資料比對和分析,交叉驗證,最終為金融機構提供使用者的風險分析判斷。

聚信立以報告形式展現,報告主要由四個維度構成:

1) 資訊驗真: 通過交叉比對驗證使用者是否是真實存在的人,是否有欺詐風險。

2) 運營商資料分析:分析使用者生活、工作及社交範圍,與家人朋友的聯絡頻率等。

3) 電商資料分析: 分析使用者消費能力及消費習慣,判斷使用者是否有能力還款。

4) 其他資料分析: 包括公積金社保資料、學信網資料、全國高法執行名單、黑名單等資料,判斷使用者是否存在欺詐風險。

聚信立的底層 IT架構為豐富的技術線提供穩定支援,對所有資料來源網站進行實時監控,人工智慧自動排錯,可用率超過 90%。

大資料徵信

(四)側重信用卡: 51 信用卡

51 信用卡主要是基於使用者信用卡電子賬單歷史分析、電商及社交關係強交叉驗證。 根據使用者的信用卡資料、開放給平臺的電商資料所對應的購買行為、手機運營商的通話情況、登記資訊等取得多維資訊的交叉驗證,確定使用者的風險等級以及是否貸款給該使用者。

51 信用卡風險等級由五個維度構成:

1) 賬單管理時間: 信用卡有效存續時間越長,使用者風險越低。

2) 賬單表現: 根據使用者的授信卡數、授信額度,以及還款比和賬單完整度判斷使用者的還款能力和誠信程度。

3) 手機入網期限: 手機入網期限越長,使用者風險越低。

4) 運營商: 通過近 4 個月有效通話記錄以及通訊錄中是否存在負面聯絡人判斷使用者自身的可靠程度。

5) 淘寶: 主要看常用收貨姓名及電話號碼是否與申請人預留號碼一致。

大資料徵信

大資料徵信怎麼做?隨著大資料時代的到來和發展,可用於評估人們的資料越來越豐富,如電商的交易資料、社交類資料(強社交關係如何轉化為信用資產)、網路行為資料等,來自網際網路的資料將幫助金融機構更充分地瞭解客戶。

1)側重電商:芝麻信用。芝麻分來自淘寶、支付寶的資料佔30-40%,綜合考慮個人使用者的信用歷史、行為偏好、履約能力、身份特質、人脈關係五個維度的資訊;

2)側重社交:騰訊信用。通過社交網路上的大量資訊,比如線上時長、登入行為、虛擬財產、支付頻率、購物習慣、社交行為等,得出使用者信用得分;

3)側重運營商:聚信立。綜合個人使用者運營商資料、電商資料、公積金社保資料、學信網資料等,形成個人信用報告;

4)側重信用卡:51信用卡。根據使用者的信用卡資料、開放給平臺的電商資料所對應的購買行為、手機運營商的通話情況、登記資訊等取得多維資訊的交叉驗證,確定使用者風險等級。

節選自招商證券2016年5月17日釋出的報告《全民徵信時代開啟,大資料推動創新》。

轉載於:https://my.oschina.net/hblt147/blog/1593382