变量衍生基础

变量衍生这个词,说白了你就是在原始数据上“造”出新特征。我刚开始做反欺诈的时候,总觉得拿原始字段直接训练模型就行——结果模型 AUC 死活不过 0.7。后来前辈告诉我:“你拿到的只是冰山一角,水面下的信息要靠变量衍生才能挖出来。”嗯,从那以后,我每次建模前都老老实实做一轮变量衍生。

什么是变量衍生

变量衍生就是基于已有字段,通过数学变换、组合、统计计算或时序分析,生成新的特征变量。举个例子:原始表格里有“转账时间”和“转账金额”两个字段,我可以衍生出“过去1小时累计转账金额”、“转账金额的波动率”、“与上一笔转账的时间间隔”——这些新变量才是模型真正能抓住团伙行为的“眼睛”。

我的习惯:先列一个“可衍生方向清单”,避免漏掉重要维度。比如针对资金交易数据,我一般会从统计、时序、关系、行为四个方向分别衍生,覆盖率能提高 30% 以上。

为什么团伙识别中需要变量衍生

你想想看,团伙行为和正常行为在原始字段上往往没有明显差异。比如每人每天转账5笔,金额都在100-200元之间——单看这些字段,跟正常用户没区别。但一旦衍生出“转账目标账户重合度”、“资金链路径相似度”,团伙特征就藏不住了。

我归纳了三个核心原因:

  • 原始字段信息密度低——单个字段只能表达一个孤立事实,团伙模式需要组合信息才能暴露。
  • 团伙行为有隐藏模式——比如“多账号共用设备”、“资金在特定时间段汇聚”,这些模式必须通过衍生变量才能量化。
  • 提升模型区分能力——好的衍生变量,常常是模型性能翻倍的关键。我经历过一个项目,加入 5 个精心衍生的关系变量后,AUC 从 0.72 直接跳到 0.89。
曾经踩过的坑:有一回我一股脑衍生了 200 多个变量,结果模型过拟合严重,线上效果反而下降。后来学会先做相关性分析,再用业务逻辑筛选,才把变量数量控制在 20~30 个,效果稳了很多。

常见的变量类型

我把团伙识别中常用的衍生变量分成四大类,每类下面又有几个典型子类。下面这张表可以帮你快速对照:

变量类型 子类 说明 示例
统计变量 总量统计 指定时间窗口内的累计值 过去1小时转账总金额
集中趋势 均值、中位数、众数 30天内转账金额均值
离散程度 标准差、极差、变异系数 资金流入金额的标准差
时序变量 间隔特征 事件之间的时间差 相邻转账的间隔秒数
趋势特征 变化率、差分、指数平滑 转账金额的 3 阶差分
关系变量 图结构特征 基于图谱计算的中心度、聚类系数等 该账号的 PageRank 值
群体重叠度 与已知团伙的设备/IP/账号重叠比例 共用设备数 / 无异常设备数
行为变量 行为频率 特定行为的活跃程度 每日登录次数、转账触发数
行为模式 行为的周期性、规律性 是否存在“深夜转账”模式

你看,统计变量是最基础的,几乎所有风控项目都会用;时序变量能捕捉到“突然加速”或“间隔异常”这类变化;关系变量直接对准团伙的社交网络结构;行为变量则刻画用户的操作习惯是否异常。我个人最喜欢的是关系变量——因为团伙的核心特征就是“抱团”,而关系变量就是量化这种抱团程度的最好工具。

小贴士:实际项目中,我建议按“统计→时序→关系→行为”的顺序逐步衍生,每衍生完一类就做一次相关性筛选,避免变量间多重共线性。这样既能保证覆盖度,又能控制变量数量。

下面这张图展示了变量衍生的整体流程,以及四类衍生变量在团伙识别中的位置。你可以看到,原始数据经过基础变量提取后,通过不同方向的变换生成新的衍生变量,最终汇聚成更有效的特征集。

变量衍生流程与常见类型 原始数据 基础变量 衍生过程 统计变量 时序变量 关系变量 行为变量 最终特征集 变量衍生让隐藏的团伙模式显性化,四类变量从不同角度补充信息 实战中建议优先挖掘关系变量和行为变量,团伙区分度最高

最后再多说一句:别把变量衍生当成一次性工作。我通常在探索性数据分析阶段会试 3~5 轮衍生思路,每轮结束就快速训练一个轻量模型验证效果。效果好就保留,效果差就砍掉——这样做既能节省时间,又能保证衍生出来的变量真的有用。