3、PSI计算前置准备:数据收集、时间窗口划分、特征选择与预处理

PSI(Population Stability Index)的计算并非简单的公式套用,其结果的可靠性高度依赖于前置准备工作的质量。本章将系统讲解在进入PSI计算之前必须完成的三个核心步骤:数据收集策略、时间窗口的科学划分,以及特征的选择与预处理。任何一步的疏忽都可能导致PSI指标失真,进而误导模型监控决策。

3.1 数据收集策略与质量要求

PSI衡量的是两个样本(通常为训练集与生产集)之间特征分布的变化。因此,数据的代表性与一致性是首要前提。

核心原则: 用于计算PSI的样本必须能够真实反映其对应时间窗口内的总体分布。采样偏差是PSI计算中最常见的陷阱之一。

3.1.1 数据收集清单

数据维度 训练集(参考集) 生产集(当前集) 注意事项
时间范围 模型训练时使用的历史数据时间窗口 待评估的近期生产数据时间窗口 两个窗口不应有重叠,且需保持业务周期一致性
样本量 通常为建模全量样本 建议 ≥ 训练集样本量的 10%,且每个分箱内至少 50 条 样本量过小会导致PSI波动剧烈,失去统计意义
特征集合 模型入模的所有特征 与训练集完全一致的特征集合 特征名称、类型、业务含义必须严格对齐
数据质量 经过清洗与验证的稳定数据 需进行相同的缺失值、异常值处理 预处理逻辑不一致会引入人为漂移

3.1.2 常见数据问题与避坑

  • 幸存者偏差: 生产数据中只包含“存活”到当前时间点的样本,而训练集包含历史全量。例如,在信贷风控中,训练集包含所有放款样本,而生产集可能只包含未结清的账户。
  • 数据延迟: 生产特征的计算时间点与样本时间点不匹配。例如,使用T+1的数据计算T日的PSI。
  • 特征回溯不一致: 生产环境中特征的计算逻辑与训练时使用的回溯逻辑不同,导致同一特征在不同时间点的值不可比。

3.2 时间窗口划分方法

时间窗口的划分决定了PSI是在评估“短期波动”还是“长期趋势”。错误的窗口划分会使PSI对业务变化反应迟钝或过度敏感。

经验法则: 窗口长度应至少包含一个完整的业务周期(如一周、一个月或一个季度),以消除周期性波动对PSI的干扰。

3.2.1 窗口划分策略对比

策略 定义 适用场景 优点 缺点
固定窗口 使用固定的时间长度(如最近30天)作为生产集窗口 业务相对稳定,监控周期固定的场景 计算简单,易于自动化 对突发漂移反应滞后
滚动窗口 每次计算时,窗口向前滑动固定步长 需要高频监控、快速发现漂移的场景 灵敏度高,能捕捉近期变化 计算量大,窗口间PSI波动可能较大
事件窗口 以特定业务事件(如产品上线、政策变更)为锚点划分窗口 评估特定事件对模型稳定性的影响 因果明确,便于归因分析 窗口长度不固定,难以横向对比

3.2.2 窗口划分流程图

下图展示了从训练集到生产集的时间窗口划分逻辑,以及PSI计算中“参考分布”与“当前分布”的对应关系。

时间窗口划分与PSI计算关系图 T₀ T₁ T₂ T₃ (当前) 训练集(参考分布) 生产集 1 生产集 2(当前分布) PSI 计算逻辑 PSI(生产集1) = 比较“训练集”与“生产集1”的分布差异 PSI(生产集2) = 比较“训练集”与“生产集2”的分布差异

3.3 特征选择与预处理

并非所有特征都适合直接用于PSI计算。特征选择不当会引入噪声,而预处理不一致则会直接导致PSI计算错误。

3.3.1 特征选择原则

  • 仅选择入模特征: PSI应针对模型实际使用的特征进行计算。未入模的特征即使发生漂移,也不会直接影响模型输出。
  • 排除高缺失率特征: 缺失率超过50%的特征,其分布本身不稳定,计算出的PSI缺乏参考价值。
  • 排除常量特征: 取值长期不变的特征(如性别,在特定场景下)无法反映分布变化。
  • 关注业务敏感特征: 优先监控那些业务逻辑上容易发生变化的特征,如收入、年龄、地区等。

3.3.2 预处理流程

预处理的核心目标是确保训练集与生产集的特征在进入PSI计算前,处于“可比”的状态。下图展示了标准预处理流程。

特征预处理流程图 原始特征数据 步骤1:缺失值处理(统一填充策略) 步骤2:异常值截断(基于训练集分位数) 步骤3:分箱处理(等距/等频/自定义) 标准化分箱分布

3.3.3 预处理关键细节

预处理步骤 训练集操作 生产集操作 常见错误
缺失值填充 使用训练集的中位数/众数填充 使用训练集计算出的中位数/众数填充 生产集使用自身的统计量填充,导致填充值不同
异常值截断 基于训练集确定上下限(如1%和99%分位数) 使用训练集确定的上下限进行截断 生产集重新计算分位数,导致截断阈值漂移
分箱边界 基于训练集确定分箱边界(等频或等距) 使用训练集确定的分箱边界进行映射 生产集重新分箱,导致箱边界不一致
关键警告: 所有预处理参数(填充值、截断阈值、分箱边界)必须完全从训练集导出,并作为“固定参数”应用到生产集上。任何在生产集上重新计算统计量的行为,都会将分布差异引入PSI计算,导致结果不可信。

3.4 数据准备清单与检查点

在正式计算PSI之前,建议对照以下清单进行最终确认:

  1. 数据一致性检查: 训练集与生产集的特征数量、名称、类型是否完全一致?
  2. 时间窗口确认: 生产集窗口是否覆盖了完整的业务周期?是否与训练集窗口无重叠?
  3. 样本量验证: 生产集样本量是否满足每个分箱至少50条的要求?
  4. 预处理参数固化: 是否已将训练集的缺失值填充值、异常值截断阈值、分箱边界保存为配置文件?
  5. 数据质量快照: 是否记录了训练集与生产集的基本统计量(均值、方差、缺失率)以便后续排查?

完成上述所有前置准备后,即可进入下一阶段——PSI的正式计算与分箱策略调优。扎实的前置工作将为后续的模型稳定性监控奠定可靠的数据基础。