第3章:数据准备与质量核查 —— 样本要求、缺失率、异常值、时间一致性
机会评分模型校准的精度直接受输入数据质量的影响。实测经验表明,超过 60% 的校准偏差根因并非模型算法,而是数据准备阶段的疏漏。本章将围绕四个核心维度——样本要求、缺失率、异常值、时间一致性,定义可量化的质量参数、测试条件及验收阈值,并提供标准化的检查流程与调参策略。
3.1 样本要求
| 参数/指标 | 定义 | 测试条件 | 验收阈值 |
|---|---|---|---|
| 最小样本量 | 各分组(模型版本、场景、时间窗口)至少包含的记录数 | 按业务分层:低频场景≥500,常规场景≥2000 | ≥500 per cell |
| 正负样本比例 | 机会命中(正)与未命中(负)的样本数比 | 校准前平衡化处理,极端比例优于1:10或10:1需做重采样 | 1:3 ~ 3:1 |
| 样本时效 | 数据采集时间距离校准基准日的最长间隔 | 滚动窗口固定为90天,特殊业务可放宽至180天 | ≤90天 |
⚠ 易错点: 样本量不足时,校准参数方差膨胀;正负比例失衡会导致校准曲线向多数类偏移。不可在未做质量声明的情况下直接输入校准环节。
测量步骤
- 按模型版本 + 场景标签 + 时间窗口分组聚合数据。
- 计算每组的记录数及正负样本计数。
- 与验收阈值对比,标记不合格分组。
- 对不合格分组执行过采样/降采样,或合并相邻窗口。
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 超限,报告存在分布漂移的时间窗口,建议丢弃或使用对抗验证样本筛选。
⚠ 时间一致性易被忽视: 当模型上线后快速迭代,新旧版本样本混杂,校准数据中可能出现“未来”样本(时间戳大于校准执行时间)。必须在入参前执行时间戳上限检查。
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%;或改为“拒绝”极端记录。
- 时间漂移超限 → 启用“对抗验证”过滤参数,仅保留与校准期分布一致的样本。