4. 特征工程基线:原始特征集构建、缺失值处理策略、异常值截断与分箱、WOE与IV计算

特征工程是信用评分模型开发的核心环节,直接影响模型的区分能力与稳定性。本章以Champion模型对照实验为背景,系统建立特征工程基线流程,涵盖原始特征集构建、缺失值处理、异常值截断、分箱以及WOE/IV计算五个关键步骤。以下内容将作为后续所有对照实验的固定预处理管道。

4.1 原始特征集构建

原始特征集来源于信贷申请数据、行为数据与外部征信数据。构建时需遵循可解释性与业务逻辑优先原则,避免直接引入高维衍生变量。

特征类别 典型字段 数据来源 备注
身份属性 年龄、性别、婚姻状况、学历 申请表 需做逻辑校验
收入负债 月收入、总负债、信用卡使用率 申请表+征信 关注收入稳定性
历史信贷 最长逾期天数、逾期次数、信贷账户数 征信报告 核心预测变量
行为特征 近6个月查询次数、平均额度使用率 内部行为库 反映近期风险
基线原则:原始特征集仅包含业务明确可解释的字段,不加入任何自动衍生或黑箱组合特征。后续对照实验将以此为基础,逐步增加特征复杂度。

4.2 缺失值处理策略

信用数据缺失普遍存在,处理策略需区分随机缺失与非随机缺失。基线方案采用以下分层策略:

  1. 缺失率 > 80%:直接删除该特征,避免引入噪声。
  2. 缺失率 20%–80%:使用中位数(连续变量)或众数(分类变量)填充,并生成缺失指示变量。
  3. 缺失率 < 20%:使用中位数/众数填充,不额外生成指示变量。
  4. 业务特殊缺失:如“从未逾期”导致逾期天数缺失,填充为0。
关键操作:所有缺失值处理必须在训练集上计算填充值,并同步应用到验证集与测试集,防止数据泄露。
# 缺失值处理示例(Python伪代码)
from sklearn.impute import SimpleImputer

# 连续变量:中位数填充
cont_imputer = SimpleImputer(strategy='median')
train[cont_cols] = cont_imputer.fit_transform(train[cont_cols])
test[cont_cols] = cont_imputer.transform(test[cont_cols])

# 分类变量:众数填充
cat_imputer = SimpleImputer(strategy='most_frequent')
train[cat_cols] = cat_imputer.fit_transform(train[cat_cols])
test[cat_cols] = cat_imputer.transform(test[cat_cols])

4.3 异常值截断与分箱

异常值会扭曲模型参数估计,分箱则能增强特征鲁棒性。基线流程将两者结合处理。

4.3.1 异常值截断

采用百分位数截断法,对连续变量上下限进行压缩:

  • 下限截断点:第1百分位数
  • 上限截断点:第99百分位数
  • 截断后值替换为对应百分位数值,不删除样本。

4.3.2 等频分箱

分箱是WOE计算的前置步骤。基线采用等频分箱,每箱样本量占比尽量均衡:

分箱数 适用场景 每箱最小样本数
5–10箱 连续变量(如年龄、收入) ≥ 总样本的5%
2–5箱 离散变量(如信贷账户数) ≥ 总样本的10%
注意:分箱后需检查每箱的坏样本率是否单调递增或递减。若出现非单调趋势,需手动合并相邻箱体,确保业务可解释性。
异常值截断与分箱流程 原始连续变量 1%/99%截断 等频分箱 分箱结果 检查单调性 手动合并箱体 非单调 → 合并箱体

4.4 WOE与IV计算

WOE(Weight of Evidence)衡量每个分箱内好坏样本的分布差异,IV(Information Value)则评估特征整体预测能力。基线流程将WOE作为特征变换的唯一方式。

4.4.1 WOE计算公式

WOE_i = ln( (坏样本占比_i) / (好样本占比_i) )

其中:
  坏样本占比_i = 第i箱坏样本数 / 总坏样本数
  好样本占比_i = 第i箱好样本数 / 总好样本数

4.4.2 IV计算公式

IV = Σ (坏样本占比_i - 好样本占比_i) × WOE_i

4.4.3 IV评估标准

IV范围 预测能力 基线处理
< 0.02 无预测力 删除该特征
0.02 – 0.10 弱预测力 保留,但标记为低贡献
0.10 – 0.30 中等预测力 保留,核心特征
> 0.30 强预测力 保留,但需检查过拟合
基线规则:所有特征统一转换为WOE值后进入逻辑回归模型。IV仅用于特征筛选与排序,不作为模型输入。
WOE与IV计算流程 分箱后特征 统计好坏样本分布 计算WOE 计算IV IV筛选:删除低IV特征 WOE值作为模型输入特征

4.5 基线特征工程总结

本章建立的基线特征工程管道将作为Champion模型对照实验的固定前置流程。所有后续实验(如特征衍生、非线性变换、自动分箱优化)均在此基线上进行对比,确保实验结论可归因于单一变量。

步骤 方法 输出 对照实验变量
原始特征集 业务可解释字段 20–30个基础特征 固定不变
缺失值处理 中位数/众数填充+指示变量 无缺失数据集 可替换为模型填充
异常值截断 1%/99%百分位截断 截断后连续变量 可替换为分位数截断
分箱 等频分箱(5–10箱) 离散化特征 可替换为最优分箱
WOE/IV WOE变换+IV筛选 WOE特征矩阵 可替换为原始值
实验记录建议:每次对照实验均需记录基线管道各步骤的参数(如分箱数、截断百分位、填充策略),确保实验可复现。建议使用YAML配置文件统一管理。