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计算中“参考分布”与“当前分布”的对应关系。
3.3 特征选择与预处理
并非所有特征都适合直接用于PSI计算。特征选择不当会引入噪声,而预处理不一致则会直接导致PSI计算错误。
3.3.1 特征选择原则
- 仅选择入模特征: PSI应针对模型实际使用的特征进行计算。未入模的特征即使发生漂移,也不会直接影响模型输出。
- 排除高缺失率特征: 缺失率超过50%的特征,其分布本身不稳定,计算出的PSI缺乏参考价值。
- 排除常量特征: 取值长期不变的特征(如性别,在特定场景下)无法反映分布变化。
- 关注业务敏感特征: 优先监控那些业务逻辑上容易发生变化的特征,如收入、年龄、地区等。
3.3.2 预处理流程
预处理的核心目标是确保训练集与生产集的特征在进入PSI计算前,处于“可比”的状态。下图展示了标准预处理流程。
3.3.3 预处理关键细节
| 预处理步骤 | 训练集操作 | 生产集操作 | 常见错误 |
|---|---|---|---|
| 缺失值填充 | 使用训练集的中位数/众数填充 | 使用训练集计算出的中位数/众数填充 | 生产集使用自身的统计量填充,导致填充值不同 |
| 异常值截断 | 基于训练集确定上下限(如1%和99%分位数) | 使用训练集确定的上下限进行截断 | 生产集重新计算分位数,导致截断阈值漂移 |
| 分箱边界 | 基于训练集确定分箱边界(等频或等距) | 使用训练集确定的分箱边界进行映射 | 生产集重新分箱,导致箱边界不一致 |
关键警告: 所有预处理参数(填充值、截断阈值、分箱边界)必须完全从训练集导出,并作为“固定参数”应用到生产集上。任何在生产集上重新计算统计量的行为,都会将分布差异引入PSI计算,导致结果不可信。
3.4 数据准备清单与检查点
在正式计算PSI之前,建议对照以下清单进行最终确认:
- 数据一致性检查: 训练集与生产集的特征数量、名称、类型是否完全一致?
- 时间窗口确认: 生产集窗口是否覆盖了完整的业务周期?是否与训练集窗口无重叠?
- 样本量验证: 生产集样本量是否满足每个分箱至少50条的要求?
- 预处理参数固化: 是否已将训练集的缺失值填充值、异常值截断阈值、分箱边界保存为配置文件?
- 数据质量快照: 是否记录了训练集与生产集的基本统计量(均值、方差、缺失率)以便后续排查?
完成上述所有前置准备后,即可进入下一阶段——PSI的正式计算与分箱策略调优。扎实的前置工作将为后续的模型稳定性监控奠定可靠的数据基础。