[关闭]
@77qingliu 2018-05-16T20:51:56.000000Z 字数 3133 阅读 2276

粗分类和WOE

信用评分


证据权重(WOE)转换可以将logistic回归模型转变为标准评分卡格式。
引入WOE转换的目的不是为了提高模型质量,仅仅是让模型结果更直观。
可以参看这篇知乎文章深入理解WOE。

WOE的定义

下面我们拿Age(年龄)这个变量来计算相关的woe ,首先对每个level分层统计:

然后计算各分层的好坏占比:

最后通过好坏占比计算WOE
image.png-140.4kB
以上就是计算WOE的过程,简单易懂

每个类别的WOE定义如下:


其中,

WOE的含义

接下来的例子表明,如果用一个已经经过WOE转换的自变量对logistic回归模型进行拟合,则该变量对应的模型参数正好是1.0。

  1. Data CC1;
  2. set CreditCard;
  3. if ResStatus='Other' then RS_WOE=-0.200487;
  4. else if ResStatus='Home Owner' then RS_WOE=-0.019329;
  5. else RS_WOE=0.095564;
  6. run;
  7. /* Fit a logistic regression model with
  8. RS_WOE as an indpendent variable */
  9. proc logistic data=CC1;
  10. model Status(event='1')=RS_WOE;
  11. run;

结果如下:
image.png-21.8kB

根据以上结果,可以得到如下结论:

  1. 新WOE变量RS_WOE的模型参数刚好是1.0。说明WOE转换是概率比的对数的含义。
  2. 可以将当前的模型表示为:
    ,截距项等于违约于正常的频率之比的对数。

证据权重于标准评分卡

用公式8.5的WOE转换,可以将名义变量x的WOE重新表述为:


其中,是二元虚拟变量,即对于所有的,如果的取值是第类,则
因此,用一个变量证据权重的值代替该变量的各个类别,将得到的上式形式的新变量。将新转换变量用于logistic回归模型,其效果就是该模型对于该变量所有类别将生成唯一的模型参数。

下面通过一个例子来阐明上述概念及含义。

用三个名义独立变量的logistic回归模型,模型公式可以用于违约与正常比率的形式表示如下:


需要注意的是,由于变量的名义属性,不能直接进行拟合,因此,上式仅仅是一个概念性框架,还不是真正的模型方程。
进而,假设这些变量可以分为以下几类:

变量 分类

对这三个变量进行WOE转换,可以得到新的转换值如下:


用转换后的数值型变量代替变量,对模型进行拟合,就可以进行参数估计并得到以下模型:

的值代入上式得:

重新整理公式,将比率的对数表示为的形式,可以得到下列最终的模型等式:

模型的上述表现形式就是前面所说的标准评分卡,具体解读如下:

SAS实现

%CalcWOE使用一个二元因变量DVVar计算一个名义变量IVVar的证据权重,并将结果保存在数据集DSout中。宏的参数如下:
image.png-136kB
用下例程序对数据集CreditCard中的变量进行证据权重转行。

  1. %let DsIn=CreditCard;
  2. %let DVVar=Status;
  3. %let IVVar=ResStatus;
  4. %let WOEDS=ResStatus_WOE;
  5. %let DSout=CreditCard_WOE1;
  6. %let WOEVar=ResStatus_WOE;
  7. %CalcWOE(&DsIn, &IVVar, &DVVar, &WOEDs,&woevar,&DSout);

输出如下:
image.png-11.9kB

连续变量的WOE

为了将WOE转换应用于连续变量,需将数值分段,以适用WOE的定义。分段方法见之前的笔记,这里选用最优分段方法。
用宏%BinContVar%ApplyMap2可以实施最优分段。因为要针对所有候选连续自变量调用这个宏,可以引入一个新的宏按照顺序调用这两个宏。宏%BinVar实现这个功能,代码的参数如下:
image.png-196.4kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注