4. 数据采集与预处理:特征数据源梳理、数据质量检查、缺失值与异常值处理、时间窗口对齐

PSI(Population Stability Index)漂移监测的准确性高度依赖底层特征数据的质量与一致性。在构建监测管道之前,必须系统性地完成数据源梳理、质量检查、缺失/异常值处理以及时间窗口对齐。本章将逐一拆解这些前置步骤,确保后续 PSI 计算建立在干净、可比的数据基础上。

4.1 特征数据源梳理

反洗钱监测通常涉及多个业务系统与数据仓库表。梳理数据源的核心目标是明确每个特征字段的业务含义、技术类型、更新频率以及历史可回溯长度。

数据源系统 典型特征字段 数据类型 更新频率 历史回溯能力
核心账务系统 交易金额、余额、交易频次 数值型(Decimal) T+1 / 实时 ≥ 12 个月
客户信息管理系统 客户年龄、职业、地区、风险等级 类别型 / 数值型 不定期变更 快照表可回溯
交易流水明细 交易对手类型、渠道、IP 地址 类别型 / 字符串 实时 ≥ 6 个月
反洗钱名单筛查 命中名单标识、匹配分数 布尔型 / 数值型 实时 ≥ 3 年
实践建议:建立特征数据源清单(Data Source Inventory),记录每个字段的源表名、字段名、业务定义、数据质量负责人以及最近一次质量检查时间。该清单是后续 PSI 漂移归因分析的基础。

4.2 数据质量检查

数据质量检查应覆盖以下四个维度,任何一项不达标都可能导致 PSI 计算失真:

  • 完整性:检查字段空值率是否超过预设阈值(例如 5%)。对于关键特征(如交易金额),空值率应趋近于 0。
  • 准确性:验证数值范围是否合理(如年龄 0~120,交易金额非负),类别值是否在合法枚举列表中。
  • 一致性:对比同一特征在不同数据源或不同时间段的分布是否出现系统性偏差(例如某月突然大量缺失“交易渠道”字段)。
  • 时效性:确认数据延迟是否在可接受窗口内(例如 T+1 数据必须在次日 10:00 前到位)。
质量检查清单示例:
-- 完整性检查:交易金额空值率
SELECT 
  COUNT(*) AS total_records,
  SUM(CASE WHEN tx_amount IS NULL THEN 1 ELSE 0 END) AS null_count,
  ROUND(SUM(CASE WHEN tx_amount IS NULL THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS null_pct
FROM aml_feature_store
WHERE partition_date = '2025-03-01';

-- 准确性检查:年龄范围
SELECT 
  MIN(age) AS min_age,
  MAX(age) AS max_age,
  COUNT(*) AS outlier_count
FROM aml_feature_store
WHERE age < 0 OR age > 120;

4.3 缺失值与异常值处理

处理策略需根据特征类型和缺失机制选择,避免引入人为偏差:

特征类型 缺失值处理策略 异常值处理策略
连续数值型(如交易金额) 中位数填充 / 分位数填充 / 模型预测填充 截断至 1% 和 99% 分位数 / 对数变换
离散类别型(如交易渠道) 众数填充 / 新增“未知”类别 合并低频类别 / 归为“其他”
布尔型(如命中名单标识) 默认填充为 False / 0 不处理(异常值通常为业务异常)
时间型(如交易时间戳) 删除记录 / 使用相邻记录插值 检查时间戳是否在合理业务范围内
避坑提示:PSI 计算对分布变化敏感。如果训练期(参考分布)和监测期(当前分布)使用了不同的缺失值填充策略,会直接导致 PSI 值虚高或虚低。务必保持两个时期的数据预处理逻辑完全一致。

4.4 时间窗口对齐

时间窗口对齐是 PSI 漂移监测中最容易被忽视但影响最大的环节。不同特征可能具有不同的时间粒度(日、周、月),且数据产出时间存在延迟。对齐的核心原则是:确保参考分布与监测分布的时间窗口在业务含义上可比。

  • 固定窗口法:选取固定的日历周期(如每月 1 日至月底),适用于周期性稳定的特征。
  • 滚动窗口法:以当前日期为终点,向前滑动固定天数(如过去 30 天),适用于快速变化的业务场景。
  • 事件窗口法:以特定业务事件(如开户、触发预警)为锚点,对齐事件前后固定时间范围,适用于事件驱动的监测。
时间窗口对齐策略对比 固定窗口法 参考分布: 2025-01-01 ~ 2025-01-31 监测分布: 2025-02-01 ~ 2025-02-28 滚动窗口法 参考分布: 2025-01-15 ~ 2025-02-13 (过去30天) 监测分布: 2025-02-14 ~ 2025-03-15 (过去30天) 事件窗口法 参考分布: 开户后 T+0 ~ T+30 天 监测分布: 开户后 T+0 ~ T+30 天 关键原则:参考分布与监测分布的时间窗口长度、业务上下文必须一致,否则 PSI 漂移可能反映的是时间窗口差异而非分布变化。

4.5 数据预处理管道架构

将上述步骤整合为可重复执行的预处理管道,是保障 PSI 监测自动化的关键。下图展示了从原始数据到 PSI 计算就绪特征集的完整流程:

数据预处理管道架构 原始数据源 数据质量检查 缺失/异常值处理 时间窗口对齐 PSI 就绪特征集 管道执行要点: 1. 每个步骤必须记录日志(数据量、空值率、异常值数量、窗口参数)。 2. 训练期与监测期使用完全相同的预处理代码和参数配置。 3. 预处理结果应保存为不可变快照,便于后续 PSI 漂移归因时回溯。
工程落地建议:使用 Apache Airflow 或 Prefect 编排预处理管道,将每个步骤封装为独立任务(Task)。设置数据质量告警阈值,一旦空值率或异常值比例超过阈值,自动暂停管道并通知数据负责人,避免脏数据进入 PSI 计算环节。