3. 样本分层概念:什么是样本分层、为什么需要分层、分层与模型/规则的关系
样本分层(Sample Stratification)是风控数据预处理中的核心步骤。它并非简单的数据分组,而是基于业务逻辑与统计分布,将原始样本划分为多个同质子集的过程。理解分层,是搭建高效、可解释风控规则引擎的前提。
3.1 什么是样本分层
样本分层是指按照一个或多个关键特征(如用户信用分区间、收入等级、渠道来源、历史逾期天数等),将整体样本集划分为若干个互不重叠的子集(层)。每一层内部的样本在目标变量(如逾期率、欺诈率)上具有较高的同质性,而层与层之间则呈现显著的异质性。
核心定义: 分层 = 按风险驱动因子对样本进行“纵向切分”,使层内方差最小化,层间方差最大化。
常见的分层维度示例:
| 分层维度 | 层定义示例 | 业务意义 |
|---|---|---|
| 信用评分区间 | [300, 500], [501, 650], [651, 800], [801, 1000] | 区分不同违约概率的客群 |
| 历史逾期天数 | M0(正常), M1(1-30天), M2(31-60天), M3+ | 区分催收策略与坏账准备 |
| 申请渠道 | 自有APP, 第三方导流, 线下门店 | 识别不同渠道的欺诈与信用风险 |
| 收入水平 | 低收入(<5k), 中等收入(5k-15k), 高收入(>15k) | 评估还款能力与负债比率 |
3.2 为什么需要分层
在风控规则引擎中,如果不进行样本分层,直接使用全量样本训练模型或制定规则,会导致以下问题:
- 辛普森悖论: 整体趋势与各子组趋势完全相反,导致规则失效。
- 模型偏差: 模型会倾向于样本量大的群体,忽略小群体的风险特征。
- 规则粒度粗糙: 一刀切的阈值无法适应不同客群的风险分布。
- 评估失真: 整体AUC高,但特定高风险层表现极差。
实战案例: 某平台整体逾期率2.5%,但分层后发现:新用户(渠道A)逾期率8%,老用户(渠道B)逾期率1.2%。若不分层,规则引擎会误判所有用户风险相近,导致新用户坏账激增。
分层带来的核心收益:
- 提升规则精准度: 为不同层设置差异化阈值与策略。
- 增强模型稳定性: 避免样本分布偏移导致的模型衰退。
- 优化资源分配: 对高风险层投入更多审核资源,低风险层快速通过。
- 提高可解释性: 每层的规则逻辑更清晰,便于业务理解与监管审计。
3.3 分层与模型/规则的关系
样本分层并非独立存在,它与模型开发、规则制定形成紧密的三角关系。下图展示了分层在风控决策流程中的枢纽位置:
分层与模型、规则的具体协作方式如下表所示:
| 对比维度 | 样本分层 | 模型 | 规则 |
|---|---|---|---|
| 定位 | 数据预处理与客群划分 | 概率预测与风险排序 | 硬性阈值与决策逻辑 |
| 输入 | 原始样本 + 分层特征 | 分层后的子样本 + 特征工程 | 分层后的子样本 + 业务规则 |
| 输出 | 多个同质子集 | 每个样本的违约概率(PD) | 通过/拒绝/人工审核 |
| 关系 | 模型与规则的前置基础 | 在分层基础上精细化建模 | 在分层基础上差异化配置 |
| 典型场景 | 按渠道、额度、客群分层 | 每层独立训练XGBoost/LR模型 | 每层设置不同的拒绝线、人工审核线 |
常见误区: 分层不是越多越好。过度分层会导致样本稀疏,模型训练不稳定,规则碎片化。通常建议每层样本量不低于5000笔,且层数控制在3-7层。
在实际风控规则引擎中,分层通常作为决策树的第一层分支。例如:
# 伪代码:规则引擎中的分层决策逻辑
if user.channel == 'high_risk_channel_A':
# 高风险层:启用强规则 + 独立模型
if fraud_model_A.score(user) > 0.8:
return 'REJECT'
elif rule_engine.check_blacklist(user):
return 'REVIEW'
else:
return 'PASS_WITH_LIMIT'
elif user.credit_score > 700:
# 低风险层:轻规则 + 快速通过
if rule_engine.check_identity(user):
return 'PASS'
else:
return 'REVIEW'
else:
# 中风险层:标准规则 + 通用模型
return standard_decision(user)
通过上述结构,样本分层将复杂的风控问题分解为多个可管理的子问题,使规则引擎既能保持高吞吐,又能实现精准的风险拦截。