4、回放验证的数据准备:历史评分数据、决策结果数据、实际表现数据的三表对齐
回放验证的核心在于将三个独立数据源——历史评分数据、决策结果数据、实际表现数据——按照统一的主键进行精确对齐。三表对齐的质量直接决定回放验证结论的可靠性。任何对齐偏差都会导致评分与表现之间的因果关系扭曲,使验证结果失去参考价值。
4.1 三表数据定义与字段清单
在开始对齐之前,必须明确每个数据表的业务含义、时间窗口和关键字段。下表列出了三表的核心字段及其在回放验证中的用途:
| 数据表 | 核心字段 | 时间窗口 | 对齐用途 |
|---|---|---|---|
| 历史评分数据 | 申请编号、评分日期、评分模型版本、信用评分、评分卡分段 | 申请审批时点(T0) | 提供模型输出的原始分数,作为回放验证的输入变量 |
| 决策结果数据 | 申请编号、决策日期、审批结论(通过/拒绝/人工)、授信额度、利率 | 审批决策时点(T0 ~ T0+7天) | 记录实际决策动作,用于区分通过样本与拒绝样本 |
| 实际表现数据 | 申请编号、表现期结束日期、逾期天数、违约标识、还款状态 | 表现期结束(T0+12个月或T0+24个月) | 提供真实违约标签,作为回放验证的目标变量 |
关键原则:三表必须使用统一的申请编号作为主键。如果不同系统使用不同的编号规则,需提前建立映射表,确保每个申请在三个表中都有且仅有一条对应记录。
4.2 三表对齐的流程与步骤
三表对齐不是简单的SQL JOIN操作,而是一个包含数据清洗、时间窗口校验、样本筛选的工程流程。建议按以下步骤执行:
- 主键统一与去重:检查每个表中申请编号的唯一性,去除重复记录。对于存在多条评分记录的申请,保留审批时点最近的一条。
- 时间窗口校验:确保评分日期早于决策日期,决策日期早于表现期开始日期。剔除时间顺序异常的数据。
- 样本范围锁定:仅保留在评分时点后至少经过一个完整表现期的申请。例如,使用12个月表现期时,评分日期必须距今超过12个月。
- 决策结果归类:将决策结果分为“通过组”和“拒绝组”。通过组用于验证评分区分能力,拒绝组用于推断拒绝样本的违约率。
- 表现标签生成:根据实际表现数据生成二分类违约标识(0/1),并计算连续型表现指标(如逾期天数、损失金额)。
- 最终对齐校验:检查对齐后数据集的缺失率、异常值、分布一致性,输出对齐报告。
工程建议:建议使用数据血缘追踪工具记录每个字段的转换逻辑。在回放验证报告中,附上对齐前后的记录数变化表,便于审计人员追溯数据质量。
4.3 三表对齐的SVG流程图
下图展示了从三个独立数据源到对齐数据集的完整流程,包含关键校验节点:
4.4 拒绝样本的推断与对齐处理
回放验证中,拒绝样本没有实际表现数据,这是三表对齐必须解决的核心难题。常用的处理方法包括:
- 拒绝推断法:利用通过样本的评分-表现关系,通过统计模型(如Heckman校正、扩展逻辑回归)推断拒绝样本的违约概率。
- 随机通过法:在审批时随机通过一部分拒绝样本(通常为5%~10%),获取其真实表现数据,用于校准拒绝推断模型。
- 外部数据法:使用征信机构提供的跨机构违约标签,补充拒绝样本的表现信息。
注意:拒绝样本的处理方式必须在回放验证报告中明确说明。如果使用拒绝推断,需同时报告推断模型的拟合优度(如AUC、R²)和校准曲线,避免因推断偏差导致验证结论失真。
4.5 对齐后的数据质量检查清单
完成三表对齐后,建议按以下清单进行数据质量检查,确保回放验证的输入数据可靠:
| 检查项 | 检查标准 | 异常处理方式 |
|---|---|---|
| 主键匹配率 | 三表匹配率 ≥ 99% | 低于标准时,排查系统间编号规则差异 |
| 时间顺序正确率 | 100% 满足评分日期 ≤ 决策日期 ≤ 表现期开始 | 剔除时间顺序异常记录,记录剔除原因 |
| 表现期完整性 | 所有样本均经过完整表现期 | 剔除表现期不足的样本,避免截断偏差 |
| 缺失率 | 关键字段缺失率 < 5% | 缺失率过高时,评估是否影响验证结论 |
| 违约率稳定性 | 按评分分段的违约率呈单调递减 | 非单调时,检查数据对齐或评分模型是否存在问题 |
4.6 三表对齐的常见避坑指南
根据实际项目经验,以下三个问题最容易导致三表对齐失败:
- 时间窗口错位:表现期开始日期不应早于决策日期。部分业务系统中,表现期数据可能包含审批前的历史逾期记录,必须通过时间过滤剔除。
- 多版本评分覆盖:同一个申请可能被多个评分模型版本打分。回放验证必须锁定验证目标版本,排除其他版本的评分记录。
- 决策结果变更:部分申请在审批后可能发生决策变更(如从通过改为拒绝)。对齐时应使用最终决策结果,并记录变更日志。
最佳实践:建议在数据仓库中建立回放验证专用数据视图,将三表对齐逻辑固化到ETL流程中。每次回放验证只需刷新表现期数据,无需重复执行对齐逻辑,大幅降低出错概率。