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完成检验计算。
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),功效越低,需要更大样本。
- 数据变异 σ:指标波动越大,越难检测差异,需要更多样本。
2.5 信用评分A/B测试的实践要点
SQL实现前的统计准备:
- 确定最小样本量:基于历史逾期率、预期提升幅度、α=0.05、功效=0.8,使用功效分析工具(如Python的statsmodels)计算。
- 设定观察期:信用评分通常需要至少3~6个月的贷后表现期来确认逾期标签。
- 选择检验方法:比例检验(逾期率)或均值检验(评分均值),注意数据分布假设。
- 多重比较校正:若同时观察多个指标(通过率、逾期率、额度使用率),需做Bonferroni等校正。