1. 风控变量衍生概述
变量衍生(Feature Engineering)是风控建模中承上启下的关键环节。原始数据通常以基础字段形式存在,如“近3个月查询次数”“历史逾期天数”等,这些字段直接进入模型往往信息密度低、区分度不足。变量衍生的核心目标是通过数学变换、组合、聚合等手段,从原始字段中提取出更能刻画用户风险特征的派生变量,从而提升模型的区分能力和稳定性。
1.1 变量衍生的目的
| 目的维度 | 具体说明 | 典型示例 |
|---|---|---|
| 增强区分度 | 将原始字段中隐含的非线性关系、交互效应显式表达出来,使好坏样本在变量分布上拉开差距 | “收入/负债比”比单独使用“收入”或“负债”更能区分还款能力 |
| 提升稳定性 | 通过比率、排名、分档等变换,消除量纲、时间趋势、极端值对模型的影响 | “近6个月查询次数/近12个月查询次数”比绝对次数更稳定 |
| 补全信息 | 从时间序列、文本、关系网络等非结构化数据中提取结构化特征 | “近3个月查询次数均值”“近6个月查询次数标准差” |
| 适配算法 | 将类别变量、缺失值、偏态分布转换为逻辑回归等线性模型能有效处理的形态 | WOE编码、缺失值指示变量、对数变换 |
实操提示:变量衍生不是越多越好。每衍生一个变量,都应评估其IV(信息值)、缺失率、单调性以及与业务逻辑的一致性。盲目衍生会导致维度灾难和过拟合。
1.2 常见衍生方法分类
风控场景中,变量衍生方法可按数据形态和变换逻辑分为以下五大类:
- 数值变换类:对数变换、平方根变换、Box-Cox变换、标准化/归一化。用于处理长尾分布、异方差性。
- 比率/组合类:两字段相除、加权组合、差值计算。如“月收入/月还款额”“近3个月查询次数 - 近6个月查询次数”。
- 聚合统计类:按时间窗口(近1/3/6/12个月)或按分组(如机构类型)计算均值、最大值、最小值、标准差、趋势斜率。常用于征信、交易流水数据。
- 分箱/离散化类:等距分箱、等频分箱、卡方分箱、决策树分箱。将连续变量转换为有序类别,增强与坏账率的单调关系。
- 编码/映射类:WOE编码、独热编码、标签编码、缺失值指示变量。用于将类别变量或缺失信息转化为数值特征。
重点:在风控建模流程中,变量衍生通常紧跟在数据清洗与预处理之后、特征筛选与分箱之前。衍生出的变量需要经过分箱、IV计算、相关性分析等步骤,才能进入模型训练。
1.3 衍生在风控建模流程中的位置
变量衍生不是孤立步骤,而是嵌入在标准风控建模流水线中的核心环节。下图展示了从原始数据到模型输出的完整流程,其中变量衍生处于数据预处理与特征工程之间的枢纽位置:
1.4 衍生策略的制定原则
在实际项目中,变量衍生需要遵循以下原则,避免陷入“为衍生而衍生”的误区:
- 业务驱动:先理解业务逻辑,再设计衍生公式。例如,信贷场景中“收入负债比”比“收入平方”更有业务含义。
- 分层衍生:按数据源(征信、交易、设备、社交)分别衍生,再统一汇总,便于后续分箱和特征筛选。
- 时效性匹配:衍生窗口期应与模型预测目标一致。例如,预测未来3个月逾期,衍生窗口宜采用近3/6/12个月。
- 可解释性优先:优先选择业务人员能理解的衍生方式(如比率、差值),避免过度使用高阶多项式或复杂非线性变换。
- 缺失值处理:衍生过程中需同步记录缺失来源,后续可通过缺失率分箱或缺失指示变量保留信息。
常见陷阱:在训练集上衍生变量后,直接对测试集应用相同的衍生逻辑,但未考虑测试集与训练集分布差异导致的衍生失效。正确的做法是将衍生逻辑封装为函数,在训练集拟合参数(如分箱边界、均值、标准差),再应用到测试集和线上。
1.5 变量衍生的输出产物
完成变量衍生后,通常需要输出以下产物,供后续分箱与建模使用:
| 产物名称 | 内容说明 | 格式示例 |
|---|---|---|
| 衍生变量清单 | 记录每个衍生变量的名称、衍生公式、原始字段来源、数据类型 | 变量名:income_debt_ratio;公式:income / total_debt;来源:income, total_debt |
| 衍生变量数据表 | 包含所有样本的衍生变量值,与原始数据表通过主键关联 | user_id, income_debt_ratio, query_3m_avg, ... |
| 衍生逻辑文档 | 详细描述每个衍生变量的业务含义、计算步骤、边界条件处理 | 用于模型评审、合规审计、团队交接 |
| 衍生代码脚本 | 可复用的Python/SQL脚本,包含参数配置和异常处理 | def feature_engineer(df): ... |
课程预告:本章后续将深入讲解各类衍生方法的具体实现,包括Python代码实战、分箱策略与WOE计算,以及如何通过自动化衍生工具提升效率。请确保理解变量衍生的定位与原则,这是后续所有实操内容的基础。