欢迎光临散文网 会员登陆 & 注册

SQL计算KS、AUC、IV、PSI指标

2022-02-27 11:31 作者:python风控模型  | 我要投稿

在公众号「python风控模型」里回复关键字:学习资料 

QQ学习群:1026993837 领学习资料  



引言

KS、AUC、IV、PSI等指标是信贷风控业务中最为常见的模型指标。在模型开发和监控中都尤为重要。常规计算方案是将数据从数据库下载到本地,再用Python代码来计算,这是一件非常费力的事情。为此,本文介绍了一种Spark-SQL来计算KS、AUC、IV、PSI的方法,供参考。

目录
Part 1. KS的计算方法
Part 2. IV的计算方法
Part 3. AUC的计算方法
Part 4. PSI的计算方法
Part 5. 总结
致谢
版权声明

Part 1. KS的计算方法

在《求是汪在路上:风控模型—区分度评估指标(KS)深入理解应用》这篇中,我们介绍过KS相关知识。另外可作为延伸阅读的一篇论文是《A comparison study of computational methods of Kolmogorov Smirnov statistic in credit scoring》,其摘要如下:

图 1 - 论文摘要

该文章提出了KS的三种计算方法,分别是不分箱法、等频分箱法(equal-size binning)和等距分箱法(equal-width binning),同时从计算值、排序性、几何含义三个维度对比,得出:1)不分箱法能到最大且唯一的值;2)只有等频分箱法能用于评估分数的排序性。

  1. 不分箱法。

计算步骤为:

  • 对连续变量(或特指模型分数)排序后,计算累积好人数和累积坏人数;

  • 得到累积好人捕捉率和累积坏人捕捉率

  • 两者相减得到差值,并取绝对值(可用abs方法)。

  • 计算所有绝对值的最大值。

2. 分箱法。

其操作方法是在不分箱法的基础上多了一步分箱,也就是将分数离散化为有限个区间。通常分为10个或20个箱子。

在平时业务分析中,我们习惯于等频分箱法来看,原因是可以看到模型的排序性,以及头部坏人捕捉率等指标,所能传达的信息更为丰富。

等频分箱法的计算方法为:

其输出结果如下:

上述代码在分数分布集中时可能无法做到完全等频,为此可采用以下代码(也更推荐)

其输出结果如下:

如前文所述逻辑,等频分箱法计算KS的代码如下:

如前文所述逻辑,不分箱法计算KS的代码如下:

由于最终算KS的时候加上了绝对值函数abs(),所以窗口函数over()里面无论是asc或者desc,效果都一样。对比等频分箱法和不分箱法,我们发现结果略有差异。不分箱法是最精确的,因为其不受分箱方法的影响,毕竟精度的差异又会影响分箱边界,进而影响分箱内的样本量。

如果需要同时计算多个模型分数的KS,可以对表进行一些调整,如下所示。再把name放在窗口函数over()中。

Part 2. IV的计算方法

在《求是汪在路上:风控模型—WOE与IV指标的深入理解应用》中可参考IV的含义,其衡量自变量对于因变量的信息量。IV越高,说明该自变量对于预测因变量越有效。

在分箱表的基础上,计算IV的代码如下:

Part 3. AUC的计算方法

ROC曲线下方的面积即为AUROC(Area Under ROC),简称AUC。理论上,对于连续分数分布,我们可将计算公式定义为:


其中,  

为坏人累积分布,

为好人累积分布。

在实际问题中,我们拥有的样本量总是有限的,因此上述连续积分问题就转变为累加问题。如何计算这个面积呢?这就需要用到微积分的知识,相邻两个坐标点可以组成一个很小的梯形,计算这个小梯形的面积后,我们将整个区间加起来即可得到。

图 2 - ROC与AUC

计算AUC的代码如下:

Part 4. PSI的计算方法

在《求是汪在路上:风控模型—群体稳定性指标(PSI)深入理解应用》中可参考PSI相关知识。首先,我们同样对分数进行分箱。

PSI的计算需要指定基准组,用以作为比较的参照。通常在模型监控中,我们会按月份来与基准组比较,因此我们引入了一个分组字段gp。

此时,我们将会得到中间数据如下:

接下来,计算得到最终的PSI结果:

Part 5. 总结

得益于分布式计算,以及简洁的语法,SQL可有效帮助数据从业者节省大量时间。由此,本文介绍了常见风控模型指标的SQL计算方法。

原文链接:https://zhuanlan.zhihu.com/p/402824981/

参考www.tandfonline.com/doi/full/10.1080/03610918.2016.1249883

感谢liaoge所提供的等频分箱的代码

欢迎各位同学了解《python金融风控评分卡模型和数据分析(加强版)》学习更多相关知识

入口1:https://ke.qq.com/course/package/43071

入口2:https://study.163.com/series/1202915601.htm?share=2&shareId=400000000398149


SQL计算KS、AUC、IV、PSI指标的评论 (共 条)

分享到微博请遵守国家法律