WOE 的单调变量分箱
项目描述
单调-WOE-Binning-算法
该算法基于 Mironchyk 和 Tchistiakov (2017) 名为“Monotone optimization binning algorithm for credit risk modeling”的优秀论文。
如何使用
- 点安装 monotonic_binning:
pip install -i https://test.pypi.org/simple/simple/ monotonic-binning - 导入 monotonic_woe_binning:
from monotonic_binning import monotonic_woe_binning as bin - 分别为训练和测试数据集使用
fit和分箱变量transform
演示运行详情
下面提供的demo_run.py文件使用宾夕法尼亚州立大学在线课程tests/中的德国信用卡数据,并概述了如何使用该软件包。
单调WOE总结
评估预测变量强度的证据权重 (WOE) 方法在分析领域是一种被低估的方法。虽然它是信用风险建模中的标准票价,但它在其他环境中未得到充分利用,尽管它的公式使其足够通用,也可用于其他领域。WOE 方法主要旨在将变量分箱,将最多信息传递给潜在的分类模型。很多时候,WOE 分箱方法使用信息值或 IV 来衡量此类分箱的有效性。有关 WOE 和 IV 的更详细介绍,这篇文章 很有用。
在信用风险建模领域,监管监督通常要求将模型中的变量分成多个箱
- 其证据权重 (WOE) 值与 1/0 变量保持单调关系(例如贷款违约或非违约)。
- 规模合理且大到足以代表人口群体,并且
- 在此分箱过程中最大化给定变量的 IV 值。
为了举例说明此类问题的约束条件,请考虑一个简单的数据集,其中包含年龄和默认指标(默认为 1,否则为 0)。以下是一种可能的情况,其中变量被分成三组,使得它们的 WOE 值随着客户年龄的增加而单调下降。
WOE 的推导方式是,随着 WOE 值的增加,违约率会降低。因此我们可以推断,与年长客户相比,年轻客户更有可能违约。
达到满足前面讨论的所有三个要求的完美 bin 截止值是一项非常重要的练习。大多数统计软件都提供这种区间变量的最佳离散化。R 的smbinning 包 和 SAS 的proc transreg就是两个这样的例子。据我所知,Python 对这个问题的解决方案相当稀少。
该软件包试图补充已经详尽的软件包,例如scorecardpy,它能够将变量与单调 WOE 结合起来。