4. PSI指标原理:数学公式推导、期望分布与实际分布、分箱方法

群体稳定性指标(Population Stability Index, PSI)是衡量两个分布之间差异程度的量化指标。在金融风控中,PSI 用于监控模型评分或关键风险指标(如坏账率)在时间维度上的分布漂移。本章从数学原理出发,逐步推导 PSI 公式,并详细解释期望分布、实际分布以及分箱方法。

4.1 PSI 的数学公式推导

PSI 的核心思想来源于信息论中的 KL 散度(Kullback-Leibler divergence),用于衡量两个概率分布 P 和 Q 之间的差异。其数学定义如下:

KL(P || Q) = Σ [ P(i) * ln( P(i) / Q(i) ) ]

其中:

  • P(i):实际分布(Actual Distribution)在第 i 个分箱中的占比。
  • Q(i):期望分布(Expected Distribution)在第 i 个分箱中的占比。

KL 散度具有非对称性(KL(P||Q) ≠ KL(Q||P)),而 PSI 通过对称化处理,使其成为更稳定的监控指标:

PSI = Σ [ (P(i) - Q(i)) * ln( P(i) / Q(i) ) ]

将公式展开,得到 PSI 的完整计算表达式:

PSI = Σ [ (实际占比_i - 期望占比_i) * ln( 实际占比_i / 期望占比_i ) ]

其中,ln 为自然对数。当实际分布与期望分布完全一致时,P(i) = Q(i),ln(P(i)/Q(i)) = 0,PSI = 0。分布差异越大,PSI 值越高。

关键理解: PSI 本质上是两个分布之间“距离”的度量,但并非严格意义上的距离函数(不满足三角不等式)。在风控监控中,PSI 值超过 0.1 通常被视为需要关注,超过 0.25 则视为严重漂移。

4.2 期望分布与实际分布

在 PSI 计算中,两个核心分布的定义决定了监控的方向:

分布类型 定义 在坏账率监控中的角色
期望分布(Expected) 作为基准的参考分布,通常为模型开发时或业务稳定期的分布 例如:模型训练集或验证集的坏账率分布,代表“正常状态”
实际分布(Actual) 当前监控周期内的实时分布,反映最新数据特征 例如:当前 Tick 数据中按评分分箱的坏账率分布

在 Tick 数据坏账率监控场景中,期望分布通常来自:

  • 模型开发样本:建模时使用的训练集或 OOT(Out-of-Time)验证集。
  • 业务稳定期:选取一段业务表现稳定的历史时期作为基准。
  • 滚动基准:使用过去 N 个 Tick 周期的滑动窗口均值作为动态期望。

实际分布则来自:

  • 当前 Tick 周期:例如最近 1 小时或 1 天的实时数据。
  • 实时计算:通过流式计算引擎(如 Flink、Spark Streaming)实时统计。
实践建议: 期望分布应定期(如每季度)重新校准,避免因业务模式自然演变导致频繁误报。但校准频率不宜过高,否则会掩盖真实的漂移信号。

4.3 分箱方法

PSI 的计算依赖于将连续变量或离散变量划分为若干个分箱(Bins)。分箱方法直接影响 PSI 的敏感性和稳定性。常用的分箱方法包括:

分箱方法 原理 适用场景 注意事项
等距分箱 将数值范围等分为 N 个区间 变量分布均匀时效果较好 容易导致某些分箱样本过少或为空
等频分箱 使每个分箱包含大致相等的样本量 最常用,适用于大多数评分/风险指标 分箱边界会随分布变化而移动
决策树分箱 利用决策树算法寻找最优切分点 需要最大化分箱间差异时 计算成本较高,可能过拟合
自定义分箱 根据业务经验或监管要求设定边界 评分卡模型、监管报送场景 需要业务专家参与,灵活性较低

在 Tick 数据坏账率监控中,等频分箱 是最常用的方法,因为它能保证每个分箱都有足够的样本量来计算稳定的坏账率。分箱数量通常建议在 10~20 个 之间,过少会降低敏感性,过多则会导致统计噪声。

避坑提示: 当某个分箱在期望分布或实际分布中的占比为 0 时,ln(0) 无定义。实践中需做平滑处理:若 P(i)=0 或 Q(i)=0,则将该分箱的贡献项设为 0,或使用极小值(如 0.0001)替代。

4.4 PSI 计算流程与分箱关系图

下图展示了从原始数据到 PSI 值的完整计算流程,重点突出分箱环节在其中的核心位置:

PSI 计算流程与分箱关系图 原始 Tick 数据 分箱处理 等频分箱 | 等距分箱 | 自定义分箱 期望分布 Q(i) 实际分布 P(i) PSI = Σ[(P-Q)*ln(P/Q)]

4.5 分箱边界对齐与漂移检测

在计算 PSI 时,一个关键细节是:分箱边界必须基于期望分布确定,并固定应用于实际分布。这意味着:

  1. 确定基准边界:使用期望分布(如训练集)的数据,通过等频分箱等方法确定每个分箱的上下界。
  2. 固定边界应用:将同样的边界应用于实际分布,统计每个分箱中的样本占比。
  3. 计算占比差异:对每个分箱计算 P(i) 和 Q(i),代入 PSI 公式。

这种固定边界的方式确保了 PSI 的纵向可比性——如果每次计算都重新分箱,边界变化本身就会引入噪声,无法区分是分布漂移还是分箱方式改变导致的差异。

实战要点: 在 Tick 数据监控中,建议将分箱边界存储为配置文件或元数据,每次计算 PSI 时从配置中心读取。当业务逻辑发生重大变更(如模型迭代)时,才重新生成分箱边界。

4.6 PSI 阈值与解读

根据金融风控行业经验,PSI 值的解读通常遵循以下标准:

PSI 值范围 漂移程度 建议行动
PSI < 0.1 无显著漂移 正常监控,无需干预
0.1 ≤ PSI < 0.25 轻度漂移 发出预警,排查原因
PSI ≥ 0.25 严重漂移 立即触发告警,启动模型或策略重审

需要注意的是,这些阈值是经验值,实际应用中应根据业务敏感度进行调整。对于坏账率监控,由于直接涉及风险敞口,建议采用更严格的阈值(如 0.05 作为预警线)。

进阶技巧: 可以同时监控 分箱级别的 PSI 贡献度,即每个分箱的 (P-Q)*ln(P/Q) 值。当总 PSI 超标时,通过贡献度热力图快速定位是哪个评分区间发生了漂移,从而精准定位问题根源。