4. 特征工程与用户行为序列建模
反欺诈算法工程师面试中,特征工程与用户行为序列建模是区分“会调模型”和“懂业务”的关键分水岭。面试官通常不会只问“你用过哪些特征”,而是通过追问特征构造逻辑、时序处理细节和图关系挖掘深度,判断你是否具备从原始行为日志中提炼高区分度信号的能力。本章围绕统计特征、时序特征、图特征、Embedding 四条主线展开,并给出不同公司侧重点的应对策略。
一、核心原理:四类特征的业务语义与构造逻辑
反欺诈场景的本质是识别“异常行为模式”,而特征工程就是把行为模式翻译成模型可读的数值。四类特征各有不可替代的语义:
- 统计特征:描述“过去一段时间内发生了什么”。例如用户近1小时登录次数、近7天交易金额均值、设备关联账号数、IP 下注册用户数。核心是聚合维度和时间窗口的选择。
- 时序特征:描述“行为在时间轴上的节奏”。例如两次操作间隔、夜间活跃占比、滑动窗口内金额斜率、周期性突变。欺诈团伙往往在时间上呈现“集中爆发”或“机械规律”。
- 图特征:描述“实体之间的关联关系”。节点可以是用户、设备、IP、银行卡、手机号,边是登录、转账、绑定等关系。常用度中心性、PageRank、社区发现、团伙密度。
- Embedding:把离散 ID 或行为序列映射为稠密向量,捕捉统计特征难以表达的隐式相似性。包括序列 Embedding(如用户行为序列过 GRU/Transformer)、图 Embedding(如 Node2Vec、GraphSAGE)、ID Embedding(如 FM/DeepFM 中的特征交叉)。
面试加分点:不要孤立罗列特征,而是说明“哪类特征解决了哪个业务痛点”。例如:统计特征解决“单点异常”,时序特征解决“节奏异常”,图特征解决“团伙异常”,Embedding 解决“泛化与冷启动”。
二、方法流程:从原始日志到特征矩阵
一个可落地的反欺诈特征工程流程通常包含以下步骤:
- 实体定义与数据对齐:明确主键(用户ID、设备ID、订单ID),统一时间戳口径,处理时区与乱序日志。
- 时间窗口划分:根据业务节奏选择窗口,如1h、24h、7d、30d。注意窗口必须与标签时间严格对齐,避免未来信息泄露。
- 统计聚合:按实体和窗口计算 count、sum、avg、max、std、distinct count 等。
- 时序加工:计算相邻事件间隔、滑动窗口统计、趋势斜率、周期性强度。
- 图构建与图计算:以用户-设备-IP 等关系建图,计算节点度、社区标签、邻居欺诈比例。
- Embedding 生成:对行为序列做截断与填充,训练序列模型或图模型,输出向量。
- 特征筛选与监控:用 IV、PSI、SHAP 做筛选和稳定性监控,防止线上漂移。
# 示例:滑动窗口统计特征构造(PySpark 伪代码)
from pyspark.sql import functions as F
from pyspark.sql.window import Window
w = Window.partitionBy("user_id").orderBy("event_time").rangeBetween(-3600, 0)
df = df.withColumn("cnt_1h", F.count("event_id").over(w))
df = df.withColumn("amt_sum_1h", F.sum("amount").over(w))
df = df.withColumn("distinct_device_1h", F.approx_count_distinct("device_id").over(w))
三、案例/场景:团伙欺诈的特征组合拳
假设某支付平台发现一批新注册用户在凌晨集中绑定同一张银行卡并小额试卡。单看统计特征,每个用户可能都“正常”;但组合四类特征后信号非常明显:
| 特征类型 | 具体特征 | 异常表现 |
|---|---|---|
| 统计特征 | 设备关联账号数、IP 注册数 | 单设备关联 20+ 账号,远超均值 |
| 时序特征 | 注册到绑卡间隔、夜间操作占比 | 间隔小于 30 秒,夜间占比 90% |
| 图特征 | 设备-银行卡二部图社区密度 | 形成紧密社区,邻居欺诈率高 |
| Embedding | 行为序列向量与已知团伙相似度 | 余弦相似度大于 0.85 |
面试表达模板:先讲业务现象,再讲特征构造,最后讲模型效果。例如“我们通过设备关联度和时序间隔组合,将团伙召回率提升了 18%,误杀率下降 5%”。
四、公司侧重点与误区复盘
不同公司对特征工程的考察侧重点差异明显:
- 支付/金融风控公司:重统计特征与规则可解释性,强调实时性、窗口对齐、特征监控。
- 电商/营销反作弊:重图特征与团伙挖掘,关注设备指纹、IP 聚类、社区发现。
- 互联网大厂安全部门:重 Embedding 与深度学习,关注序列建模、图神经网络、多模态融合。
- 银行/传统机构:重稳定性和合规,特征需可解释、可审计,避免黑盒 Embedding 直接上线。
常见误区:① 窗口穿越,用未来数据构造特征导致离线 AUC 虚高;② 过度依赖 ID 类 Embedding,冷启动时效果崩塌;③ 图特征只算度中心性,忽略社区和邻居标签;④ 时序特征不做对齐,把“注册后行为”混入“注册前预测”。复盘时务必说明你如何发现并修复这些问题。
面试中回答特征工程问题,建议采用“业务痛点 → 特征设计 → 工程实现 → 效果验证 → 踩坑复盘”的五段式结构。既能体现技术深度,也能展示业务理解和工程严谨性。记住:反欺诈特征工程的核心不是特征数量,而是特征背后的行为解释力和线上稳定性。