2. 样本定义与标签设计:好坏样本的定义标准、观察点与表现期设定
在风控建模中,样本定义与标签设计是决定模型上限的基石。如果好坏样本的定义不准确,后续的特征工程和模型训练都会偏离真实风险。本节将系统讲解逾期天数、滚动率、观察点与表现期的设定方法,以及样本窗口的划分策略。
2.1 好坏样本的定义标准
好坏样本的定义通常基于逾期天数(Days Past Due, DPD)和滚动率(Roll Rate)两个核心指标。逾期天数直接反映客户的还款延迟程度,而滚动率则揭示客户从轻度逾期向重度逾期恶化的趋势。
2.1.1 基于逾期天数的定义
逾期天数是最直观的标签定义方式。常见的定义标准如下:
| 样本类型 | 常见定义标准 | 适用场景 |
|---|---|---|
| 好样本(Good) | 表现期内最大逾期天数 ≤ 0(即从未逾期) | 严格风控、低风险产品 |
| 好样本(Good) | 表现期内最大逾期天数 ≤ 30 天 | 常规消费信贷、信用卡 |
| 坏样本(Bad) | 表现期内最大逾期天数 ≥ 90 天 | 行业通用标准(Basel II 参考) |
| 坏样本(Bad) | 表现期内最大逾期天数 ≥ 60 天 | 短期小额贷款、现金贷 |
| 模糊样本(Indeterminate) | 1 天 ≤ 最大逾期天数 ≤ 59 天 | 需结合滚动率进一步判断 |
实践建议:不建议将逾期 1 天直接定义为坏样本,因为部分客户可能因遗忘或系统延迟而短暂逾期,这类客户往往在 3-7 天内就会还款。将逾期 90 天作为坏样本标准,在多数场景下具有较好的区分度和业务可解释性。
2.1.2 基于滚动率的定义
滚动率衡量的是客户从当前逾期状态向更严重逾期状态迁移的概率。滚动率分析可以帮助我们识别“伪好客户”和“真坏客户”。
滚动率的计算公式为:
滚动率(M0→M1)= 当前处于 M0 且在下一周期进入 M1 的客户数 / 当前处于 M0 的客户总数
其中:
M0 = 未逾期(Current)
M1 = 逾期 1-30 天
M2 = 逾期 31-60 天
M3 = 逾期 61-90 天
M4+ = 逾期 90 天以上
通过滚动率分析,我们可以找到“坏样本”的临界点。例如,如果 M2→M3 的滚动率显著高于 M1→M2,说明一旦客户逾期超过 60 天,其恶化概率急剧上升,此时可以将逾期 60 天作为坏样本的阈值。
关键结论:滚动率分析的核心价值在于发现逾期状态的“不可逆拐点”。当某个逾期阶段的滚动率超过 50% 时,该阶段之前的逾期天数通常可以作为坏样本定义的参考阈值。
2.2 观察点与表现期的设定
观察点(Observation Point)和表现期(Performance Period)是样本构建的时间轴核心概念。观察点是提取特征的时间截面,表现期是观察客户后续表现的时间窗口。
2.2.1 观察点与表现期的关系
下图展示了观察点与表现期在时间轴上的位置关系:
2.2.2 观察点的选择原则
- 业务时点对齐:观察点应选择在客户完成授信审批、首次放款或账单生成等关键业务节点。
- 避免幸存者偏差:观察点不能选择在表现期之后,否则会引入未来信息,导致模型在线上失效。
- 多观察点策略:对于循环授信产品(如信用卡),可以设置多个观察点(如每月账单日),以捕捉客户行为的变化。
2.2.3 表现期的长度设定
表现期的长度直接影响标签的准确性和样本量。常见设定如下:
| 产品类型 | 推荐表现期 | 说明 |
|---|---|---|
| 短期现金贷(7-30天) | 1-3个月 | 产品周期短,逾期行为在短期内即可暴露 |
| 消费分期(3-12期) | 6个月 | 行业常用标准,平衡标签准确性与样本时效性 |
| 信用卡循环贷 | 12个月 | 循环授信,需要更长时间观察客户还款习惯 |
| 住房抵押贷款 | 24个月或更长 | 长期贷款,违约风险暴露周期长 |
注意:表现期过长会导致样本时效性下降,模型可能无法反映最新的客群变化;表现期过短则可能将“暂时逾期但最终还款”的客户误判为坏样本。建议在建模前进行表现期敏感性分析。
2.3 样本窗口划分
样本窗口划分决定了训练集、验证集和测试集的时间范围。合理的窗口划分可以避免时间穿越(Time Travel)问题,确保模型评估的可靠性。
2.3.1 样本窗口划分结构
下图展示了典型的样本窗口划分方式:
2.3.2 窗口划分的常见策略
- 固定时间窗口:将历史数据按固定时间长度(如 6 个月)划分为训练集、验证集和测试集。适用于业务相对稳定的场景。
- 滚动时间窗口:使用最近 N 个月的数据作为训练集,后续 M 个月作为验证集,再后续 K 个月作为测试集。适用于客群变化较快的场景。
- 时间序列交叉验证:按时间顺序依次划分多个训练/验证对,每个验证集都是训练集之后的时间段。适用于样本量较小的场景。
2.3.3 窗口划分的避坑指南
常见错误:将同一客户在不同时间点的样本同时放入训练集和测试集,导致信息泄露。例如,客户 A 在 2023 年 1 月的样本在训练集,2023 年 7 月的样本在测试集,模型可能“记住”了该客户的历史表现。
- 按客户划分:确保同一客户的所有样本只出现在一个数据集中(训练/验证/测试),避免客户级别的信息泄露。
- 时间对齐:训练集、验证集、测试集的观察点必须严格按时间顺序排列,不能出现验证集时间早于训练集的情况。
- 表现期对齐:所有样本的表现期长度必须一致,否则标签的定义标准会不一致,导致模型学习到时间窗口长度带来的偏差。
2.4 样本定义与标签设计的完整流程
综合以上内容,样本定义与标签设计的完整流程可以总结为以下步骤:
| 步骤 | 操作内容 | 输出结果 |
|---|---|---|
| 1 | 确定产品类型与业务目标 | 明确是申请评分卡、行为评分卡还是催收评分卡 |
| 2 | 进行滚动率分析 | 找到逾期状态的“不可逆拐点” |
| 3 | 定义好坏样本标准 | 确定逾期天数阈值(如 90 天) |
| 4 | 设定观察点与表现期 | 确定特征提取时间截面和表现观察窗口 |
| 5 | 划分样本窗口 | 生成训练集、验证集、测试集的时间范围 |
| 6 | 生成标签并检查分布 | 确认坏样本率在合理范围(通常 2%-10%) |
经验分享:在初次建模时,建议先使用 6 个月表现期和 90 天逾期标准作为基线。后续根据模型在验证集上的表现,再调整表现期长度或逾期阈值。不要一开始就追求“完美”的标签定义,快速迭代比过度优化更重要。