1. 程式人生 > >信用風險評分卡研究-第8章筆記

信用風險評分卡研究-第8章筆記

enc amba 序列 custom ner bank 年齡 red 生成

證據權重(Weight OF EVIDENCE,WOE)轉換可以將LOGISTIC回歸模型轉換為標準評分卡轉為標準評分卡格式 。本章,我們將介紹各種各種類型變量的WOE轉換過程,即名義變量、順序變量和連續變量。應用證據權重轉換又稱為粗分類。
引入WOE轉換的目的並不是為了提高模型質量。正如第7章部分案例表明,一些變量不應該被納入模型。這或者是因為它們不能增加模型值,或者是因為與模型相關系數有關的誤差較大。
在介紹WOE轉換之前,需要註意的是,建立標準信用評分卡也可以不采用WOE轉換。在這種情況下,LOGISTIC回歸模型需要處理更大數量的自變量。盡管這樣會增加建模程序的復雜性,但最終得到的評分卡都是一樣的。

WOE的定義
下面的例子介紹了WOE轉換的基本定義
首先,計算數據庫CREIDTCARD中變量RESSTATUS種類中正常和違約的頻率。列表8.1中的代碼將生成這些頻率。
PROC FREQ DATA=CREDITCARD;
TABLE RESSTATUS*STATUS/NOCOL NOROW NOPC;
RUN;
使用這些數值,就可以計算變量RESSTATUS的WOE,詳見表8.1
列GOOD DIST 和 BAD DIST分別表示變量RESSTATUS種類別中正常和違約的分布情況。它們分別由每一類別中占用率數據除以正常或違約總數而得到。例如,類別OTHER中正常的分布的計算方法是131/803=0.163

如果括號內比值小於1,WOE的負值;反之則是正值。需要註意的是,公式8.1中將違約的分布作為分子來定義WOE。公式8.1中類別順序的選擇隱含著WOE的含義。

例8.1 是計算名義變量WOE的示例。同樣的定義和計算方法也可以適用於連續變量的情況。但此時,在計算WOE之前,需要將變量分段(bin)。對於名義變量,如例8.1中的變量RESSTATUS,因為這些名義變量之間不存在任何序列關系,所以不同類別的WOE值可以以任意順序排列。然而,對於連續變量,WOE值必須按照分段的自然順序排列,以保持連續原始變量中所包含的順序關系。

WOE的含義
對於一個名義變量的類別I,或連續變量的某個段,WOE可以定義為:
需要記住的是,對於類別i,正常和違約的分布分別定義為:類別I的好樣本/總樣本的好樣本。

將對這個函數與第4章中公式4.23定義的概率比進行對比,可以發現WOE是概率比一種調整形式後的對數,即第i類中違約與正常比率與整個樣本中違約與正常比率的比值的對數。因此,其目的是衡量第I類對違約與正常的比率的影響程度。

接下來的例子表明,如果用一個已經過了WOE轉換的自變量對LOGISTIC回歸模型進行擬合,則該變量對應的模型參數正好是1.0.

列表8.7 用%EqWBinn 和 %VarBin 對連續變量分段

列表8.6
%MACRO BinVar(DSIN,IVVAR,DVVAR,METHOD,MMAX,ACC,DSVARMAP,NEWVAR,DSOUT);

/*Generate the binning map and then apply them */
%BinContVar(&DSIN,&IVVAR,&DVVAR,&METHOD,&MMAX,&ACC,&DSVVARMAP);

%APPLYMAP2(&DSIN,&IVVAR,&NEWVAR,&DSVARMAP,&DSOUT);

%MEND;

采用最優分段,通常不會得到等寬的段。
當WOE值和分段號的序列量表之間的線性關系,或更差一點單調性,不存在時,有兩種可能的解釋:
1、變量並沒有表現出可以用LOGISTIC回歸合理解釋的模式。因此,不應該將該變量以現有形式納入模型。可以嘗試各種不同的轉換,如不同的分段範圍,以考察解決該問題的可能性。如果沒有任何一種轉換形式可以得到線性,或至少是單調形式,應該拒絕該變量。
2、第二種情況是,可以為WOE值觀察到的行為找到業務上的解釋。常見的U形曲線表示某個變量取中間值時壞賬率較低,而其取高端值和低端值時壞賬率較高。例如,如果申請評分卡中表示,客戶年齡的變量被觀察到這種模式,可以用就業率對些進行解釋,中年客戶的就業率水平最高,而年齡區間的兩端就業率較低。

/*Customer Age:5 EQUAL WIDTH Bins */
%EqWBinn(CreditCard,CustAge,5,CustAge_b,CC1,Age_Map);

/*Bin All the continuous variables using Binvar The mothod=1 is the Gini method*/

/*Time at Address:5 bins*/
%BinVar(CC1,TmAtAddress,Status,1,5,0.01,TmAtAddress_Map,TmAtAddress_b,CC2);

/*Customer Income:5 bins*/
%BinVar(CC2,CustIncome,Status,1,5,0.01,CustIncom_Map,CustIncom_b,CC3);

/*Time with Bank:4 bins*/
%BinVar(CC3,TmWbak,Status,1,4,0.01,TmWBank_Map,TmWBank_b,CC4);

/*Average monthly balance:5 bins*/
%BinVar(CC4,AmBalance,Status,1,5,0.01,AmBalance_Map,AmBalance_b,CC5);

/*Utilization Rate:5 bins*/
%BinVar(CC5,UtilRate,Status,1,5,0.01,UtilRate_Map,UtilRate_b,CC6);

列表8.8 用%CalcWOE 計算WOE
/*Customer Age*/
%CalcWOE(CC6,CustAge_b,Status,CustAge_WOE,CustAge_WOE,CC7);

/*Time at address*/
%CalWOE(CC7,TmAtAddress_b,Status,TmAtAddress_WOE,TmAtAddress_WOE,CC8);

/*Customer Income*/
%CalcWOE(CC8,CustIncome_b,Status,CustIncome_WOE,CustIncome_WOE,CC9);

/*Time With Bank*/
%CalcWOE(CC9,TmWBank_b,Status,TmWBank_WOE,TmWbank_WOE,CC10);

/*Average Monthly Balance*/
%CalcWOE(CC10,AmBalance_b,Status,AmBalance_WOE,AmBalance_WOE,CC11);

/*Utilization Rate*/
%CalcWOE(C11,UtilRate_b,Status,UtilRate_WOE,UtilRate_WOE,CC12);

顯示並繪制變量CustAge和TmAtAddress的WOE值
/*Customer Age*/
PROC SORT DATA=CustAge_WOE;
BY CustAge_b;
RUN;

PROC PRINT DATA=CustAge_WOE;
RUN;

%PlotWOE(CustAge_WOE,CustAge_b);

/*Time At Address*/
PROC SORT DATA=TmAtAddress_WOE;
BY TmAtAddress_b;
RUN;

PROC PRINT DATA=TmAtAddress_WOE;
RUN;
%PlotWOE(TmAtAddress_WOE,TmAtAddress_b);

信用風險評分卡研究-第8章筆記