从样本集到WOE、IV值的变迁

从样本集到WOE、IV值的变迁

样本集

  • 在建模任务开始之前首先需要有训练数据,也就是样本集。在对样本集的所有特征数据进行整理和预处理后,就可以对每一个特征的各个取值计算WOE。

WOE(Weight of Evidence)证据权重

  • WOE是对原始特征的一种编码形式,要对一个变量进行WOE编码,需要首先把这个变量进行分组处理(也叫离散化、分箱),如果是离散变量可以直接进行编码。

  • 对每个分组或取值,响应比例(二分类取值为1的正样本比例)越大,WOE值越大;当前分组WOE的正负,由当前分组响应和未响应的比例,与样本整体响应和未响应的比例的大小关系决定,当前分组的比例小于样本整体比例时,WOE为负,当前分组的比例大于整体比例时,WOE为正,当前分组的比例和整体比例相等时,WOE为0。

  • 计算公式:

    • Y e s i {Yes_i} Yesi​表示分组中的响应用户
    • Y e s t o t a l {Yes_{total}} Yestotal​ 表示总响应用户
    • N o i {No_i} Noi​ 表示分组中的未响应用户
    • N o t o t a l No_{total} Nototal​ 表示总未响应用户
  • W O E i = l n ( Y e s i / Y e s t o t a l N o i / N o t o t a l ) WOE_i = ln(\frac{Yes_i/Yes_{total}}{No_i/No_{total}}) WOEi​=ln(Noi​/Nototal​Yesi​/Yestotal​​)

IV值(Information Value)信息值

  • IV值主要用来对原始特征进行编码和预测能力评估。特征变量IV值的大小即表示该变量预测能力的强弱。IV 值的取值范围是 [ 0 , 正 无 穷 ) [0, 正无穷) [0,正无穷),如果当前分组中只包含响应客户或者未响应客户时,IV = 正无穷。

  • 计算公式:

    • Y e s i {Yes_i} Yesi​表示分组中的响应用户
    • Y e s t o t a l {Yes_{total}} Yestotal​ 表示总响应用户
    • N o i {No_i} Noi​ 表示分组中的未响应用户
    • N o t o t a l No_{total} Nototal​ 表示总未响应用户
  • I V i = ( Y e s i / Y e s t o t a l − N o i / N 0 t o t a l ) ∗ l n ( Y e s i / Y e s t o t a l N o i / N o t o t a l ) IV_i = ({Yes_i/Yes_{total}}-{No_i/N0_{total}})*ln(\frac{Yes_i/Yes_{total}}{No_i/No_{total}}) IVi​=(Yesi​/Yestotal​−Noi​/N0total​)∗ln(Noi​/Nototal​Yesi​/Yestotal​​)

  • I V = s u m ( I V i ) IV = sum(IV_i) IV=sum(IVi​)

应用要点

  1. IV值并不是越大越好。IV过大,很可能是分箱不当所引起的,这个时候需要对数据进行重新分箱操作。
  2. 如果按照原始的公式进行计算,分箱操作时,某个组的数据不能为0,否则做除法运算时会触发异常。
  3. 实际项目操作过程中,一般选择0.2作为阈值。如果某个特征的IV值小于0.2,说明区分度不太够,该特征不予采用。
上一篇:C语言数据处理---大数求公约数


下一篇:【C++】基础 | 指针与引用