4. 数据源与特征工程:内部数据、外部数据与衍生特征构建
贷后预警策略的坏样本归因分析,其底层逻辑依赖于高质量、多维度的数据输入。数据源的质量与特征工程的深度,直接决定了归因模型的准确性与可解释性。本章将系统梳理内部数据、外部数据及衍生特征构建的核心要点,帮助学员建立从原始数据到有效预警信号的标准转化路径。
4.1 内部数据:还款行为与交易流水
内部数据是贷后预警的第一手资料,具有高时效性、高准确度的特点。主要包含两大核心模块:还款行为数据与交易流水数据。
4.1.1 还款行为数据
还款行为直接反映借款人的履约意愿与能力变化。关键监控指标包括:
- 逾期天数(DPD):当前逾期1天、3天、7天、30天等关键节点的分布与迁移。
- 还款金额偏差:实际还款金额与应还金额的差额比例。
- 还款时间规律性:历史还款日是否集中在宽限期内,是否存在频繁的“踩点还款”行为。
- 提前还款/结清行为:异常提前结清可能伴随资金链断裂风险。
4.1.2 交易流水数据
交易流水是借款人资金活动的“心电图”,可用于识别收入骤降、资金链紧张等风险信号。
- 收入端:工资入账金额、频率、稳定性;是否存在大额异常入账(如借贷资金流入)。
- 支出端:日常消费结构、大额非必要支出、向其他借贷平台转账记录。
- 余额端:账户日均余额、最低余额、余额归零频率。
实战要点: 内部数据清洗时需重点关注“数据缺失”与“异常值”。例如,连续3个月无交易流水的账户,应标记为“静默账户”并触发人工核查。
4.2 外部数据:征信与多头借贷
外部数据弥补了内部数据的“信息孤岛”问题,提供借款人跨机构的信用全景。核心数据源包括央行征信与多头借贷数据。
| 数据维度 | 核心指标 | 预警信号 |
|---|---|---|
| 央行征信 | 贷款总笔数、信用卡使用率、逾期记录、查询次数 | 近6个月查询次数>10次;信用卡使用率>80% |
| 多头借贷 | 当前在贷平台数、近7天申请次数、共债指数 | 在贷平台数>5个;近7天申请>3次 |
| 司法/黑名单 | 失信被执行人、限制高消费、行政处罚 | 命中任意一条即触发最高级别预警 |
数据合规提示: 外部数据采集必须遵循《个人信息保护法》及征信业相关法规。建议通过合规的数据服务商(如百行征信、朴道征信)获取多头借贷数据,避免直接采集用户通讯录或设备信息。
4.3 衍生特征构建:从原始数据到预警信号
原始数据往往存在维度稀疏、噪声大等问题。衍生特征构建的核心目标是将原始数据转化为具有业务解释性的“预警信号”。常用的构建方法包括统计聚合、时间序列与比率计算。
4.3.1 统计聚合类特征
- 最大值/最小值:近3个月最大逾期天数、近6个月最低账户余额。
- 均值/标准差:近3个月月均还款金额、还款金额波动率。
- 趋势斜率:近6个月收入变化斜率(正/负/零)。
4.3.2 时间序列类特征
- 逾期天数迁移矩阵:从DPD1迁移至DPD7的概率。
- 还款间隔:两次还款之间的平均天数,间隔拉长往往预示资金紧张。
- 季节性模式:是否在节假日前后出现还款延迟。
4.3.3 比率与交叉特征
- 负债收入比(DTI):月还款总额 / 月均收入。
- 多头借贷密度:当前在贷平台数 / 近3个月申请平台数。
- 资金流入流出比:近30天总流入 / 总流出,比值<0.8视为风险信号。
特征工程避坑指南: 避免使用“未来数据”构建特征(如用下个月的还款行为预测本月风险)。所有衍生特征必须基于历史时间窗口,且窗口长度需与预警周期匹配(如短期预警使用近7天数据,中期预警使用近3个月数据)。
4.4 特征工程实战案例:构建“多头借贷压力指数”
以下是一个典型的衍生特征构建案例,用于量化借款人的多头借贷压力。
# 伪代码:多头借贷压力指数计算
def calculate_multi_loan_pressure_index(df):
"""
输入:包含多头借贷数据的DataFrame
输出:压力指数(0-100)
"""
# 1. 当前在贷平台数
df['active_platforms'] = df['loan_platform_list'].apply(len)
# 2. 近7天申请次数
df['apply_7d'] = df['apply_history'].apply(lambda x: sum(1 for i in x if i >= (today - 7)))
# 3. 共债指数(总负债 / 总收入)
df['debt_income_ratio'] = df['total_debt'] / (df['monthly_income'] + 1e-6)
# 4. 压力指数 = 加权求和后归一化
df['pressure_index'] = (
df['active_platforms'] * 0.4 +
df['apply_7d'] * 0.3 +
df['debt_income_ratio'] * 0.3
)
# 归一化到0-100
df['pressure_index'] = (df['pressure_index'] - df['pressure_index'].min()) / \
(df['pressure_index'].max() - df['pressure_index'].min()) * 100
return df
业务解读: 当压力指数 > 70 时,该客户在未来30天内发生逾期的概率是普通客户的3.2倍(基于某消费金融公司历史数据验证)。建议将该指数作为贷后预警的核心输入特征之一。
4.5 数据源与特征工程的质量控制
数据质量是特征工程的生命线。在构建特征前,必须完成以下质量控制步骤:
- 数据完整性检查:缺失率超过30%的字段需评估是否保留或使用填充策略。
- 数据一致性校验:内部数据与外部数据的客户ID、时间戳格式必须统一。
- 异常值处理:对极端值(如单日交易流水超过均值10倍)进行截断或标记。
- 时间窗口对齐:所有特征的时间窗口必须与预警目标周期一致,避免时间错配。
通过以上数据源整合与特征工程方法,贷后预警系统能够从海量原始数据中提炼出高价值的归因信号,为后续的坏样本分析奠定坚实的数据基础。