第3章:数据采集与治理:风控数据源、清洗与特征工程

各位同学,今天我们来聊聊风控系统的“粮食”——数据。

我常说一句话:模型决定上限,数据决定下限。再牛的算法,喂进去的是垃圾,吐出来的只能是垃圾。这一章,咱们就把数据从采集到加工成特征的全链路捋一遍。

3.1 风控数据源:你的弹药库

做风控,首先得知道能从哪儿搞到数据。我个人习惯把数据源分成三大类:

3.1.1 征信数据

这是最传统的“硬通货”。央行征信、百行征信、朴道征信……这些数据权威性高,但有个问题——覆盖人群有限。很多年轻人、小微商户在征信系统里几乎是“白户”。

我记得在2018年做现金贷项目时,发现30%的申请人在央行征信里只有一条信用卡记录。这时候你光靠征信打分,基本等于瞎猜。

核心字段:信贷历史、逾期记录、查询次数、负债率、担保信息。

3.1.2 行为数据

说白了,就是用户在你这儿留下的“脚印”。

  • 申请行为:填写时长、修改次数、是否复制粘贴
  • 登录行为:登录频率、设备更换、地理位置
  • 交易行为:消费金额、频次、时间分布

我在项目中遇到过一件有意思的事:有个用户申请贷款时,填写手机号用了整整5分钟,中间还删了3次。后来一查,这个手机号是刚买的黑号。你看,行为数据有时候比征信还灵敏。

3.1.3 设备指纹

设备指纹是什么?就是给每个手机、电脑发一张“身份证”。

嗯,这里要注意:设备指纹不是简单的IMEI或MAC地址。真正的设备指纹是综合了硬件参数、系统属性、网络环境等上百个维度算出来的一个哈希值。

避坑指南:我曾经遇到过一个团伙,他们用模拟器批量申请贷款。普通设备指纹根本抓不到,因为他们每次启动模拟器都会随机生成IMEI。后来我们加入了“是否安装Xposed框架”、“屏幕分辨率是否异常”等特征,才把这批人揪出来。

3.2 数据清洗与标准化:去伪存真

数据拿到手,别急着建模。先问问自己:这数据靠谱吗?

3.2.1 常见的数据脏问题

问题类型 举例 处理方式
缺失值 收入字段为空 均值填充、模型预测、单独作为一类
异常值 年龄填了200岁 截断、剔除、标记为异常
重复数据 同一用户提交两次 按时间戳去重
格式不一致 手机号有的带86,有的不带 正则统一格式化

3.2.2 标准化:让数据“说同一种语言”

你想想看,如果A系统里“性别”存的是“男/女”,B系统里存的是“1/0”,C系统里存的是“M/F”。这模型怎么学?

所以标准化是必须的。我个人习惯的做法是:

# 伪代码示例:标准化流程
def standardize_data(df):
    # 1. 统一日期格式
    df['apply_date'] = pd.to_datetime(df['apply_date'], format='%Y-%m-%d')
    
    # 2. 手机号去噪
    df['phone'] = df['phone'].str.replace(r'\D', '', regex=True)
    df['phone'] = df['phone'].apply(lambda x: x[-11:] if len(x) >= 11 else None)
    
    # 3. 金额统一到分
    df['amount'] = df['amount'].apply(lambda x: int(x * 100) if x < 1000 else int(x))
    
    return df
警告:千万不要在清洗阶段引入未来信息!比如用全量数据的均值去填充缺失值,这在线上推理时根本拿不到。正确的做法是用训练集的统计量。

3.3 特征工程基础:从数据到“武器”

特征工程,说白了就是把原始数据变成模型能听懂的语言。这是风控中最吃经验的部分。

3.3.1 特征分类

  • 数值特征:年龄、收入、负债比。直接输入或做分箱。
  • 类别特征:职业、学历、婚姻状况。需要做one-hot或label encoding。
  • 时序特征:近7天申请次数、近30天逾期天数。这是风控的“金矿”。
  • 交叉特征:收入×负债比、年龄×职业。往往能发现非线性关系。

3.3.2 一个经典的特征工程案例

我曾经做过一个电商分期项目。原始数据里只有“注册时间”和“申请时间”两个字段。很多人直接忽略,但我算了一个特征:“注册到申请的天数”

结果你猜怎么着?这个特征的IV值(信息量)排到了前五。那些刚注册就申请的用户,逾期率是注册超过30天用户的3倍。为什么?因为“刚注册就借钱”这个行为本身,就暗示了资金极度紧张。

核心原则:好的特征不是算出来的,是“想”出来的。你要理解业务逻辑,才能设计出有预测力的特征。

3.3.3 特征工程流程

# 特征工程流水线
1. 基础特征提取(从原始字段直接映射)
2. 统计特征(均值、方差、最大值、最小值)
3. 时序特征(滑动窗口统计)
4. 交叉特征(笛卡尔积或业务组合)
5. 特征筛选(IV值、相关系数、XGBoost重要性)
6. 特征变换(标准化、对数变换、分箱)

3.4 知识体系总览

下面这张图,是我自己总结的数据采集与治理的完整链路。你可以把它当作本章的“地图”。

数据采集与治理全流程 征信数据 行为数据 设备指纹 数据清洗与标准化 缺失值处理 | 异常值检测 | 格式统一 | 去重 特征工程 数值特征 | 类别特征 | 时序特征 | 交叉特征 建模可用特征集

你看,从数据源到最终的特征集,中间要经过清洗、标准化、特征提取三道关卡。每一关都可能出问题,每一关也都有优化的空间。

我的经验:在风控项目中,我通常会把60%的时间花在数据采集和特征工程上,30%的时间做模型调优,10%的时间部署上线。很多人本末倒置,天天调参数,结果数据一塌糊涂。记住:数据质量决定了你能走多远

好了,这一章的内容就到这里。数据采集与治理是风控的根基,打好这个基础,后面的模型才能站得稳。


专注资料整理