机器学习在金融风控中的使用经验总结

2025-08-06 11:35:56 友融云 72

机器学习在金融风控中的使用经验总结

一、金融风控的核心挑战与机器学习的「水土不服」

在金融风控领域,每一个决策都直接关系到真金白银的安全。以某头部金融机构为例,其月放款规模高达 200 亿元,若违约率上升 1 个百分点,每月将直接损失 2 亿元 —— 这相当于一家中型企业的年利润。这种「钱袋子」的敏感性,决定了金融风控与电商、广告等场景的本质区别。

1.1 风险滞后性:用昨天的数据预测明天的风险

金融风险的暴露具有天然的滞后性。用户借款后至少需要一个月才会进入还款周期,部分用户甚至在还款半年后才会出现违约。这意味着,当我们发现某批用户违约时,可能已经过去了数月时间。例如,某消费金融公司发现,2023 年 Q1 放款的用户中,有 15% 在 12 个月后才首次出现逾期。

这种滞后性给模型训练带来了巨大挑战。假设我们使用 2023 年全年数据训练模型,模型预测的其实是 2024 年用户的违约概率,但用户在 2024 年的行为可能已经发生了显著变化。例如,经济环境变化、政策调整等因素都可能导致用户还款能力下降,而模型却无法及时捕捉这些变化。

1.2 实时性要求:毫秒级决策背后的系统压力

线上获客成本的高昂(单客成本从百元到千元不等),要求风控系统必须在毫秒级完成申请、审核、授信等全流程。某银行信用卡中心的数据显示,其风控系统日均处理超过 10 万笔申请,平均响应时间需控制在 500 毫秒以内。

这种实时性要求对模型的部署和计算能力提出了极高要求。传统的机器学习模型(如 XGBoost)虽然在离线训练时表现优异,但在线上实时推理时可能面临性能瓶颈。例如,某互金平台曾因模型推理耗时超过 1 秒,导致通过率下降 12%,直接影响了业务增长。

1.3 可解释性与稳定性:比预测能力更重要的指标

在金融风控中,模型的可解释性和稳定性往往比单纯的预测能力更重要。监管机构要求金融机构必须能够解释模型的决策逻辑,而业务部门也需要通过模型解释来优化风控策略。例如,某银行在引入深度学习模型后,因无法向监管部门解释模型如何识别欺诈用户,最终被迫回退到传统的逻辑回归模型。

稳定性则是模型长期运行的基础。金融风控模型通常需要运行数月甚至数年,期间数据分布、用户行为等都可能发生变化。例如,某消费金融公司的模型在上线 6 个月后,因用户群体结构变化导致 KS 值从 0.4 下降至 0.25,最终不得不进行模型迭代。

1.4 机器学习的「水土不服」:为什么 Kaggle 冠军模型不好用?

Kaggle 等数据科学竞赛中,模型的预测能力是唯一的评判标准。但在金融风控中,这一标准远远不够。例如,某团队在 Kaggle 信贷违约预测竞赛中获得冠军的模型,在实际应用中却因过度拟合历史数据,导致对新用户的预测准确率下降 30%。

这种「水土不服」的根本原因在于,金融风控更关注模型的长期稳定性和业务可解释性,而非短期预测能力。例如,逻辑回归(LR)虽然在预测能力上不如 XGBoost,但其线性结构和可解释的特征权重,使其成为金融风控领域的主流模型。

二、数据质量评估:模型效果的「生死线」

数据质量是金融风控模型的基石。据统计,80% 的模型效果问题源于数据质量问题。以下是金融风控中常见的数据质量问题及解决方案。

2.1 线上线下一致性:避免数据穿越的「隐形陷阱」

2.1.1 数据回溯的坑

用户行为数据的实时更新可能导致历史数据无法回溯。例如,某用户在借款后删除了社交账号,导致模型训练时无法获取其历史社交行为数据。这种数据穿越会导致模型高估用户的信用风险,最终影响模型效果。

解决方案

· 在数据存储时,对关键特征(如社交账号状态)进行版本控制,确保历史数据可回溯。

· 对于不可回溯的特征,通过业务分析评估其增益与风险,必要时由业务方决策是否使用。

2.1.2 业务流程不一致的坑

信贷风控流程的不同环节可能使用不同的数据。例如,授信环节仅使用用户基本信息,而申请环节则需要用户提交更多资料。如果在建模时混用不同环节的数据,可能导致模型在实际应用中失效。

解决方案

· 与业务部门深入沟通,明确各环节的数据需求和时间节点。

· 在数据预处理阶段,模拟线上数据获取流程,确保训练数据与线上数据一致。

2.1.3 计算逻辑不一致的坑

实时计算与离线计算的逻辑差异可能导致数据不一致。例如,某公司的实时系统对手机号进行了脱敏处理,而离线数据未进行处理,导致模型训练时使用的手机号特征与线上实际特征不一致。

解决方案

· 建立统一的特征计算引擎,确保实时与离线计算逻辑一致。

· 在模型上线前,进行多轮线上线下数据一致性验证。

2.2 其他关键评估项

2.2.1 数据时间项检查

