datanalysis-credit-risk

datanalysis-credit-risk

热门

信用风险数据清洗与变量筛选流程,用于贷前建模。适用于需要对原始信贷数据进行质量评估、缺失值分析或建模前变量选择的场景。涵盖数据加载与格式化、异常周期过滤、缺失率计算、高缺失变量剔除、低IV变量过滤、高PSI变量剔除、空重要性去噪、高相关变量剔除以及清洗报告生成。应用场景包括信用风险数据清洗、变量筛选、贷前建模预处理。

3.7万Star
4572Fork
更新于 2026/7/14
SKILL.md
readonly只读
name
datanalysis-credit-risk
description

信用风险数据清洗与变量筛选流程,用于贷前建模。适用于需要对原始信贷数据进行质量评估、缺失值分析或建模前变量选择的场景。涵盖数据加载与格式化、异常周期过滤、缺失率计算、高缺失变量剔除、低IV变量过滤、高PSI变量剔除、空重要性去噪、高相关变量剔除以及清洗报告生成。应用场景包括信用风险数据清洗、变量筛选、贷前建模预处理。

数据清洗与变量筛选

快速开始

# 运行完整数据清洗流程
python ".github/skills/datanalysis-credit-risk/scripts/example.py"

完整流程说明

数据清洗流程包含以下11个步骤,每个步骤独立执行,不删除原始数据:

  1. 获取数据 - 加载并格式化原始数据
  2. 机构样本分析 - 统计每个机构的样本量和坏样本率
  3. 分离OOS数据 - 将样本外(OOS)样本与建模样本分离
  4. 过滤异常月份 - 剔除坏样本量或总样本量不足的月份
  5. 计算缺失率 - 计算每个特征的整体及分机构缺失率
  6. 剔除高缺失率特征 - 移除整体缺失率超过阈值的特征
  7. 剔除低IV特征 - 移除整体IV过低或在过多机构中IV过低的特征
  8. 剔除高PSI特征 - 移除PSI不稳定的特征
  9. 空重要性去噪 - 使用标签置换方法移除噪声特征
  10. 剔除高相关特征 - 基于原始增益移除高相关特征
  11. 导出报告 - 生成包含所有步骤详情和统计的Excel报告

核心函数

函数 用途 模块
get_dataset() 加载并格式化数据 references.func
org_analysis() 机构样本分析 references.func
missing_check() 计算缺失率 references.func
drop_abnormal_ym() 过滤异常月份 references.analysis
drop_highmiss_features() 剔除高缺失率特征 references.analysis
drop_lowiv_features() 剔除低IV特征 references.analysis
drop_highpsi_features() 剔除高PSI特征 references.analysis
drop_highnoise_features() 空重要性去噪 references.analysis
drop_highcorr_features() 剔除高相关特征 references.analysis
iv_distribution_by_org() IV分布统计 references.analysis
psi_distribution_by_org() PSI分布统计 references.analysis
value_ratio_distribution_by_org() 有值率分布统计 references.analysis
export_cleaning_report() 导出清洗报告 references.analysis

参数说明

数据加载参数

  • DATA_PATH: 数据文件路径(推荐parquet格式)
  • DATE_COL: 日期列名
  • Y_COL: 标签列名
  • ORG_COL: 机构列名
  • KEY_COLS: 主键列名列表

OOS机构配置

  • OOS_ORGS: 样本外机构列表

异常月份过滤参数

  • min_ym_bad_sample: 每月最小坏样本数(默认10)
  • min_ym_sample: 每月最小总样本数(默认500)

缺失率参数

  • missing_ratio: 整体缺失率阈值(默认0.6)

IV参数

  • overall_iv_threshold: 整体IV阈值(默认0.1)
  • org_iv_threshold: 单个机构IV阈值(默认0.1)
  • max_org_threshold: 最大容忍低IV机构数(默认2)

PSI参数

  • psi_threshold: PSI阈值(默认0.1)
  • max_months_ratio: 最大不稳定月份比例(默认1/3)
  • max_orgs: 最大不稳定机构数(默认6)

空重要性参数

  • n_estimators: 树的数量(默认100)
  • max_depth: 树的最大深度(默认5)
  • gain_threshold: 增益差异阈值(默认50)

高相关参数

  • max_corr: 相关性阈值(默认0.9)
  • top_n_keep: 按原始增益排名保留前N个特征(默认20)

输出报告

生成的Excel报告包含以下工作表:

  1. 汇总 - 所有步骤的汇总信息,包括操作结果和条件
  2. 机构样本统计 - 每个机构的样本量和坏样本率
  3. 分离OOS数据 - OOS样本和建模样本数量
  4. Step4-异常月份处理 - 被剔除的异常月份
  5. 缺失率明细 - 每个特征的整体及分机构缺失率
  6. Step5-有值率分布统计 - 特征在不同有值率区间的分布
  7. Step6-高缺失率处理 - 被剔除的高缺失率特征
  8. Step7-IV明细 - 每个特征在每个机构和整体的IV值
  9. Step7-IV处理 - 不满足IV条件的特征及低IV机构
  10. Step7-IV分布统计 - 特征在不同IV区间的分布
  11. Step8-PSI明细 - 每个特征在每个机构每月的PSI值
  12. Step8-PSI处理 - 不满足PSI条件的特征及不稳定机构
  13. Step8-PSI分布统计 - 特征在不同PSI区间的分布
  14. Step9-null importance处理 - 被剔除的噪声特征
  15. Step10-高相关性剔除 - 被剔除的高相关特征

特点

  • 交互式输入:每个步骤执行前可输入参数,支持默认值
  • 独立执行:每个步骤独立执行,不删除原始数据,便于对比分析
  • 完整报告:生成包含详情、统计和分布的完整Excel报告
  • 多进程支持:IV和PSI计算支持多进程加速
  • 机构级分析:支持机构级统计和建模/OOS区分