关于 datanalysis-credit-risk
用于信贷风险建模的数据清洗与变量筛选技能,面向数据分析人员。它按独立步骤处理样本、筛选特征,并导出包含过程明细的 Excel 报告。
主要功能
- 01分步清洗数据且保留原始数据
- 02区分建模样本与 OOS 样本
- 03按缺失率、IV 和 PSI 筛选特征
- 04使用 Null Importance 去噪
- 05分析机构级样本与特征
- 06导出完整 Excel 报告
适用场景
- 01准备信贷风险建模数据
- 02按机构和月份检查样本分布
- 03筛除缺失率高或不稳定的变量
- 04比较各清洗步骤的结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill datanalysis-credit-risk安装后在 Claude Code 中输入/datanalysis-credit-risk确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/analysis.pyfunc.pyscripts/example.py详细介绍
数据清洗与变量筛选
快速开始
# Run the complete data cleaning pipeline
python ".github/skills/datanalysis-credit-risk/scripts/example.py"
完整流程说明
数据清洗流水线包含以下 11 个步骤,每一步独立执行,不会删除原始数据:
- 获取数据 - 加载并格式化原始数据
- 机构样本分析 - 统计各机构的样本数量和坏样本率
- 分离 OOS 数据 - 将样本外(OOS)样本与建模样本分离
- 过滤异常月份 - 移除坏样本数量或总样本数量不足的月份
- 计算缺失率 - 计算每个特征的总体缺失率和机构级缺失率
- 剔除高缺失率特征 - 移除总体缺失率超过阈值的特征
- 剔除低 IV 特征 - 移除总体 IV 过低或在过多机构中 IV 过低的特征
- 剔除高 PSI 特征 - 移除 PSI 不稳定的特征
- Null Importance 去噪 - 使用标签置换方法移除噪声特征
- 剔除高相关特征 - 基于原始 gain 移除高相关特征
- 导出报告 - 生成包含所有步骤详情和统计信息的 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() | Null Importance 去噪 | 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)
Null Importance 参数
n_estimators:树的数量(默认 100)max_depth:最大树深度(默认 5)gain_threshold:gain 差异阈值(默认 50)
高相关参数
max_corr:相关性阈值(默认 0.9)top_n_keep:按原始 gain 排名保留前 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 区分
评论
支持 Markdown