检查数据的起止时间、中间时段是否有缺失或异常。例如,某数据集在 2023 年 2 月的数据缺失,可能导致模型对该时间段用户的预测出现偏差。

操作建议

· 使用时间序列分析工具(如 Prophet)检测数据时间序列中的异常点。

· 对于缺失数据,根据业务逻辑选择合适的填充方法(如均值填充、向前填充等)。

2.2.2 主键唯一性校验

离线数据可能存在重复插入的现象,导致主键不唯一。例如,某用户的多条申请记录被错误地插入到同一数据表中,导致模型计算用户申请次数时出现偏差。

解决方案

· 在数据导入时,使用COUNT(DISTINCT key)替代COUNT(key)进行统计。

· 定期对数据表进行去重处理,确保主键唯一性。

2.2.3 缺失值与异常值处理

不同数据源的缺失值填充方式可能不同。例如,征信数据中的缺失值可能表示用户无信贷记录,而第三方数据中的缺失值可能表示数据未获取到。这种差异可能导致模型误判用户的信用风险。

解决方案

· 对缺失值进行统一标识(如用 - 999 表示),并在特征工程阶段对缺失值进行单独处理。

· 对于异常值,结合业务逻辑进行分析。例如,某用户的月消费金额突然增加 10 倍,可能是真实消费行为,也可能是数据采集错误。

三、模型设计:从业务目标到技术实现

金融风控模型的设计需要紧密围绕业务目标。例如,新产品上线时,业务目标可能是快速扩张用户规模,此时模型应更关注通过率;而在存量用户管理阶段,业务目标可能是降低坏账率,此时模型应更关注违约预测精度。

3.1 好坏用户定义:时间轴上的「精准切割」

3.1.1 三个核心概念:观察点、表现期、观察期

· 观察点:构建样本集的时间点。例如,申请模型的观察点为用户申贷时间,贷中行为模型的观察点为某个具体日期。

· 表现期:定义好坏标签 Y 的时间窗口。通常为用户借款后的 3-12 个月,具体长度需通过账龄分析确定。

· 观察期:构造特征的时间窗口。例如,用户申请前 12 个月的消费行为数据。

3.1.2 账龄分析:确定表现期长度

通过分析不同贷款时长用户的违约率变化,确定违约率趋于稳定的时间点。例如,某消费金融公司的账龄分析显示,用户在还款 6 个月后违约率趋于稳定,因此将表现期定义为 6 个月。

3.1.3 滚动率分析:定义逾期天数阈值

通过分析逾期用户的还款行为,确定逾期多少天可定义为坏用户。例如,某公司的滚动率分析显示,逾期 7 天后仍未还款的用户中,95% 最终会违约,因此将逾期 7 天作为坏用户的定义标准。

3.2 样本划分:时间序列上的「黄金分割」

3.2.1 时间切片法:避免数据穿越的「金钟罩」

· 训练 - 验证集:按时间顺序划分,确保训练集数据早于验证集数据。

· 测试集(OOT):使用最新的时间窗口数据,模拟模型上线后的实际应用场景。

3.2.2 行业通用模型的样本设计

在服务多客户时,需确保样本具有代表性和稳定性:

· 特殊样本处理:将暴雷潮、疫情期间的样本单独作为测试集。

· 时效性:筛选近 2 年内的样本,确保数据与当前业务环境相关。

· 稳定性:各合作方的样本分布需与真实人口分布一致。

3.3 模型选型:LR 与 XGBoost 的「博弈论」

3.3.1 LR:可解释性的「护城河」

逻辑回归(LR)虽然预测能力有限,但其线性结构和可解释的特征权重,使其成为金融风控领域的「标配」。例如,某银行的信用卡审批模型使用 LR,业务人员可通过特征权重直接判断哪些因素影响用户的信用评分。

3.3.2 XGBoost:性能提升的「加速器」

XGBoost 等树模型在预测能力上通常优于 LR。例如,某互金平台的模型对比实验显示,XGBoost 的 KS 值比 LR 高 2-3 个点。但其黑箱特性可能导致业务解释困难。

3.3.3 混合建模:鱼与熊掌的「折中之道」

· 方案一:在建模环节用 XGBoost 替代 LR,保留评分卡框架。

· 方案二:用 XGBoost 生成特征(如 Embedding),作为 LR 的输入。

3.4 效果评估:KS 表的「千层套路」

3.4.1 KS 表的核心指标

· Rank:按预测概率将用户分组。

· %Total_bad:每组坏用户占比。

· Cum%Total_Bad:累积坏用户占比。

· K-S:每组的 KS 值,模型的 KS 值为最大值。

3.4.2 保序性检查:模型的「生死线」

%Total_bad 未按预测概率升序排列,说明模型存在逻辑错误。例如,某模型的 KS 表显示,预测概率最高的组中坏用户占比反而低于次高组,该模型需重新训练。

3.4.3 业务决策支持:从数据到策略

通过 KS 表可直接制定风控策略。例如,预测概率最高的 10% 用户可直接拒绝,预测概率最低的 20% 用户可自动通过。

四、特征工程:从数据金矿到模型燃料

