4 特征选择与构造规范
特征质量直接决定机会评分模型的泛化能力与业务落地价值。本章围绕特征相关性检验、业务可解释性要求和避免泄漏特征三个核心约束,建立从候选特征到合格特征集的标准操作流程。
4.1 适用场景
- 已完成初步数据清洗、缺失值处理、异常值裁剪,需要从原始变量池中筛选有效特征。
- 模型需交付给业务团队或监管方审查,特征必须具有清晰业务含义。
- 数据包含时间维度(如订单时间、客户注册时间),存在未来信息混入风险。
- 候选特征数量超过 30 个,需要压缩维度并保证不影响预测效果。
4.2 前置条件
- 数据准备完成:目标变量已定义并转为监督学习格式,训练集/验证集/测试集已按时间切分。
- 业务知识库就绪:至少一份经业务负责人审核的“特征业务含义对照表”,含特征名、计算逻辑、业务假设。
- 工具环境:Python 3.8+(pandas / numpy / scikit-learn / statsmodels)或等效分析平台;支持 VIF 计算、相关系数矩阵绘制。
- 时间戳字段:每个样本必须关联可排序的时间戳(如 create_time),用于检测时间顺序泄漏。
4.3 操作步骤
- 候选特征收集与登记
汇总所有原始特征、衍生特征、聚合特征,录入特征清单表(Feature Inventory)。
- 业务可解释性初审
逐条对照业务知识库,剔除毫无业务解释的“黑盒特征”;若无法直接解释但推测可能有用,标注为“待论证”,计入观察集。
- 相关性检验
- 计算 Pairwise Pearson / Spearman 相关系数,标记 |r| ≥ 0.8 的特征对。
- 计算 VIF(方差膨胀因子),剔除 VIF ≥ 5 的特征(每次剔除最高 VIF 特征后重新计算)。
- 时间顺序泄漏检测
- 对每个特征,检查其计算是否依赖“未来”信息(如使用未来订单均值、后验标签统计量)。
- 按时间戳排序,验证特征计算时点 ≤ 目标发生时点;若违反则标记为泄漏特征并剔除。
- 特征构造与交叉验证
对保留特征按业务逻辑进行交互项、多项式、分箱构造;在验证集上评估稳定性,保留 AUC 提升 ≥ 0.01 的新特征。
- 最终特征集确认
形成正式特征清单(Final Feature Set),包含特征名、类型、计算表达式、可解释性说明、相关性状态。
常见陷阱:使用全数据(含未来样本)计算均值作为特征;对连续变量做 log 变换前未检查负值域;将目标变量反转或衍生后加入特征集(如“是否后续成交”直接作为特征)。
4.4 输入与输出物
| 类别 | 名称 | 格式 / 内容说明 |
| 输入 | 候选特征池 | CSV / Parquet,包含所有候选特征、目标变量、时间戳 |
| 输入 | 业务解释对照表 | Excel / 企业 wiki 条目,含特征名、业务假设、计算口径、负责人 |
| 输入 | 时间戳字段映射 | JSON 配置,标明每个数据源的时间戳列名及格式 |
| 输出 | 最终特征清单 | CSV,含特征名、类型、VIF、最大相关系数、业务可解释性状态、泄漏检查结论 |
| 输出 | 相关性矩阵热力图 | PNG / 交互式 HTML(用于评审会议展示) |
| 输出 | 泄漏检查日志 | 文本文件,记录每个特征的检查时间、是否泄漏、依据 |
4.5 责任边界
- 数据工程师:执行相关性计算、VIF 检验、时间顺序验证,输出计算报告。
- 业务分析师:主导可解释性评估,对每个特征给出“通过/待讨论/否决”结论并签字。
- 模型负责人:审核最终特征清单,确认没有泄漏特征,批准进入建模阶段。
- 合规 / 风控(可选):若涉及监管要求,对业务解释性结论进行二次复核。
4.6 记录材料
| 记录名称 | 保存位置 | 保留周期 |
| 候选特征清单(含标注) | 项目共享盘 / 数据湖 | 3 年 |
| 相关性检验报告(含 VIF 变化曲线) | 实验日志目录 | 3 年 |
| 业务可解释性评审纪要 | 知识库 / 会议记录 | 5 年 |
| 泄漏检查时序验证结果 | 版本控制仓库 | 3 年 |
4.7 异常处理
| 异常场景 | 处理方式 |
| VIF ≥ 10 但业务坚持保留 | 要求业务负责人书面说明理由,单独标记为“高共性特征”,后续使用 L2 正则或 PCA 压缩;上线后监控重要性衰减。 |
| 时间顺序无法完全确定 | 按最晚可获取时间点估算;若仍存疑则视为潜在泄漏,暂不纳入主模型,放入后备特征集。 |
| 业务可解释性评估争议 | 召开评审会,由模型负责人、业务分析师、合规三方投票决定,保留争议记录。 |
| 候选特征数量过少(< 5) | 启动特征挖掘专题:引入外部数据、构造高阶交互、进行时序聚合(如滑动窗口均值)。 |
4.8 验收标准
- 相关性:最终特征集中任意一对特征的 Pearson 相关系数 |r| < 0.8,且 VIF < 5(数值型特征)。
- 业务可解释性:所有保留特征均通过“业务可解释性初审”或“待论证”决策,并有明确的业务假设文档对应。
- 无泄漏:泄漏检查日志中标记为“泄漏”的特征数为 0;每个特征的时间戳验证记录可追溯。
- 文档完整性:最终特征清单包含全部必填字段(特征名、类型、VIF、业务解释结论、泄漏状态),缺失字段 ≤ 0。
- 可复现性:使用相同候选特征池、相同参数运行检验脚本,输出结果一致(hash 匹配)。