4、数据清洗与预处理:缺失值处理、异常值检测、数据标准化与归一化方法

在催收触达场景中,原始数据通常来自多个业务系统(贷前审批、贷中监控、历史催收记录),存在字段缺失、录入错误、量纲不一致等问题。若直接用于构建 Collection Score 模型,会导致评分偏差、触达策略失效。本章聚焦数据清洗与预处理的三个核心环节:缺失值处理、异常值检测、标准化与归一化。

4.1 缺失值处理

催收数据中常见的缺失字段包括:联系人数量、最近一次还款日期、收入证明、紧急联系人接通状态。缺失比例超过 60% 的字段建议直接剔除;缺失比例在 5%–60% 之间的字段需采用插补或模型预测填充。

缺失比例 推荐策略 催收场景示例
< 5% 删除缺失记录 / 均值填充 年龄、性别(少量缺失直接删除)
5% – 30% 中位数 / 众数填充 收入等级(用同客群中位数填充)
30% – 60% KNN 插补 / 回归预测 最近联系时间(用相似逾期天数样本预测)
> 60% 直接剔除字段 次要联系人关系(缺失过多无建模价值)
实战建议:催收数据中“最近一次还款日期”缺失时,不要简单填充为“无”,应结合逾期天数构造“还款间隔缺失”标志位,保留缺失信息作为独立特征。

4.2 异常值检测

异常值会严重扭曲 Collection Score 的分数分布,导致高逾期客群被误判为低风险。催收场景中常见的异常值包括:联系次数异常高(如单日拨打 200 次)、逾期天数为负、收入金额为 0 或负数。

推荐使用 IQR(四分位距) 和 Z-Score 两种方法联合检测:

  • IQR 法:适用于偏态分布(如联系时长、逾期金额)。定义 Q1 – 1.5×IQR 和 Q3 + 1.5×IQR 为正常区间,超出即视为异常。
  • Z-Score 法:适用于近似正态分布(如年龄、信用分)。|Z| > 3 的样本标记为异常。
注意:不要直接删除所有异常值。催收场景中“极端高联系次数”可能对应失联后紧急催收的真实行为,应结合业务规则判断是否保留。
异常值检测双流程 异常值检测双流程(IQR + Z-Score) 原始催收数据 IQR 法(偏态分布) Z-Score 法(正态分布) 计算 Q1、Q3、IQR 计算均值、标准差、Z 值 标记异常:超出 [Q1-1.5IQR, Q3+1.5IQR] 标记异常:|Z| > 3

4.3 数据标准化与归一化

Collection Score 模型通常融合多个量纲不同的特征(如逾期天数 0–365、联系次数 0–200、信用分 300–850)。若不进行标准化,量级大的特征会主导模型权重,导致评分失真。

4.3.1 归一化(Min-Max Scaling)

将数据缩放到 [0, 1] 区间,适用于分布有明确上下界的特征(如年龄、逾期天数)。公式:

X_norm = (X - X_min) / (X_max - X_min)

4.3.2 标准化(Z-Score Scaling)

将数据转换为均值为 0、标准差为 1 的分布,适用于无明显边界或存在异常值的特征(如联系时长、收入)。公式:

X_std = (X - μ) / σ
方法 适用场景 催收特征示例 注意事项
Min-Max 归一化 特征有明确上下界,无极端异常值 逾期天数(0–365)、年龄(18–70) 新数据超出原范围时需重新计算 min/max
Z-Score 标准化 特征分布近似正态,或存在合理异常值 联系时长、历史还款金额 不改变数据分布形状,保留异常信息
Robust Scaling 特征存在较多异常值 单日联系次数(存在极端拨打行为) 使用中位数和 IQR,对异常值不敏感
实战技巧:在催收触达场景中,建议对“逾期天数”使用 Min-Max 归一化,对“联系时长”使用 Z-Score 标准化。若同时使用多个模型(如逻辑回归 + 树模型),标准化对逻辑回归影响更大,树模型可跳过此步。
标准化与归一化对比 标准化 vs 归一化效果对比 原始数据 量纲:天、次、分 范围:0 – 1000 Min-Max 归一化 范围:[0, 1] Z-Score 标准化 均值=0,标准差=1 保留分布形状 适合 LR/SVM 保留异常信息 适合聚类/距离

4.4 数据清洗完整流程

在实际催收触达项目中,建议按以下顺序执行数据清洗与预处理:

  1. 字段筛选:剔除缺失率 > 60% 的字段,保留业务强相关字段。
  2. 缺失值填充:按缺失比例选择均值/中位数/KNN 插补,并生成缺失标志位。
  3. 异常值检测:使用 IQR + Z-Score 联合标记,结合业务规则决定删除或保留。
  4. 标准化/归一化:根据特征分布选择 Min-Max、Z-Score 或 Robust Scaling。
  5. 数据验证:检查处理后数据的分布、相关性,确保无信息泄露。
案例:某催收项目原始数据包含“最近联系时间”字段,缺失率 45%。使用 KNN 插补(k=5)后,模型 AUC 从 0.72 提升至 0.78;同时生成“联系时间缺失标志”作为独立特征,进一步将 AUC 提升至 0.80。