分箱技术初探:分箱的目的、等频分箱、等距分箱、分箱的评估指标(WOE、IV)
分箱这东西,说白了就是把连续特征切成几段。你可能会问:好好的连续值干嘛要切?嗯,在反欺诈风控里,连续特征直接扔进模型往往效果不好——异常值太敏感,业务解释性也差。我个人习惯在做评分卡或规则引擎前,先把连续特征分箱,然后计算 WOE 和 IV 来筛选变量。
为什么需要分箱?
分箱主要解决三个问题:
- 对抗异常值:比如交易金额,一个 100 万的交易能直接把模型拉偏。分箱后,极端值被框在尾箱里,影响可控。
- 保证单调性:很多风控场景需要特征与坏账率呈单调关系,分箱后通过调整切点可以让趋势更干净。
- 计算 WOE/IV:信息量 IV 必须基于分箱后的 WOE 来算,连续值没法直接算 IV。
分箱的另一个隐藏目的:降低过拟合风险。连续特征在决策树里容易把树长得很深,分箱后特征等级变少,模型更稳。
等频分箱 vs 等距分箱
最常见的两种基础分箱方法。先看对比:
| 特性 | 等频分箱 | 等距分箱 |
|---|---|---|
| 划分原则 | 每个箱样本数相等 | 每个箱数值区间宽度相等 |
| 优点 | 每个箱有足够样本,统计稳定 | 简单直观,边界好理解 |
| 缺点 | 边界可能不自然,高密度区被切碎 | 样本分布不均,稀疏箱可能没数据 |
| 典型适用场景 | 样本量大、分布均匀的特征 | 分布已知、业务上有自然间隔的指标 |
我曾经在一个电商反欺诈项目里用过等频分箱。那个特征叫「登录到支付耗时」,大部分用户都在 30 秒以内,但有个别用户拖到 5 分钟。等频分箱把 5 分箱切出来,结果最后一箱只有几百个样本,坏账率乱跳。后来我改成等距分箱,把尾部单独设一个箱,效果才正常。说白了,没有万能分箱,得根据数据分布来选。
分箱评估指标:WOE 和 IV
分箱好不好,不是凭感觉的,得用 WOE 和 IV 来量化。
WOE(Weight of Evidence, 证据权重) 衡量每个箱中坏客户与好客户的对比程度:
WOE_i = ln( (坏_i / 坏_总) / (好_i / 好_总) )
WOE 为正说明该箱坏客户占比高于整体水平,为负说明安全。
IV(Information Value, 信息量) 综合评估整个特征的分箱效果:
IV = Σ ( (坏_i / 坏_总) - (好_i / 好_总) ) × WOE_i
经验规则:
- IV < 0.02:几乎没有预测能力,放弃该特征
- 0.02 ≤ IV < 0.1:弱预测能力
- 0.1 ≤ IV < 0.3:中等预测能力
- IV ≥ 0.3:强预测能力(但小心过拟合)
注意:IV 超过 0.5 不一定更好,有时代表该特征与目标过度相关,可能是标签泄漏。我建议 IV 再高也要看业务逻辑是否合理。
分箱流程总览
下面这个图把整体流程画清楚了,从原始特征到最终评估。我个人习惯先尝试等频分箱做初筛,再根据 IV 和单调性决定是否调整切点。
避坑指南
- 小心空箱:等距分箱容易让某个区间没样本,IV 会报 NaN。我习惯在分箱后加一步,合并稀疏箱。
- 单调性约束:WOE 需要随数值单调变化,否则模型解释性差。遇到非单调的情况,我会手动调整切点或改用卡方分箱。
- 分箱数量:太多箱会导致过拟合,太少箱会损失信息。一般建议 5~10 箱,根据样本量微调。
小技巧:等频分箱后,可以计算每个箱的 WOE 并画出折线图。如果折线图明显单调递增或递减,说明分箱效果不错;如果上下乱跳,赶紧换分箱策略。
分箱是整个特征工程里最基础也最容易踩坑的一步。记住:分箱不只是为了切出好看的边界,更是为了让特征与目标的关系变得干净、可解释。有了稳定的分箱,WOE 和 IV 才有参考价值。