2. 风险评分卡基础
构建商户风险评分卡的第一步,是理解其背后的数学与统计逻辑。评分卡并非简单的“打分表”,而是一个将原始商户特征(如交易笔数、退款率、注册时长)通过证据权重(WOE)转换、信息价值(IV)筛选,最终通过逻辑回归模型映射为整数分数的系统。本节将拆解这三个核心概念,并展示如何将模型输出转换为业务人员可直接使用的评分卡。
2.1 评分卡的核心原理
评分卡的本质是一个线性加权的对数几率模型。其基本形式为:
Score = Offset + Factor × ln(Odds)
其中:
- Odds = p/(1-p),p 为商户违约概率
- Offset(偏移量)和 Factor(刻度因子)为常数,用于将逻辑回归输出映射到预设分数范围
- 通常设定:在某个基准 Odds 下对应基准分数,且 Odds 翻倍时分数增加固定值(PDO)
评分卡的优势在于:可解释性强、稳定性高、监管友好。每个特征的分段(如“月交易笔数在 100-500 笔”)对应一个具体的分数,业务人员可以直观理解“为什么扣分”或“为什么加分”。
关键公式: 评分卡分数 = 基础分 + Σ(每个特征分箱对应的分数)
2.2 WOE(证据权重)与 IV(信息价值)
WOE 和 IV 是评分卡开发中最重要的特征工程工具。它们不仅用于衡量特征对目标变量的区分能力,还用于将原始数值转换为单调的、与对数几率呈线性关系的编码。
2.2.1 WOE 的定义与计算
WOE 衡量的是“某个分组中好商户与坏商户分布差异”的对数比率。对于第 i 个分箱:
WOE_i = ln( (坏商户占比_i) / (好商户占比_i) )
= ln( (Bad_i / Bad_total) / (Good_i / Good_total) )
WOE 值的特点:
- 正值:该分箱中坏商户比例高于好商户比例(风险较高)。
- 负值:该分箱中好商户比例高于坏商户比例(风险较低)。
- 单调性:优秀的 WOE 编码应使特征与风险呈单调关系(如交易笔数越高,WOE 越低)。
2.2.2 IV(信息价值)的计算与筛选
IV 是 WOE 的加权和,用于量化特征的整体预测能力:
IV = Σ( (坏商户占比_i - 好商户占比_i) × WOE_i )
IV 值的评估标准如下表所示:
| IV 值范围 | 预测能力 | 处理建议 |
|---|---|---|
| < 0.02 | 无预测能力 | 直接剔除 |
| 0.02 – 0.10 | 弱预测能力 | 可保留,但需谨慎 |
| 0.10 – 0.30 | 中等预测能力 | 推荐保留 |
| 0.30 – 0.50 | 强预测能力 | 优先保留 |
| > 0.50 | 过强(可能过拟合) | 需验证稳定性 |
实操提示: 在商户风险场景中,IV 值超过 0.5 的特征(如“历史逾期次数”)虽然预测能力强,但容易导致模型在跨时间验证时大幅衰减。建议结合 PSI(群体稳定性指标)进行二次筛选。
2.3 逻辑回归与评分卡转换
逻辑回归是评分卡最常用的算法,因为它直接输出对数几率(log-odds),与评分卡的线性形式天然匹配。转换过程分为三步:
- 训练逻辑回归模型:以 WOE 编码后的特征作为输入,拟合违约概率 p。
- 确定刻度参数:设定基准 Odds(如 Odds=50:1 对应 600 分)和 PDO(如 Odds 翻倍时分数增加 20 分)。
- 计算每个分箱的分数:将逻辑回归系数乘以 WOE 值,再乘以刻度因子,得到每个分箱的贡献分数。
# 评分卡转换核心计算(Python 伪代码)
import numpy as np
# 假设逻辑回归系数
coef = np.array([0.8, -0.5, 1.2]) # 对应三个特征
woe_values = np.array([0.3, -0.1, 0.5]) # 某个商户的分箱WOE
# 设定刻度参数
base_odds = 50 # 基准Odds
base_score = 600 # 基准分数
pdo = 20 # Odds翻倍时分数增量
factor = pdo / np.log(2)
offset = base_score - factor * np.log(base_odds)
# 计算该商户的分数
log_odds = np.dot(coef, woe_values) # 线性组合
score = offset + factor * log_odds
print(f"商户评分: {score:.0f}")
2.4 评分卡转换流程(SVG 图)
下图展示了从原始商户数据到最终评分卡的完整转换链路:
2.5 WOE 与 IV 计算示例(SVG 图)
以下示例展示一个商户特征“月交易笔数”的分箱、WOE 与 IV 计算过程:
2.6 评分卡转换的三大关键参数
在将逻辑回归转换为评分卡时,需要预先设定三个参数。下表总结了它们的定义与典型值:
| 参数 | 符号 | 定义 | 典型值 |
|---|---|---|---|
| 基准 Odds | Odds₀ | 评分卡基准点对应的好坏比 | 50:1(即 50 个好商户对应 1 个坏商户) |
| 基准分数 | Score₀ | 基准 Odds 对应的分数 | 600 分 |
| PDO | Point-to-Double Odds | Odds 翻倍时分数增加的数值 | 20 分 |
常见陷阱: 在商户风险场景中,如果直接使用原始数值(如交易笔数)而非 WOE 编码进行逻辑回归,模型会假设特征与对数几率呈线性关系。但实际中,交易笔数与风险往往呈“U型”或“阈值型”关系。WOE 编码通过分箱打破了这一线性假设,是评分卡建模的必要步骤。
2.7 本节小结
- 评分卡原理:基于对数几率线性加权,通过 Offset 和 Factor 将逻辑回归输出映射为整数分数。
- WOE 编码:将原始特征转换为对数比率形式,保证特征与风险呈单调关系,同时处理缺失值和异常值。
- IV 筛选:量化特征预测能力,IV < 0.02 的特征直接剔除,IV > 0.5 的特征需警惕过拟合。
- 逻辑回归转换:通过设定基准 Odds、基准分数和 PDO,将模型系数转换为每个分箱的加减分项。