3、分布突变定义:分布突变的数学定义、突变检测的统计方法(KS检验、PSI、JS散度)

在支付风控场景中,特征分布突变是指模型输入特征的统计分布(如均值、方差、分位数、类别占比)在短时间内发生显著且持续的变化。这种变化通常不是由正常业务波动引起,而是由数据采集故障、渠道切换、用户群体结构改变或黑产攻击模式升级导致。准确识别分布突变是策略重构的前提。

3.1 分布突变的数学定义

设参考窗口(Reference Window)的特征分布为 \( P \),当前监测窗口(Monitoring Window)的特征分布为 \( Q \)。分布突变定义为:

突变判定条件:D(P, Q) > θ
其中:
- D(P, Q) 为某种分布距离或散度度量
- θ 为业务经验阈值或统计显著性水平对应的临界值
- 窗口长度通常取 7 天(参考) vs 1 天(监测)

分布突变需同时满足以下三个条件:

  • 统计显著性:分布差异在给定置信水平(如 95%)下显著
  • 业务可解释性:差异幅度超过业务容忍阈值(如 PSI > 0.1)
  • 持续性:突变状态至少持续 2 个以上监测窗口,排除单点噪声
实战提示:在支付批次监控中,建议将参考窗口设为历史 30 天滚动窗口,监测窗口设为最近 1 小时或 1 天。对于高频特征(如交易金额),使用小时级窗口;对于低频特征(如设备指纹),使用天级窗口。

3.2 突变检测的统计方法

以下三种方法是支付风控领域最常用的分布突变检测工具,分别适用于不同数据类型和业务场景。

方法 全称 适用场景 输出范围 阈值参考
KS 检验 Kolmogorov-Smirnov 检验 连续数值特征(金额、年龄、时间间隔) [0, 1] D > 0.05 或 p < 0.05
PSI Population Stability Index 分箱后的数值或类别特征 [0, +∞) PSI < 0.1 稳定;0.1~0.25 需关注;> 0.25 突变
JS 散度 Jensen-Shannon Divergence 类别特征、概率分布对比 [0, 1] JS > 0.1 视为显著偏移

3.3 KS 检验:连续特征分布突变检测

KS 检验通过比较两个经验累积分布函数(ECDF)的最大垂直距离来判断分布是否相同。其统计量定义为:

D = sup_x |F_P(x) - F_Q(x)|

其中:
- F_P(x) 为参考窗口的 ECDF
- F_Q(x) 为监测窗口的 ECDF
- sup_x 表示对所有 x 取上确界

计算步骤:

  1. 将参考窗口和监测窗口的特征值合并排序
  2. 计算每个取值点上的累积概率差
  3. 取最大绝对差值作为 D 统计量
  4. 根据样本量查表或计算 p 值,判断是否拒绝原假设
支付场景案例:某支付平台监测到"单笔交易金额"特征的 KS 统计量从 0.02 突增至 0.31,p 值 < 0.001。经排查发现,某渠道商将大额批发交易伪装成小额零售交易,导致金额分布左移。该突变触发策略重构,新增了渠道级金额分位数监控规则。

3.4 PSI:分箱特征稳定性指数

PSI 要求先将特征分箱(等频或等距),然后比较每个箱中样本占比的变化。其计算公式为:

PSI = Σ (Q_i - P_i) * ln(Q_i / P_i)

其中:
- P_i 为参考窗口第 i 个箱的样本占比
- Q_i 为监测窗口第 i 个箱的样本占比
- 求和遍历所有分箱

PSI 分箱规则:

  • 连续特征:等频分箱(每箱至少 5% 样本)或等距分箱
  • 类别特征:每个类别作为一个箱,合并占比 < 1% 的类别为"其他"
  • 分箱数量:建议 10~20 箱,过多会导致 PSI 对微小波动敏感
常见陷阱:当某个分箱在监测窗口中样本占比为 0 时,ln(0/P_i) 无定义。解决方案:对每个箱的占比做拉普拉斯平滑,即 Q_i' = (Q_i * N + 1) / (N + K),其中 N 为样本量,K 为分箱数。

3.5 JS 散度:对称且稳定的分布距离

JS 散度基于 KL 散度(Kullback-Leibler Divergence)改进,解决了 KL 散度不对称且对零概率敏感的问题。其定义为:

JS(P || Q) = 0.5 * KL(P || M) + 0.5 * KL(Q || M)

其中:
- M = 0.5 * (P + Q) 为两个分布的平均分布
- KL(P || M) = Σ P_i * ln(P_i / M_i)

JS 散度的优势:

  • 对称性:JS(P||Q) = JS(Q||P),结果唯一
  • 有界性:取值范围 [0, 1],便于设定统一阈值
  • 平滑性:对零概率不敏感,无需额外平滑处理
  • 可解释性:JS = 0 表示分布完全相同,JS = 1 表示分布完全不重叠
分布突变检测方法对比与选择流程 特征分布数据 特征类型判断 连续数值特征 (金额、时间间隔) 分箱数值特征 (等频/等距分箱) 类别特征 (设备、渠道、城市) KS 检验 D 统计量 + p 值 PSI 分箱占比变化 JS 散度 对称有界距离 分布突变判定结果 是否触发策略重构 选择原则:连续特征优先 KS 检验;分箱特征使用 PSI;类别特征或概率分布对比使用 JS 散度

3.6 三种方法的对比与选择建议

对比维度 KS 检验 PSI JS 散度
数据要求 原始连续值,无需分箱 需预先分箱 离散概率分布或分箱后数据
计算复杂度 O(n log n),排序为主 O(n),分箱后线性 O(n),需计算中间分布 M
对样本量敏感度 高,大样本易显著 中,分箱缓解样本量影响 低,有界性使其稳定
对零概率处理 天然支持 需拉普拉斯平滑 天然支持,无需平滑
结果可解释性 D 值 + p 值,直观 PSI 值,行业标准 JS 值,0~1 归一化
支付场景推荐 交易金额、年龄、时间 评分卡分数、收入分箱 设备类型、渠道、城市
最佳实践:在支付批次偏移监控系统中,建议同时部署三种方法,形成"三级预警"体系:
  • 一级预警(KS 检验):实时监控连续特征,每小时计算一次,D > 0.1 触发黄色预警
  • 二级预警(PSI):每日计算分箱特征稳定性,PSI > 0.25 触发橙色预警
  • 三级预警(JS 散度):每周计算类别特征分布偏移,JS > 0.15 触发红色预警
当三级预警同时触发时,自动进入策略重构流程。