mcpField
D
datanalysis-credit-risk

datanalysis-credit-risk

github.com/github数据与数据库40.5k7.3k 次安装今天更新
代码仓库

关于 datanalysis-credit-risk

用于信贷风险建模的数据清洗与变量筛选技能,面向数据分析人员。它按独立步骤处理样本、筛选特征,并导出包含过程明细的 Excel 报告。

主要功能

  1. 01分步清洗数据且保留原始数据
  2. 02区分建模样本与 OOS 样本
  3. 03按缺失率、IV 和 PSI 筛选特征
  4. 04使用 Null Importance 去噪
  5. 05分析机构级样本与特征
  6. 06导出完整 Excel 报告

适用场景

  1. 01准备信贷风险建模数据
  2. 02按机构和月份检查样本分布
  3. 03筛除缺失率高或不稳定的变量
  4. 04比较各清洗步骤的结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill datanalysis-credit-risk

安装后在 Claude Code 中输入/datanalysis-credit-risk确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
analysis.py
func.py
scripts/
example.py

详细介绍

数据清洗与变量筛选

快速开始

# Run the complete data cleaning pipeline
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. Null Importance 去噪 - 使用标签置换方法移除噪声特征
  10. 剔除高相关特征 - 基于原始 gain 移除高相关特征
  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()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 报告包含以下工作表:

  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 区分

评论

支持 Markdown