SKILL.md
readonly只读
name
datanalysis-credit-risk
description
信用风险数据清洗与变量筛选流程,用于贷前建模。适用于需要对原始信贷数据进行质量评估、缺失值分析或建模前变量选择的场景。涵盖数据加载与格式化、异常周期过滤、缺失率计算、高缺失变量剔除、低IV变量过滤、高PSI变量剔除、空重要性去噪、高相关变量剔除以及清洗报告生成。应用场景包括信用风险数据清洗、变量筛选、贷前建模预处理。
数据清洗与变量筛选
快速开始
# 运行完整数据清洗流程
python ".github/skills/datanalysis-credit-risk/scripts/example.py"
完整流程说明
数据清洗流程包含以下11个步骤,每个步骤独立执行,不删除原始数据:
- 获取数据 - 加载并格式化原始数据
- 机构样本分析 - 统计每个机构的样本量和坏样本率
- 分离OOS数据 - 将样本外(OOS)样本与建模样本分离
- 过滤异常月份 - 剔除坏样本量或总样本量不足的月份
- 计算缺失率 - 计算每个特征的整体及分机构缺失率
- 剔除高缺失率特征 - 移除整体缺失率超过阈值的特征
- 剔除低IV特征 - 移除整体IV过低或在过多机构中IV过低的特征
- 剔除高PSI特征 - 移除PSI不稳定的特征
- 空重要性去噪 - 使用标签置换方法移除噪声特征
- 剔除高相关特征 - 基于原始增益移除高相关特征
- 导出报告 - 生成包含所有步骤详情和统计的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报告包含以下工作表:
- 汇总 - 所有步骤的汇总信息,包括操作结果和条件
- 机构样本统计 - 每个机构的样本量和坏样本率
- 分离OOS数据 - OOS样本和建模样本数量
- Step4-异常月份处理 - 被剔除的异常月份
- 缺失率明细 - 每个特征的整体及分机构缺失率
- Step5-有值率分布统计 - 特征在不同有值率区间的分布
- Step6-高缺失率处理 - 被剔除的高缺失率特征
- Step7-IV明细 - 每个特征在每个机构和整体的IV值
- Step7-IV处理 - 不满足IV条件的特征及低IV机构
- Step7-IV分布统计 - 特征在不同IV区间的分布
- Step8-PSI明细 - 每个特征在每个机构每月的PSI值
- Step8-PSI处理 - 不满足PSI条件的特征及不稳定机构
- Step8-PSI分布统计 - 特征在不同PSI区间的分布
- Step9-null importance处理 - 被剔除的噪声特征
- Step10-高相关性剔除 - 被剔除的高相关特征
特点
- 交互式输入:每个步骤执行前可输入参数,支持默认值
- 独立执行:每个步骤独立执行,不删除原始数据,便于对比分析
- 完整报告:生成包含详情、统计和分布的完整Excel报告
- 多进程支持:IV和PSI计算支持多进程加速
- 机构级分析:支持机构级统计和建模/OOS区分






