IV与PSI的理解–深入浅出

  • Post author:
  • Post category:其他

IV与PSI的理解–深入浅出

一、IV理解

IV衡量的是某一个变量的信息量,是基于WOE来计算的,也可以说是基于KL散度的计算。用于变量个数较多场景下的变量初筛。

Iv取值范围 含义
(0,0.02] 无预测力
(0.02,0.1] 较弱预测力
(0.1,+∞) 预测力可以

理论上,是保留IV值大于0.1的变量进行筛选。
工业上,一般IV超过0.05可以通过初筛,根据变量iv实际情况可以灵活设置阈值。

  1. WOE理解
    woe是一种分箱手段,我理解的最主要有四个作用:
    1)归一化:分箱且woe编码映射后的变量,可以将变量归一到近似尺度上;
    2)引入非线性:对于逻辑回归这类线性模型,引入变量分箱可以增强模型的拟合能力,实现了按WOE排序的区间正样本比例呈单调趋势;
    3)增强鲁棒性:分箱可以避免异常数据对模型的影响
    4)可解释性:使变量具有可解释性

  2. WOE计算
    WOE=ln(Pxi / Qxi)
    Pxi 表示正样本中某一箱的占比,Qxi表示负样本中某一箱的占比。

  3. KL散度计算
    KL散度(相对熵)通常用于衡量两个分布之间的差异。
    KL(P | Q)=sum( Pxi * log(Pxi / Qxi) )
    KL散度通常被称作KL距离,根据公式可以看出,KL散度满足距离的非负性和同一性,不满足对称性和直递性,因此不是严格意义上的“距离”。

  4. IV计算
    IV=sum( (Pxi – Qxi) * ln(Pxi / Qxi) )

    1)基于WOE的计算
    IV=sum( (Pxi – Qxi) *woe)
    公式中的 Pxi – Qxi 弥补了 woe的为负性
    2)基于KL散度的理解
    IV = sum( (Pxi – Qxi) * ln(Pxi / Qxi) )
    = sum( Pxi * ln( Pxi / Qxi ) – Qxi * ln( Pxi / Qxi ) )
    = sum(Pxi * ln( Pxi / Qxi ) + Qxi * ln( Qxi / Pxi ) )
    = KL(P | Q)+KL(Q | P)
    通过观察公式可以发现,IV部族了KL的不对称性
    二. PSI理解
    在第二part ,WOE计算中,我故意没有像其他博主一样写的很细节 ,以便让我们注意到,PSI 和IV的计算公式是一样的。不同点在于,PSI一般用于衡量两个样本分布的差异,如标签监控和模型监控来判断标签和模型的稳定性。IV一般用于判断正负样本中标签的信息量,如上面所说的标签筛选。

PSI取值范围 含义
<0.1 模型\标签 稳定性很高
(0.1,0.2] 一般
(0.2,+∞) 建议修复

工业上,一般阈值可以根据具体情况灵活选择,一般到0.3都是ok的

  • psi超出阈值时,排查点:
    1)观察历史至今的统计值,如果是随着时间变化逐渐提高,可能是正常的;
    2)如果是突然提高,要排查底层标签问题,查看哪个分段出现异常,是否出现促销活动或者底层表更新异常。

三. IV&PSI落地注意点

  1. 共同注意点
    1)一般实际计算时,Pxi / Qxi部分可能出现分母为0的情况,导致程序报错,此时可以分子分母同时加一个极小值,如0.000001;
  2. PSI注意点
    1)psi 代码实现时,一般涉及到base样本和当前样本分箱统计结果 merge,要注意两份样本分箱的类型一致;
    2)一般连续型字段,我们选择等频分箱方法而不是等距,避免某一箱为空;
    3)分类型字段,通常直接value_counts进行统计,但是要注意可能会出现长尾分布,这种情况,可以将尾部类别进行合并;
    4)计算时要注意保留base和当前样本的中间统计结果,便于排查问题。

参考文章 https://www.cnblogs.com/insomniaM/p/15164206.html


版权声明:本文为weixin_39400863原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。