2. 实验设计基础:假设检验、对照组与实验组设计、随机化原则、样本量计算
在风控领域,实验评估是验证策略有效性的黄金标准。无论是调整信用评分卡阈值、上线新的反欺诈规则,还是优化额度模型,都需要通过严谨的实验设计来量化策略的真实效果,避免因数据波动、样本偏差或偶然因素得出错误结论。本章将系统讲解实验设计的四大核心支柱:假设检验、对照组与实验组设计、随机化原则以及样本量计算。
2.1 假设检验:实验评估的统计基石
假设检验是风控实验评估的统计推断工具。其核心逻辑是:先对总体参数提出一个假设(原假设 H₀),然后利用样本数据计算统计量,判断该假设是否合理。在风控场景中,我们通常关心策略上线后,关键指标(如坏账率、通过率、逾期率)是否发生了显著变化。
2.1.1 原假设与备择假设
- 原假设 (H₀):通常表示“无效果”或“无差异”。例如:新策略上线后,坏账率与旧策略相同。
- 备择假设 (H₁):与原假设对立,表示“有效果”或“有差异”。例如:新策略上线后,坏账率显著低于旧策略。
2.1.2 两类错误与显著性水平
| 决策结果 | H₀ 为真 | H₀ 为假 |
|---|---|---|
| 接受 H₀ | 正确决策 (1-α) | 第二类错误 (β) |
| 拒绝 H₀ | 第一类错误 (α) | 正确决策 (1-β, 即统计功效) |
风控实践提示:在风控实验中,第一类错误(α)意味着“误判策略有效,实际上无效”,可能导致上线无效策略造成损失;第二类错误(β)意味着“误判策略无效,实际上有效”,可能错失优化机会。通常设定 α = 0.05,β = 0.20(即统计功效 80%)。
2.1.3 常见假设检验方法
- Z 检验:适用于大样本(n > 30),已知总体方差或样本量足够大时,检验均值或比例差异。
- t 检验:适用于小样本,总体方差未知,用于两组均值比较(独立样本 t 检验、配对样本 t 检验)。
- 卡方检验:用于分类变量之间的独立性检验,例如检验新旧策略下通过率分布是否一致。
- Mann-Whitney U 检验:非参数检验,适用于数据不满足正态分布假设时,比较两组分布差异。
案例:某风控团队上线新规则后,收集了实验组 5000 笔订单的逾期率(2.1%)和对照组 5000 笔订单的逾期率(2.8%)。使用双比例 Z 检验,计算 Z 统计量 = -2.31,p 值 = 0.021 < 0.05,拒绝原假设,认为新规则显著降低了逾期率。
2.2 对照组与实验组设计:AB 测试的核心
对照组与实验组设计是风控 AB 测试的核心结构。实验组(Treatment Group)接受新策略干预,对照组(Control Group)保持原有策略或空白处理。通过对比两组在实验期间的关键指标差异,归因策略效果。
2.2.1 设计原则
- 唯一差异原则:实验组与对照组仅在待评估策略上不同,其他条件(数据源、计算逻辑、时间窗口)完全一致。
- 同期控制:两组必须在同一时间段内运行,避免时间效应(如季节性、节假日)干扰。
- 互斥与独立:同一用户或同一笔交易不能同时进入实验组和对照组,确保样本独立。
2.2.2 常见设计模式
| 设计模式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 完全随机化设计 | 用户量充足,无分层需求 | 简单、无偏 | 方差较大,对样本量要求高 |
| 分层随机化设计 | 存在已知强影响变量(如用户等级、渠道) | 降低组间差异,提高统计功效 | 分层变量选择需谨慎 |
| 配对设计 | 样本量有限,可找到匹配对 | 控制混杂因素,效率高 | 匹配难度大,可能引入匹配偏差 |
| 交叉设计 | 策略效果可逆,无残留效应 | 每个样本既是实验组也是对照组 | 风控场景较少使用 |
常见陷阱:对照组与实验组样本量差异过大(如 9:1 分流),会导致统计功效不足,难以检测出真实效果。建议保持 1:1 或接近 1:1 的分流比例,除非有特殊业务限制。
2.3 随机化原则:消除选择偏差的利器
随机化是实验设计的黄金法则。其核心思想是:通过随机方式将样本分配到实验组和对照组,使得两组在已知和未知的混杂因素上达到统计平衡,从而将策略效果从其他因素中分离出来。
2.3.1 随机化的层次
- 个体随机化:以单个用户或单笔交易为随机单元,最常用。
- 聚类随机化:以群体(如门店、渠道、城市)为随机单元,适用于策略干预不可分割到个体的场景。
- 时间随机化:以时间片(如小时、天)为随机单元,适用于无法同时运行两组策略的系统。
2.3.2 随机化实现方法
# Python 示例:基于用户 ID 的哈希随机分流
import hashlib
def assign_group(user_id: str, experiment_name: str, split_ratio: float = 0.5) -> str:
"""
使用 MD5 哈希实现确定性随机分流
:param user_id: 用户唯一标识
:param experiment_name: 实验名称,用于隔离不同实验
:param split_ratio: 实验组比例,默认 0.5
:return: 'treatment' 或 'control'
"""
hash_input = f"{user_id}_{experiment_name}"
hash_value = int(hashlib.md5(hash_input.encode()).hexdigest(), 16)
normalized = hash_value / (2**128)
return 'treatment' if normalized < split_ratio else 'control'
# 使用示例
user = "user_12345"
group = assign_group(user, "credit_limit_v2", 0.5)
print(f"用户 {user} 被分配到: {group}")
随机化检查:在实验开始前,应检查实验组和对照组在关键特征(如历史逾期率、平均额度、年龄分布)上是否均衡。若发现显著差异,需排查随机化过程是否存在偏差,或考虑使用分层随机化。
2.4 样本量计算:实验可行性的前提
样本量计算是实验设计的关键步骤。样本量过小,统计功效不足,无法检测出真实效果;样本量过大,浪费资源,且可能因实验周期过长导致环境变化。样本量计算需要明确以下参数:
2.4.1 核心参数
- 显著性水平 (α):通常取 0.05。
- 统计功效 (1-β):通常取 0.80 或 0.90。
- 最小可检测效应 (MDE, Minimum Detectable Effect):你希望检测到的最小效果量,例如逾期率降低 0.5 个百分点。
- 基线转化率 (p₀):对照组当前指标值,例如当前逾期率 3.0%。
2.4.2 常见场景公式
场景一:双比例 Z 检验(比较两组转化率)
n = ( (Z_α/2 + Z_β)^2 * (p₁*(1-p₁) + p₂*(1-p₂)) ) / (p₁ - p₂)^2
其中:
- Z_α/2:显著性水平 α 对应的 Z 值(α=0.05 时,Z=1.96)
- Z_β:功效对应的 Z 值(β=0.20 时,Z=0.84)
- p₁:实验组预期转化率
- p₂:对照组基线转化率
场景二:双均值 t 检验(比较两组均值)
n = ( (Z_α/2 + Z_β)^2 * 2 * σ² ) / δ²
其中:
- σ²:总体方差(可用历史数据估计)
- δ:最小可检测均值差异
2.4.3 样本量计算工具
| 工具/库 | 语言 | 特点 |
|---|---|---|
| statsmodels (tt_ind_solve_power) | Python | 支持 t 检验、Z 检验,参数灵活 |
| pwr 包 | R | 功能全面,支持多种检验类型 |
| G*Power | 桌面软件 | 图形化界面,适合非编程用户 |
| 在线计算器 (Evan's Awesome A/B Tools) | Web | 快速估算,适合初步设计 |
风控实战建议:在计算样本量时,建议将 MDE 设定为业务上认为有意义的“最小效果量”,而非统计上能检测到的“最小可能效果”。例如,逾期率降低 0.1 个百分点可能在统计上显著,但业务上可能不值得投入资源上线新策略。
2.5 实验设计流程总览
将上述四个核心要素整合,形成风控实验设计的标准流程:
- 定义实验目标与指标:明确要评估的策略,确定核心指标(如坏账率、通过率)和辅助指标(如响应时间、用户满意度)。
- 提出假设:建立原假设和备择假设,设定显著性水平 α 和功效 1-β。
- 确定最小可检测效应 (MDE):与业务方沟通,确定有实际意义的效果量。
- 计算所需样本量:根据假设检验类型和参数,计算每组所需样本量,评估实验可行性。
- 设计分流方案:选择随机化方法(个体/聚类/时间),确定分流比例,实现随机分流逻辑。
- 设置对照组与实验组:确保唯一差异原则,记录实验配置。
- 运行实验与数据收集:监控数据质量,检查分流均衡性,处理异常情况。
- 统计分析:使用假设检验评估效果,计算置信区间,进行敏感性分析。
- 决策与部署:根据统计结果和业务判断,决定是否全量上线新策略。
2.6 常见陷阱与避坑指南
| 陷阱 | 表现 | 解决方案 |
|---|---|---|
| 样本量不足 | 统计功效低,无法检测出真实效果 | 实验前严格计算样本量,必要时延长实验周期或扩大分流比例 |
| 分流不均 | 实验组和对照组在关键特征上存在显著差异 | 使用分层随机化,实验前进行均衡性检验 |
| 多重比较问题 | 同时检验多个指标,增加第一类错误概率 | 使用 Bonferroni 校正、FDR 控制等方法 |
| 实验污染 | 实验组和对照组用户相互影响(如社交网络效应) | 使用聚类随机化,或隔离实验单元 |
| 过早停止实验 | 在达到预定样本量前,因看到“显著结果”而提前停止 | 坚持预定样本量,使用序贯检验方法 |
重要提醒:风控实验涉及用户资金和风险,任何实验设计都应在不影响用户体验和风险控制的前提下进行。对于可能带来负面影响的策略(如收紧额度),应设置安全监控指标,一旦触发阈值立即暂停实验。
2.7 本章小结
实验设计是风控策略评估的科学基础。假设检验提供了统计推断的框架,对照组与实验组设计确保了因果归因的可行性,随机化原则消除了选择偏差,样本量计算保障了实验的统计功效。在实际操作中,这四个要素相互关联、缺一不可。掌握这些基础,你就能设计出严谨、可靠的风控实验,为策略决策提供坚实的数据支撑。