第3章:数据准备与质量核查 —— 样本要求、缺失率、异常值、时间一致性

机会评分模型校准的精度直接受输入数据质量的影响。实测经验表明,超过 60% 的校准偏差根因并非模型算法,而是数据准备阶段的疏漏。本章将围绕四个核心维度——样本要求、缺失率、异常值、时间一致性,定义可量化的质量参数、测试条件及验收阈值,并提供标准化的检查流程与调参策略。

3.1 样本要求

参数/指标 定义 测试条件 验收阈值
最小样本量 各分组(模型版本、场景、时间窗口)至少包含的记录数 按业务分层:低频场景≥500,常规场景≥2000 ≥500 per cell
正负样本比例 机会命中(正)与未命中(负)的样本数比 校准前平衡化处理,极端比例优于1:10或10:1需做重采样 1:3 ~ 3:1
样本时效 数据采集时间距离校准基准日的最长间隔 滚动窗口固定为90天,特殊业务可放宽至180天 ≤90天
⚠ 易错点: 样本量不足时,校准参数方差膨胀;正负比例失衡会导致校准曲线向多数类偏移。不可在未做质量声明的情况下直接输入校准环节。

测量步骤

  1. 按模型版本 + 场景标签 + 时间窗口分组聚合数据。
  2. 计算每组的记录数及正负样本计数。
  3. 与验收阈值对比,标记不合格分组。
  4. 对不合格分组执行过采样/降采样,或合并相邻窗口。

3.2 缺失率

缺失率定义为特征列中空值或NA值的比例。校准模型通常要求关键特征(如机会类型、客户等级、历史响应率)的缺失率低于指定阈值,否则需进行插补或排除。

特征类型 允许最大缺失率 缺失处理策略
目标变量(是否命中) 0% 拒绝录入,回源修补
关键特征(Top-10重要性) 5% 中位数/众数插补,或剔除该记录
辅助特征 20% 插补后标记缺失指示变量

测试条件: 使用数据质量核验脚本遍历所有特征列,输出缺失矩阵。

# 生成缺失率报告(伪代码)
missing_report = {}
for col in features:
    rate = df[col].isna().mean()
    missing_report[col] = round(rate, 4)
    if rate > threshold[col]:
        log_warning(f'{col} 缺失率 {rate} 超过阈值')
💡 调参策略: 若发现某特征的缺失率波动超过10%(与历史基线对比),应优先调查上游数据管道,而非直接插补。校准参数中的“允许缺失标签”字段需同步调整。

3.3 异常值

异常值指超出合理业务范围或统计分布极端的数值。机会评分校准中,连续型特征(如响应次数、金额)的异常值会扭曲校准曲线的平滑性。

方法 判断依据 调整方向
IQR 规则 下界 Q1-1.5×IQR,上界 Q3+1.5×IQR 截断(winsorize)到边界值
Z-score 规则 |Z| > 3 标记后重新编码为极值分桶
业务阈值 如单日最大响应次数不可能超过1000 直接替换为该特征的历史99.9%分位数

误差分析: 未处理的异常值会使得校准模型的 Brier 分数上升 0.02~0.05;严重时导致 isotonic regression 出现过拟合阶梯。

3.4 时间一致性

时间一致性要求样本在时间轴上分布均匀、特征分布无明显漂移。校准模型假定“训练-测试”数据同分布,时间切片间的特征统计量偏差应小于预设容忍度。

检查项 指标 验收阈值
特征均值漂移 PSI(Population Stability Index) < 0.1
命中率稳定性 月度命中率的变异系数 < 15%
时间戳重叠 未来数据占比 0%

测量步骤:

  • 按月/周划分数据切片,计算每个切片的特征均值。
  • 计算整体均值与各切片均值的 PSI。
  • 若 PSI 超限,报告存在分布漂移的时间窗口,建议丢弃或使用对抗验证样本筛选。
⚠ 时间一致性易被忽视: 当模型上线后快速迭代,新旧版本样本混杂,校准数据中可能出现“未来”样本(时间戳大于校准执行时间)。必须在入参前执行时间戳上限检查。
数据质量核验流程 原始数据 样本要求核验(量·比·时效) 缺失率检查(逐特征) 异常值检测(IQR/Z-score) 时间一致性校验(PSI·漂移) 合格数据集 → 校准 检查顺序不可逆: 先样本要求 → 缺失/异常 → 时间一致

3.5 调参策略与验收阈值总结

当任一维度未通过验收时,校准参数集应拒绝执行,并返回错误码及诊断报告。以下为推荐的最低验收阈值组合,可在测试阶段根据业务敏感性上下浮动 10%。

维度 参数名 默认阈值 宽松阈值
样本量 min_samples_per_cell 500 200
正负比 balance_ratio_max 3:1 5:1
缺失率 max_missing_rate_key 0.05 0.10
异常值 outlier_method IQR Z-score
时间漂移 max_psi 0.1 0.2
🛠 实战建议: 在参数测试型课程中,将以上五个参数作为被测对象,逐一设置极端值并观察校准输出变化。例如:人为将缺失率阈值设为 0%,观察强制修补后的校准曲线是否失调。

3.6 误差分析与调参方向

  • 样本不足 → 增加“窗口合并”参数,将周合并为月;或降低单元格最小样本要求(风险:增加噪声)。
  • 缺失率过高 → 调整“插补策略”参数,从均值插补切换至模型插补;或剔除该特征。
  • 异常值残留 → 调整 winsorize 分位数参数,从 99% 缩紧至 99.9%;或改为“拒绝”极端记录。
  • 时间漂移超限 → 启用“对抗验证”过滤参数,仅保留与校准期分布一致的样本。