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%。若不分层,规则引擎会误判所有用户风险相近,导致新用户坏账激增。

分层带来的核心收益:

  1. 提升规则精准度: 为不同层设置差异化阈值与策略。
  2. 增强模型稳定性: 避免样本分布偏移导致的模型衰退。
  3. 优化资源分配: 对高风险层投入更多审核资源,低风险层快速通过。
  4. 提高可解释性: 每层的规则逻辑更清晰,便于业务理解与监管审计。

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)

通过上述结构,样本分层将复杂的风控问题分解为多个可管理的子问题,使规则引擎既能保持高吞吐,又能实现精准的风险拦截。