特征工程:WOE编码、IV值筛选、分箱方法归纳总结
特征工程这一步,做得好不好,直接决定评分卡的生死。我个人习惯把WOE编码叫做评分卡的"灵魂"——你想想看,同样的逻辑回归,换一套特征编码方式,KS能差出0.1以上。这一章我带你把这几个核心环节捋清楚:分箱怎么做、WOE怎么算、IV怎么筛,以及它们怎么串成一条完整流水线。
1. WOE编码——为什么评分卡离不开它
WOE的全称是 Weight of Evidence,翻译过来叫"证据权重"。说白了,它衡量的是:在某个分组内,好客户和坏客户的分布差异有多大。
公式长这样:
WOE_i = ln( (坏客户在第i组的占比) / (好客户在第i组的占比) )
= ln( Bad_i / Bad_total ÷ Good_i / Good_total )
为什么要用WOE而不是直接扔原始变量进模型?三个原因:
- 处理缺失值:缺失值可以单独成箱,WOE自动吸收缺失信息
- 单调性约束:评分卡要求每个变量的分数趋势是单调的——WOE编码天然支持这一点
- 与逻辑回归天生一对:WOE编码后的变量,逻辑回归的系数估计更稳定,共线性问题也少
核心要点:WOE编码把原始数值映射成了"对数 odds",这个变换让特征和目标变量之间变成了线性关系。逻辑回归吃这一套。
我在项目中遇到过这样的情况:某家银行客户年龄变量,原始值扔进模型,系数不稳定,换了几次样本就变号。改成WOE编码之后,系数稳如磐石。说白了,WOE不只是编码,它是一次"特征与目标的关系对齐"。
2. 分箱方法——选对了,模型就赢了一半
分箱是WOE编码的前置步骤。箱怎么分,直接影响WOE的稳定性和单调性。我常用的方法有四种,下面这个表格把它们的差异一次性说清楚:
| 方法 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 等距分箱 | 按特征值等宽切分 | 实现简单,计算快 | 易受异常值影响,样本分布不均 | 分布均匀的数值型特征 |
| 等频分箱 | 每箱包含等量样本 | 样本分布均衡,WOE稳定 | 可能把相同值切到不同箱 | 长尾分布或偏态分布的特征 |
| 决策树分箱 | 用信息增益或基尼系数找最优切分点 | 自动捕捉非线性关系 | 容易过拟合,需控制叶节点数 | 有强交互或非线性关系的特征 |
| 卡方分箱 | 基于卡方检验合并相邻区间 | 统计意义明确,结果可解释 | 计算成本较高,对稀疏箱敏感 | 类别型或离散型特征 |
个人经验:我一般在探索阶段先用等频分箱快速跑一遍IV,候选特征确定之后,再对Top 10的重要性变量用决策树或卡方分箱做精调。别一上来就在全量特征上跑复杂分箱——耗时且容易过拟合。
3. IV值筛选——特征去留,拿数字说话
IV值(Information Value)是WOE编码的"副产品",但它本身就是一个极其好用的特征筛选指标。公式不复杂:
IV = Σ ( (Bad_i / Bad_total - Good_i / Good_total) × WOE_i )
IV值衡量的是:这个特征整体上对好/坏客户的区分能力有多强。判断标准业界基本统一:
| IV值范围 | 预测能力 | 我的建议 |
|---|---|---|
| < 0.02 | 无预测力 | 直接剔除,留着只会增加噪声 |
| 0.02 ~ 0.10 | 弱预测力 | 视样本量和业务意义决定去留 |
| 0.10 ~ 0.30 | 中等预测力 | 建议保留,这是评分卡的主力区间 |
| 0.30 ~ 0.50 | 强预测力 | 优先保留,但注意检查单调性 |
| > 0.50 | 极强(需警惕) | 可能隐含了未来信息或过拟合风险 |
避坑指南:我曾经在某个项目中看到IV高达0.8的特征,仔细一查,是"客户是否逾期超过90天"这种未来信息变量。IV值高不一定好——它可能是在"偷看"未来。遇到IV > 0.5的特征,必须先做业务合理性审查。
为什么IV > 0.5要警惕?因为真正稳定的强变量,IV通常在0.3~0.5之间。超过0.5的,要么是数据泄露,要么是分组方式过度拟合了样本分布。我建议你在筛选时把阈值设在0.02以上、0.5以下,这是一个经过多次项目验证的"安全区间"。
4. 完整流程——从原始特征到建模特征集
下面这张图把WOE编码、分箱、IV筛选的关系一次性串联起来。这也是我在每个评分卡项目中都会画的工作流:
整个流程走下来,你会发现:分箱是"手艺活",WOE是"翻译官",IV是"质检员"。三者的关系不是串行执行那么简单——分箱方式变了,WOE和IV都会跟着变。所以我建议你多尝试几种分箱策略,对比IV值和单调性,选最优的那套方案。
总结一下我的个人经验:
- 分箱阶段:先用等频快速筛选,再用卡方或决策树精调Top特征
- WOE编码阶段:务必检查每个变量的单调性,不单调的重新分箱
- IV筛选阶段:阈值设在0.02~0.50之间,超过0.50的必须做业务审查
这一套组合拳打下来,你拿到的特征集既有预测力,又有稳定性。评分卡上线之后,你不会因为特征编码的问题被模型表现打脸——嗯,这一点我吃过亏,希望你不用再经历一次。