4. 特征工程入门:特征构造、分箱与WOE/IV计算
特征工程是风控模型从原始数据到有效预测变量的核心桥梁。本章聚焦三大基础能力:特征构造(统计类、时序类、比率类)、特征分箱原理以及WOE与IV计算。掌握这些方法,才能将业务数据转化为模型可用的“燃料”。
核心认知: 特征工程不是一次性工作,而是与业务理解、数据探查、模型迭代紧密耦合的循环过程。好的特征能显著提升模型区分度与稳定性。
4.1 特征构造方法
特征构造的目标是从原始字段中衍生出更具预测力的新变量。根据数据形态,主要分为三类:统计类、时序类、比率类。
4.1.1 统计类特征
基于聚合函数对一组记录进行统计计算,常用于客户交易、行为日志等明细数据。
| 统计量 | 说明 | 典型应用场景 |
|---|---|---|
| 计数 (Count) | 一段时间内交易/登录次数 | 活跃度、交易频次 |
| 求和 (Sum) | 总交易金额、总消费积分 | 消费能力、资金规模 |
| 均值 (Mean) | 平均单笔金额、平均间隔天数 | 消费习惯、还款规律 |
| 标准差 (Std) | 金额波动性、行为离散程度 | 收入稳定性、风险波动 |
| 最大值/最小值 | 单笔最大/最小金额 | 极端消费、大额交易预警 |
| 分位数 (P25/P50/P75) | 分布位置特征 | 收入分布、额度使用分布 |
实战建议: 统计类特征要关注窗口期选择(近3个月 vs 近6个月)和聚合粒度(按天/周/月)。窗口太短可能噪声大,太长可能稀释近期行为信号。
4.1.2 时序类特征
捕捉变量随时间变化的趋势、周期性和突变点,对预测客户行为变化至关重要。
- 趋势特征: 线性回归斜率、移动平均差值(如近3月均值 - 近6月均值)。
- 波动特征: 变异系数 (CV = Std/Mean)、近期波动率。
- 最近行为特征: 距上次交易天数、距上次逾期天数(Recency)。
- 变化率特征: 环比增长率、同比增长率(如本月消费额 / 上月消费额 - 1)。
- 周期性特征: 是否周末交易、是否节假日交易、时段偏好(夜间交易占比)。
4.1.3 比率类特征
通过两个或多个变量的比值构造,能有效消除量纲影响,反映相对关系。
| 比率类型 | 公式示例 | 业务含义 |
|---|---|---|
| 负债收入比 (DTI) | 总负债 / 月收入 | 还款压力 |
| 额度使用率 | 已用额度 / 总授信额度 | 资金紧张程度 |
| 逾期金额占比 | 逾期金额 / 总应还金额 | 违约严重性 |
| 交易集中度 | 最大类别交易金额 / 总交易金额 | 消费偏好集中度 |
| 收入稳定性比率 | 近3月收入标准差 / 近3月收入均值 | 收入波动风险 |
4.2 特征分箱原理
分箱(Binning)是将连续变量或高基数离散变量划分为有限个区间(箱)的过程。分箱是计算WOE/IV的前提,也是处理异常值、缺失值、非线性关系的有效手段。
4.2.1 分箱的主要目的
- 处理非线性关系: 年龄与违约率常呈U型分布,分箱后可被线性模型捕捉。
- 降低噪声与过拟合: 合并稀疏区间,减少模型对极端值的敏感度。
- 缺失值处理: 将缺失值单独作为一个箱,避免填充带来的偏差。
- 业务可解释性: 将连续值转化为“低/中/高”等业务标签。
4.2.2 常用分箱方法
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 等距分箱 | 将变量值域等分为k个区间 | 简单直观,易于实现 | 易受异常值影响,箱内样本分布不均 |
| 等频分箱 | 使每个箱包含大致相同数量的样本 | 箱内样本量均衡,稳定性好 | 可能将相近值分到不同箱,破坏连续性 |
| 决策树分箱 | 利用单变量决策树寻找最优切分点 | 自动捕捉与目标变量的关系 | 可能过拟合,需控制树深度 |
| 卡方分箱 | 基于卡方检验合并相邻且分布相似的箱 | 统计意义明确,保证箱间差异显著 | 计算复杂度较高,需设置停止条件 |
| 最优分箱 (基于IV) | 以最大化IV值为目标搜索分箱方案 | 直接优化区分能力 | 计算量大,可能过度拟合训练集 |
分箱避坑指南:
- 每个箱的样本占比不宜低于5%(特殊业务场景可放宽至2%)。
- 箱数一般控制在5~10箱,过多会失去分箱意义,过少会损失信息。
- 分箱后必须检查单调性:好样本占比(或坏样本率)应随箱号单调递增或递减,否则需调整。
4.3 WOE与IV计算
WOE(Weight of Evidence,证据权重)和IV(Information Value,信息量)是风控评分卡中最核心的变量筛选与编码工具。
4.3.1 WOE定义与计算
WOE衡量每个分箱中“好客户”与“坏客户”分布的差异程度。计算公式如下:
WOE_i = ln( (坏样本在箱i的占比) / (好样本在箱i的占比) )
= ln( (Bad_i / Bad_total) / (Good_i / Good_total) )
其中:
- Bad_i:第i个箱中的坏样本数(如逾期客户)
- Good_i:第i个箱中的好样本数(如正常客户)
- Bad_total:总坏样本数
- Good_total:总好样本数
WOE的性质:
- WOE > 0:该箱中坏样本占比高于好样本占比,风险偏高。
- WOE < 0:该箱中好样本占比高于坏样本占比,风险偏低。
- WOE = 0:该箱中好坏分布与整体一致,无区分能力。
- WOE值应随风险等级单调变化(单调递增或递减)。
4.3.2 IV定义与计算
IV是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.50 的变量不一定更好,可能是与目标变量存在直接业务定义关系(如“是否逾期”作为输入变量预测“是否逾期”),属于数据泄露。务必结合业务逻辑审查。
4.3.3 WOE/IV计算完整示例
假设对“年龄”字段进行分箱后,统计结果如下:
| 年龄分箱 | 好样本数 | 坏样本数 | 好占比 | 坏占比 | WOE | IV贡献 |
|---|---|---|---|---|---|---|
| [18, 25) | 500 | 120 | 0.125 | 0.300 | 0.875 | 0.153 |
| [25, 35) | 1200 | 160 | 0.300 | 0.400 | 0.288 | 0.029 |
| [35, 45) | 1300 | 80 | 0.325 | 0.200 | -0.485 | 0.061 |
| [45, 55) | 800 | 30 | 0.200 | 0.075 | -0.981 | 0.123 |
| [55, +∞) | 200 | 10 | 0.050 | 0.025 | -0.693 | 0.017 |
| 合计 | 4000 | 400 | 1.000 | 1.000 | — | IV=0.383 |
计算过程(以第一箱为例):
好占比 = 500 / 4000 = 0.125
坏占比 = 120 / 400 = 0.300
WOE = ln(0.300 / 0.125) = ln(2.4) ≈ 0.875
IV贡献 = (0.300 - 0.125) × 0.875 = 0.175 × 0.875 ≈ 0.153
该变量IV=0.383,属于强预测能力变量,可作为评分卡核心特征。
4.4 特征工程实战要点
特征工程检查清单:
- 缺失率: 缺失率 > 70% 的特征建议直接剔除。
- 唯一值比例: 唯一值占比过高的特征(如ID类)无预测价值。
- 相关性: 特征间相关系数 > 0.8 时需考虑合并或剔除其一。
- IV排序: 优先保留IV > 0.02 且业务可解释的特征。
- 时间稳定性: 检查特征分布在不同时间窗口是否稳定(PSI检验)。