2、特征回刷基础概念
2.1 什么是特征回刷
特征回刷(Feature Backfill)是指在信用评分模型的生命周期中,对历史时间窗口内的样本数据重新计算并更新特征变量的过程。简单来说,就是用当前最新的特征计算逻辑,去重新生成过去某段时间内的特征值。
在信贷风控场景中,特征回刷通常发生在以下背景:
- 历史样本需要重新入模:模型迭代时,新模型要求使用统一口径的特征,旧样本必须回刷对齐。
- 线上与离线特征不一致:离线训练时使用的特征计算方式与线上实时计算存在偏差,需要通过回刷校准。
- 特征衍生逻辑变更:如聚合窗口期从30天调整为60天,历史特征必须重新计算。
核心定义:特征回刷 = 用当前特征工程管线(Feature Pipeline)对历史数据重新执行特征计算,生成与线上一致的特征值。
2.2 回刷的触发条件
特征回刷并非日常运维操作,而是在特定事件触发下才启动的工程任务。根据触发来源,可分为以下三类:
| 触发类型 | 典型场景 | 回刷范围 | 优先级 |
|---|---|---|---|
| 模型迭代 | 模型版本升级(V1 → V2),新增或删除特征 | 全量训练样本 + 验证集 | 高 |
| 数据源变更 | 第三方数据接口字段调整、底层数据表结构变化 | 受影响时间范围内的样本 | 中 |
| 业务规则调整 | 授信策略变更、逾期定义口径修改 | 策略生效前后的样本 | 中高 |
2.2.1 模型迭代触发回刷
模型迭代是最常见的回刷触发条件。当风控团队决定开发新版本模型时,特征工程往往伴随以下变化:
- 特征新增:引入新的变量(如多头借贷指数、设备指纹特征),历史样本需要补全这些特征。
- 特征删除:剔除失效或违规特征,历史样本中对应的特征列需要置空或移除。
- 特征变换方式调整:如WOE分箱边界变化、标准化参数更新,历史特征值必须重新计算。
实践建议:模型迭代时,建议对最近12~24个月的全量样本进行回刷,确保训练集与线上特征分布一致。回刷完成后,必须做分布一致性检验(PSI < 0.1)。
2.2.2 数据源变更触发回刷
数据源变更通常来自外部数据供应商或内部数据仓库的调整:
- 接口字段变更:第三方征信机构调整返回字段名称、类型或枚举值。
- 底层表结构变化:内部数据仓库对用户行为表、交易表进行分表或合并操作。
- 数据质量修复:发现历史数据存在缺失或异常,修复后需要重新计算特征。
数据源变更的回刷范围通常限定在变更时间点前后的样本,不需要全量回刷。
2.2.3 业务规则调整触发回刷
业务规则调整直接影响特征的定义口径,典型场景包括:
- 逾期定义变更:从“逾期≥30天”调整为“逾期≥15天”,历史样本的逾期标签和逾期相关特征必须重新计算。
- 授信策略调整:最低授信额度从1000元调整为2000元,影响额度使用率等特征。
- 产品参数变更:还款周期、费率结构等调整,影响现金流相关特征。
注意:业务规则调整触发的回刷,往往需要与业务部门确认调整生效时间点,避免回刷范围过大或遗漏。建议在回刷前先做小样本验证,确认特征分布变化符合预期。
2.3 特征回刷流程概览
下图展示了特征回刷的完整流程,从触发条件识别到最终数据落库:
2.4 回刷与在线特征的一致性要求
特征回刷的最终目标是确保离线特征与线上实时计算的特征保持一致。一致性要求体现在三个层面:
| 一致性维度 | 离线回刷 | 线上实时 | 校验方法 |
|---|---|---|---|
| 计算逻辑 | 使用与线上相同的特征工程代码 | 实时特征计算服务 | 代码复用、单元测试 |
| 数据源 | 使用历史快照数据 | 实时数据流 | 数据源版本对齐 |
| 时间窗口 | 严格按历史时间点截断 | 当前时间点截断 | 时间戳对齐测试 |
最佳实践:建议将特征计算代码封装为独立模块,离线回刷与线上服务共用同一份代码。每次回刷完成后,抽取1000~5000条样本进行离线-线上特征值比对,确保误差在可接受范围内(通常要求完全一致)。