特征工程是金融风控模型的「灵魂」。据统计,优质的特征可使模型效果提升 30% 以上。以下是金融风控中特征工程的关键策略。

4.1 特征上线成本与项目周期的平衡

金融风控项目通常有严格的时间要求。例如,某消费金融公司要求新模型必须在 2 周内上线,以抓住市场机遇。因此,在特征工程阶段需评估以下因素:

· 特征成熟度:是否已在其他模型中验证过有效性。

· 计算成本:特征生成是否需要大量计算资源。

· 上线周期:新特征的开发和测试需要多长时间。

4.2 特征筛选策略:稳定性与效果的「双重过滤」

4.2.1 强规则与频繁调整规则的特征

强规则(如多头借贷次数 > 5 次直接拒绝)对应的特征可能导致模型过拟合。频繁调整的规则(如政策变化导致的规则调整)对应的特征可能影响模型稳定性。例如,某模型因引入政策敏感特征,在政策调整后效果大幅下降。

4.2.2 稳定性筛选:PSI 的「红绿灯」

· PSI<0.1:特征稳定,可安全入模。

· 0.1≤PSI<0.2:特征波动较大,需谨慎使用。

· PSI≥0.2:特征不稳定,建议不入模。

4.2.3 特征数量控制:避免「维度灾难」

通过特征重要性分析(如 XGBoost 的特征重要性分数)筛选 Top 特征。例如,某模型通过筛选前 30 个特征,在保持 KS 值不变的情况下,将模型推理时间缩短 50%。

4.2.4 可解释性要求:U 型特征的「死亡陷阱」

若特征取值与风险呈 U 型关系(如收入过高或过低的用户风险更高),且无法合理解释,需剔除该特征。例如,某模型中的「月收入」特征因无法解释 U 型关系,最终被排除在模型之外。

4.3 Embedding 特征的「三重考验」

4.3.1 观察期一致性

确保 Embedding 特征的观察期与模型其他特征一致。例如,用户行为序列的 Embedding 需基于与模型观察期相同的时间窗口生成。

4.3.2 效果增量评估

通过 A/B 测试评估加入 Embedding 特征后的效果提升。例如,某模型加入用户设备指纹的 Embedding 特征后,KS 值从 0.35 提升至 0.38。

4.3.3 子模型架构

Embedding 特征单独训练为子模型,其输出作为主模型的输入。这种方式既提升了模型性能,又保证了主模型的可解释性。

五、线上监控:模型生命周期的「守护者」

模型上线后,监控是确保其持续有效的关键。以下是金融风控中线上监控的核心指标和方法。

5.1 稳定性监控:PSI 的「预警雷达」

5.1.1 模型分数 PSI

· 计算方法:将线上用户的模型分数分布与训练集分数分布进行对比。

· 阈值标准PSI<5% 稳定,5%-10% 需关注,>10% 需排查原因。

5.1.2 特征 PSI

监控重要特征的分布变化。例如,某模型的「月消费金额」特征 PSI 突然升至 15%,经排查发现是数据采集接口升级导致特征计算逻辑变化。

5.1.3 特征缺失比例

线上故障可能导致部分特征缺失。例如,某第三方数据接口故障,导致模型输入特征缺失率从 0.5% 升至 30%,需立即触发应急预案。

5.2 效果监控:从 KS 到业务指标的「桥梁」

5.2.1 线上 KS 与离线 KS 的差异

模型上线后,因拦截了高风险用户,线上 KS 通常低于离线 KS。一般要求线上 KS 保持在 0.2 左右,且保序即可。

5.2.2 业务指标联动

· 逾期率:直接反映模型的风险控制效果。

· 通过率:反映模型对业务增长的支持程度。

· 利润贡献:综合考虑利息收入、坏账损失等因素,评估模型的整体价值。

5.3 主动监控与被动响应的「攻防战」

主动监控可提前发现问题。例如,某模型的 PSI 值连续 3 天上升 0.5%,系统自动触发预警,提示模型可能需要迭代。被动响应则是在问题发生后进行处理,如业务部门反馈通过率下降,再排查模型问题。

六、写在最后:从经验到体系的「跃迁之路」

金融风控是一个融合业务理解、数据处理、模型开发和监控运维的系统性工程。通过本文的经验总结,我们可以看到:

· 数据质量是模型效果的基础,需建立严格的数据校验流程。

· 模型设计需紧密围绕业务目标,平衡可解释性与预测能力。

· 特征工程是模型效果提升的关键,需在稳定性与效果之间找到平衡点。

· 线上监控是模型长期运行的保障,需建立实时、全面的监控体系。

未来,随着人工智能技术的发展,金融风控将迎来更多机遇与挑战。例如,迁移学习可解决违约样本不足的问题,深度学习可挖掘更复杂的行为模式,知识图谱可识别团伙欺诈等。但无论技术如何演进,金融风控的核心始终是可解释性、稳定性和业务价值。只有把握这一核心,才能在金融科技的浪潮中稳步前行。

希望本文能为风控从业人员提供一份实用的「操作指南」,帮助大家少踩坑、多成长。在金融风控的道路上,让我们一起从经验走向体系,从实践走向卓越!

 


联系我们