A/B测试基础理论

A/B测试是信用评分模型迭代中最核心的验证手段。它通过对比两个版本(控制组 vs 实验组)在同一业务场景下的表现差异,来判断新模型是否显著优于旧模型。本节将系统讲解A/B测试的定义、假设检验原理、两类错误以及统计功效,为后续SQL实现打下理论基础。

2.1 A/B测试的定义与核心要素

A/B测试,又称拆分测试或对照实验,是一种随机化实验设计方法。在信用评分场景中,通常将申请流量随机分为两组:

  • 控制组(A组):使用现有评分模型(基线模型)进行决策。
  • 实验组(B组):使用新评分模型(候选模型)进行决策。

通过比较两组在逾期率、通过率、坏账率等关键指标上的差异,判断新模型是否带来统计显著的改善。

关键前提:随机分流、样本独立、除模型外其他条件完全一致。
要素 说明 信用评分示例
实验对象 随机分配到两组的申请用户 新申请客户
干预变量 模型版本(A vs B) 旧模型 vs 新模型
响应变量 衡量效果的指标 30天逾期率、通过率
随机化 确保两组无系统性偏差 按用户ID哈希分流

2.2 假设检验原理

假设检验是A/B测试的统计基础。其核心逻辑是:先假设新模型没有效果(零假设),然后通过样本数据判断是否有足够证据推翻这个假设。

  • 零假设 H₀:新模型与旧模型效果无差异(μ_B - μ_A = 0)。
  • 备择假设 H₁:新模型效果优于旧模型(μ_B - μ_A > 0,单侧)或存在差异(μ_B - μ_A ≠ 0,双侧)。

检验过程:计算p值,若p值小于预设的显著性水平α(通常取0.05),则拒绝H₀,认为差异具有统计显著性。

实践要点:信用评分A/B测试通常使用双比例Z检验(比较逾期率)或双样本T检验(比较平均分)。SQL中可通过聚合统计量配合Python/R完成检验计算。
假设检验决策流程 提出假设 H₀ vs H₁ 收集A/B组样本数据 计算检验统计量 & p值 p < α ? 拒绝 H₀(有差异) 不拒绝 H₀(无差异)

2.3 第一类错误与第二类错误

在假设检验中,我们可能做出两种错误判断。理解这两类错误对于信用评分模型上线决策至关重要。

决策结果 H₀ 为真(模型无差异) H₁ 为真(模型有差异)
拒绝 H₀ 第一类错误(α)
假阳性:误判新模型有效
正确决策(1-β)
统计功效:正确发现差异
不拒绝 H₀ 正确决策(1-α)
置信水平:正确接受无差异
第二类错误(β)
假阴性:漏判新模型有效
信用评分场景警示:第一类错误可能导致上线一个实际上没有改善的模型,浪费资源并增加风险;第二类错误可能错过一个真正优秀的模型,导致业务损失。通常α设为0.05,β控制在0.2以内(功效≥0.8)。

2.4 统计功效

统计功效(Statistical Power) = 1 - β,表示当备择假设为真时,检验能够正确拒绝零假设的概率。功效越高,越能可靠地检测出真实存在的差异。

影响统计功效的四个关键因素:

  • 样本量 n:样本越大,功效越高。信用评分A/B测试通常需要数万至数十万样本。
  • 效应量 δ:两组真实差异的大小。预期逾期率降低0.5% vs 1%,所需样本量差异巨大。
  • 显著性水平 α:α越小(如0.01),功效越低,需要更大样本。
  • 数据变异 σ:指标波动越大,越难检测差异,需要更多样本。
统计功效影响因素与关系 统计功效 = 1 - β 样本量 n ↑ 效应量 δ ↑ 显著性 α ↑ 数据变异 σ ↓ 功效计算经验公式(近似) n ≈ (Z_α/2 + Z_β)² × 2σ² / δ² 信用评分中:预期逾期率降低0.5%,α=0.05,功效=0.8 → 每组约需 15,000~30,000 样本

2.5 信用评分A/B测试的实践要点

SQL实现前的统计准备:
  1. 确定最小样本量:基于历史逾期率、预期提升幅度、α=0.05、功效=0.8,使用功效分析工具(如Python的statsmodels)计算。
  2. 设定观察期:信用评分通常需要至少3~6个月的贷后表现期来确认逾期标签。
  3. 选择检验方法:比例检验(逾期率)或均值检验(评分均值),注意数据分布假设。
  4. 多重比较校正:若同时观察多个指标(通过率、逾期率、额度使用率),需做Bonferroni等校正。