2. 数据源接入与探查:常见授信数据源、数据质量探查、数据字典管理

授信决策引擎的底层燃料是数据。在构建任何特征之前,必须系统性地完成数据源接入与质量探查。本章聚焦三类核心任务:识别常见授信数据源的结构与价值、执行数据质量探查(缺失率、异常值、唯一值)、建立可维护的数据字典管理体系。

2.1 常见授信数据源全景

个人信贷场景中,数据源通常分为四大类:征信类、多头借贷类、电商消费类、运营商类。每类数据在特征工程中的角色不同,接入方式与探查重点也各有差异。

数据源类型 典型字段 特征工程价值 探查难点
征信(央行/百行) 信贷记录、逾期历史、查询次数、担保信息 还款意愿与能力核心指标 缺失率高、更新滞后、字段标准化复杂
多头借贷 近7/30/90天申请机构数、放款机构数、拒绝次数 资金饥渴度与共债风险 数据时效性敏感、重复申请识别
电商消费 月均消费金额、消费类目、收货地址稳定性、退货率 收入稳定性与消费画像 数据稀疏、类目编码不一致
运营商 在网时长、通话活跃度、联系人稳定性、套餐金额 身份真实性、社交稳定性 数据量大、字段噪音多、隐私合规要求高
实战提示: 接入顺序建议优先征信与多头,这两类数据对风险区分度贡献最大;电商与运营商数据作为补充画像,在长尾客群中效果显著。

2.2 数据质量探查:缺失率、异常值、唯一值

数据质量探查是特征工程的“体检”环节。未经过探查的数据直接入模,会导致模型偏差、过拟合或线上效果崩塌。核心探查维度包括:

  • 缺失率(Missing Rate):字段缺失比例。缺失率超过70%的字段通常需要剔除或做二值化标记。
  • 异常值(Outlier):超出业务合理范围的值。例如年龄>120、消费金额为负数、申请次数超过1000次。
  • 唯一值(Unique Count):字段中不同值的数量。唯一值过少(如性别)或过多(如用户ID)都会影响特征有效性。

以下是一个典型的数据质量探查报告片段(Python伪代码):

import pandas as pd
import numpy as np

def quality_report(df):
    report = pd.DataFrame({
        '字段名': df.columns,
        '数据类型': df.dtypes.values,
        '缺失率': (df.isnull().sum() / len(df)).values,
        '唯一值数': [df[col].nunique() for col in df.columns],
        '异常值标记': [
            '是' if any((df[col] < 0).any() if np.issubdtype(df[col].dtype, np.number) else False) else '否'
            for col in df.columns
        ]
    })
    return report

# 示例调用
# report = quality_report(loan_data)
# print(report[report['缺失率'] > 0.5])  # 输出高缺失字段
避坑提醒: 唯一值数不等于特征区分度。例如“手机号前7位”唯一值很多,但可能对风险无区分;而“近3个月逾期次数”唯一值少,却是强特征。探查时需结合业务含义判断。

2.3 数据字典管理:从混乱到有序

数据字典是特征工程的“说明书”。缺乏统一管理的数据字典会导致字段含义混淆、计算口径不一致、跨团队协作困难。一个标准的数据字典应包含以下要素:

字段名 中文含义 数据类型 取值范围 缺失处理策略 来源系统 更新频率
appl_cnt_7d 近7天申请机构数 int 0~50 缺失填充0 多头数据源 T+1
avg_consume_amt 近3个月月均消费金额 float 0~100000 缺失填充中位数 电商数据源 T+7
net_age_days 在网天数 int 0~10000 缺失填充-1 运营商数据源 T+1

数据字典管理的最佳实践:

  • 版本控制:每次字段变更(新增、修改口径、下线)都记录版本号与变更原因。
  • 自动化校验:在数据接入管道中自动比对字典与实际字段,发现不一致时告警。
  • 血缘追踪:记录每个特征字段从原始数据到衍生特征的完整计算链路。
核心原则: 数据字典不是一次性的文档,而是伴随特征工程全生命周期的活资产。建议使用YAML或JSON格式存储,便于程序化读取与版本管理。

2.4 数据源接入与探查流程总览

下图展示了从数据源接入到质量探查、再到数据字典落地的完整流程。该流程是后续特征衍生与特征筛选的基础。

数据源接入与探查流程 征信数据源 多头借贷数据源 电商消费数据源 运营商数据源 数据接入层(API / 文件 / 数据库直连) 数据质量探查(缺失率 / 异常值 / 唯一值) 数据字典管理(字段定义 / 口径 / 版本 / 血缘) 输出:可用的特征宽表 + 数据字典文档

2.5 数据探查常见陷阱与应对

在实际项目中,数据探查阶段容易踩入以下陷阱:

  • 陷阱一:只看全局缺失率,忽略分段缺失。例如某个字段在好客户中缺失率5%,在坏客户中缺失率80%,直接填充均值会严重扭曲特征分布。应对策略:按目标变量分层计算缺失率。
  • 陷阱二:异常值一刀切。例如将“近7天申请次数>20”直接剔除,但这类客户恰恰是高风险群体。应对策略:异常值单独编码为特征,而非简单删除。
  • 陷阱三:唯一值过高直接丢弃。例如“设备ID”唯一值接近样本数,但经过聚合(如该设备关联的申请人数)后可能成为强特征。应对策略:先做聚合衍生,再评估唯一值。
实战技巧: 建立数据质量探查的自动化流水线,每次新数据源接入时自动生成探查报告,并对比历史基线。当缺失率或异常值比例出现显著波动时,触发人工审核。

完成数据源接入与质量探查后,特征工程团队将获得一份经过验证的“干净”数据资产,为后续的特征衍生与筛选奠定坚实基础。