金融风控的核心问题说白了就一句:钱借出去,谁会跑路? 本文用 Codex + Python 完整走一遍信用逾期风险预测:从 20 万条贷款数据出发,到信用评分卡构建、可落地的风控策略输出。
三步流程:数据探索与清洗 → 特征工程与建模 → 评估与策略输出。每一步都讲清楚”为什么做、怎么做、结果意味着什么”。
数据长什么样
- 训练集:20 万条贷款记录,46 个字段
- 目标:预测客户是否违约(isDefault)
- 字段:贷款等级、金额、利率、DTI(负债收入比)、FICO 分、缺失值较多等
第一步:数据探索——先看地图再上路
不先摸清数据全貌就建模,大概率跑偏。Codex 在这里是你的分析助手:你提问题,它跑代码出统计和图表。
提示词:
对贷款数据集进行全面探索性分析:
1. 输出数据集形状、各列数据类型
2. 统计每列缺失值的数量和比例,按比例降序排列
3. 对数值型变量输出描述性统计
4. 对分类型变量输出频率分布
5. 检测数值型变量的异常值(超过 3 倍标准差的比例)
6. 绘制贷款等级分布图、贷款金额分布图、利率分布图、
DTI 分布图、缺失值比例图、各等级 FICO 箱线图
执行逻辑:df.info() → df.isnull().sum() → df.describe() → value_counts() → 3σ 异常检测 → 6 子图可视化。
关键发现(示例):某些字段缺失比例畸高、利率存在极端值、不同贷款等级间 FICO 分布差异明显——这些都是后续特征工程的输入。
第二步:特征工程与建模
基于探索结果:
1. 缺失值按字段类型处理(数值列中位数填充、类别列众数填充,缺失率过高的列创建"是否缺失"指示特征)
2. 类别特征编码
3. 训练 LightGBM/XGBoost 分类模型,预测 isDefault
4. 输出特征重要性排序 Top20
5. 用 AUC、KS 等指标评估,输出混淆矩阵和 PR 曲线
执行逻辑:缺失处理 → 编码 → train_test_split → 树模型训练 → 特征重要性 → 评估指标。
为什么用树模型:贷款数据缺失多、非线性关系强、需要可解释的特征重要性——树模型开箱即用且稳健。
第三步:评估与策略输出
基于模型结果:
1. 按预测违约概率把客户分成 5 档(风险分层)
2. 统计各档的违约率、样本占比
3. 输出风控策略建议:
- 高违约档:拒绝/人工审核
- 中档:降额或提利率
- 低档:正常放款
4. 用业务语言输出一份简短的模型报告
核心产出(示例):各风险档的违约率从低档到高档单调递增(这是模型有效性的直观证据);选定一个”切点”,高于该概率的客户拒绝放款,可在保留下沉总量的同时大幅降低坏账。
经验要点
- 探索先行:缺失、异常、分布,决定了后面所有特征工程的合理性
- 可解释 > 黑盒:风控场景要能说清”为什么拒绝”,特征重要性 + 风险分层是标配
- AI 执行、人拍板:模型给概率分层,切点定在哪、策略怎么落地,是业务决策
- 警惕数据泄漏:告诉 Codex 哪些字段是”未来才知道”的(如事后标签),防止泄漏
小结
- 三步走:探索 → 建模 → 策略,Codex 包揽执行,你负责判断
- 树模型 + 风险分层是风控最稳的组合拳
- 模型结论必须翻译成业务语言才叫落地