4 特征选择与构造规范

特征质量直接决定机会评分模型的泛化能力与业务落地价值。本章围绕特征相关性检验、业务可解释性要求和避免泄漏特征三个核心约束,建立从候选特征到合格特征集的标准操作流程。

4.1 适用场景

  • 已完成初步数据清洗、缺失值处理、异常值裁剪,需要从原始变量池中筛选有效特征。
  • 模型需交付给业务团队或监管方审查,特征必须具有清晰业务含义。
  • 数据包含时间维度(如订单时间、客户注册时间),存在未来信息混入风险。
  • 候选特征数量超过 30 个,需要压缩维度并保证不影响预测效果。

4.2 前置条件

  1. 数据准备完成:目标变量已定义并转为监督学习格式,训练集/验证集/测试集已按时间切分。
  2. 业务知识库就绪:至少一份经业务负责人审核的“特征业务含义对照表”,含特征名、计算逻辑、业务假设。
  3. 工具环境:Python 3.8+(pandas / numpy / scikit-learn / statsmodels)或等效分析平台;支持 VIF 计算、相关系数矩阵绘制。
  4. 时间戳字段:每个样本必须关联可排序的时间戳(如 create_time),用于检测时间顺序泄漏。

4.3 操作步骤

  1. 候选特征收集与登记
    汇总所有原始特征、衍生特征、聚合特征,录入特征清单表(Feature Inventory)。
  2. 业务可解释性初审
    逐条对照业务知识库,剔除毫无业务解释的“黑盒特征”;若无法直接解释但推测可能有用,标注为“待论证”,计入观察集。
  3. 相关性检验
    • 计算 Pairwise Pearson / Spearman 相关系数,标记 |r| ≥ 0.8 的特征对。
    • 计算 VIF(方差膨胀因子),剔除 VIF ≥ 5 的特征(每次剔除最高 VIF 特征后重新计算)。
  4. 时间顺序泄漏检测
    • 对每个特征,检查其计算是否依赖“未来”信息(如使用未来订单均值、后验标签统计量)。
    • 按时间戳排序,验证特征计算时点 ≤ 目标发生时点;若违反则标记为泄漏特征并剔除。
  5. 特征构造与交叉验证
    对保留特征按业务逻辑进行交互项、多项式、分箱构造;在验证集上评估稳定性,保留 AUC 提升 ≥ 0.01 的新特征。
  6. 最终特征集确认
    形成正式特征清单(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 验收标准

  1. 相关性:最终特征集中任意一对特征的 Pearson 相关系数 |r| < 0.8,且 VIF < 5(数值型特征)。
  2. 业务可解释性:所有保留特征均通过“业务可解释性初审”或“待论证”决策,并有明确的业务假设文档对应。
  3. 无泄漏:泄漏检查日志中标记为“泄漏”的特征数为 0;每个特征的时间戳验证记录可追溯。
  4. 文档完整性:最终特征清单包含全部必填字段(特征名、类型、VIF、业务解释结论、泄漏状态),缺失字段 ≤ 0。
  5. 可复现性:使用相同候选特征池、相同参数运行检验脚本,输出结果一致(hash 匹配)。
特征选择与构造规范流程 特征选择与构造规范流程 候选特征集 业务可解释性初审 不通过 相关性检验(VIF/相关系数) VIF≥5 或 |r|≥0.8 时间顺序泄漏检测 泄漏 特征构造与交叉验证 最终特征集 ❌ 剔除特征池 不可解释 / 高共线 / 泄漏 💡 核心原则 • 业务解释优先 • 多重共线性 < 容忍阈值 • 时间因果不倒置 • 交叉验证验证稳定性