金融风控指标:WOE, IV, KS,LIFT值和PSI

1.WOE :表示自变量在分组内取值对于目标变量(违约概率)的影响
WOE 的计算公式是:
WOE= ln [( 坏样本 / 总坏样本 )/( 好样本 / 总好样本 )]= ln [( 坏样本 / 好样本 )/( 总坏样本 / 总好样本 )]
 

Pyi:是这个组中响应客户(坏样本)占所有样本中所有响应客户的比例

Pni:是这个组中未响应客户(好样本)占样本中所有未响应客户的比例

#yi:是这个组中响应客户的数量

#ni:是这个组中未响应客户的数量

#yT:是样本中所有响应客户(总的坏样本)的数量

#nT:是样本中所有未响应客户(总的好样本)的数

 
2.IV其作用是消除分组所占比例的影响 ,计算公式:
 
 
 
3.KS:

用以评估模型对好、坏客户的判别区分能力,计算累计坏客户与累计好客户百分比的最大差距。
KS值:代表模型的分割样本的能力,不能表示分割的是否准确,即便好坏客户完全分错,K-S值依然可以很高,

通常来讲,KS>0.2即表示模型有较好的预测准确性

KS的计算步骤如下:

1. 计算每个评分区间的好坏账户数。
2. 计算每个评分区间的累计好账户数占总好账户数比率 (good%) 和累计坏账户数占总坏账户数比率 (bad%)
3. 计算每个评分区间累计坏账户占比与累计好账户占比差的绝对值(累计 good%- 累计 bad% ),然后对这些绝对值取最大值即得此评分卡的 K-S 值。

4.lift值

Lift曲线衡量的是:与不利用模型相比,模型的预测能力“变好”了多少,lift(提升指数)越大,模型的运行效果越好。实质上它强调的是投入与产出比

先介绍几个相关的指标,以免混淆:

  • 准确率(accuracy,ACC):

 

  • 正确率(Precision,PRE),查准率:

 

  • 真阳性率(True Positive Rate,TPR),灵敏度(Sensitivity),召回率(Recall):

 

  • 假阳性率(False Positice Rate,FPR),误诊率( = 1 - 特异度):

 

 

5.PSI:群体稳定性指标(popularity stability index),用于衡量模型或特征的稳定性

psi = sum((实际占比-预期占比)* ln(实际占比/预期占比))

<0.1:          稳定性很高,

[0.10.25]:稳定性一般,

>0.25:        模型稳定性差,建议重做

  • 10
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WOE编码和IV是一种常用的特征工程方法,它们可以用于衡量一个特征与目标变量之间的关联程度和预测能力。下面是Python计算IVWOE编码的示例代码: ```python import pandas as pd import numpy as np def calc_woe_iv(df, col, target): """ 计算指定特征的WOE编码和IV :param df: 数据集 :param col: 特征列名 :param target: 目标变量列名 :return: WOE编码和IV """ # 计算该特征每个取的数量和占比 freq = pd.DataFrame({'total': df.groupby(col)[target].count(), 'bad': df.groupby(col)[target].sum()}) freq['good'] = freq['total'] - freq['bad'] freq['bad_rate'] = freq['bad'] / freq['bad'].sum() freq['good_rate'] = freq['good'] / freq['good'].sum() # 防止出现除0错误 freq.loc[freq['bad_rate'] == 0, 'bad_rate'] = 0.0001 freq.loc[freq['good_rate'] == 0, 'good_rate'] = 0.0001 # 计算WOE编码 freq['woe'] = np.log(freq['good_rate'] / freq['bad_rate']) # 计算IV freq['iv'] = (freq['good_rate'] - freq['bad_rate']) * freq['woe'] iv = freq['iv'].sum() return freq[['woe', 'iv']].reset_index().rename(columns={col: 'value'}), iv ``` 这个函数的输入参数包括数据集`df`、特征列名`col`和目标变量列名`target`,输出WOE编码和IV。在函数中,我们首先计算了该特征每个取的数量、坏样本数量、好样本数量、坏样本率、好样本率和WOE,然后根据IV的公式计算了每个取对应的IV,并将它们相加得到总的IV。最后,我们将WOE编码和IV合并成一个DataFrame并返回。 需要注意的是,代码中为了避免出现除0错误,我们在计算WOE编码和IV时对分母加上了一个极小0.0001。同时,WOE编码和IV计算方式可以根据具体的业务需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值