SKILL.md
readonlyread-only
name
datanalysis-credit-risk
description
信用風險資料清理與變數篩選流程,適用於貸前建模。當處理原始信用資料,需要進行品質評估、缺失值分析或建模前的變數篩選時使用。涵蓋資料載入與格式化、異常期間過濾、缺失率計算、高缺失變數移除、低IV變數篩選、高PSI變數移除、Null Importance去噪、高相關變數移除,以及清理報告生成。適用場景為信用風險資料清理、變數篩選、貸前建模預處理。
資料清理與變數篩選
快速開始
# 執行完整資料清理流程
python ".github/skills/datanalysis-credit-risk/scripts/example.py"
完整流程說明
資料清理流程包含以下11個步驟,每個步驟獨立執行,不刪除原始資料:
- 取得資料 - 載入並格式化原始資料
- 機構樣本分析 - 統計各機構的樣本數與壞樣本率
- 分離OOS資料 - 從建模樣本中分離出樣本外(OOS)樣本
- 過濾異常月份 - 移除壞樣本數或總樣本數不足的月份
- 計算缺失率 - 計算每個特徵的整體與各機構缺失率
- 移除高缺失率特徵 - 移除整體缺失率超過閾值的特徵
- 移除低IV特徵 - 移除整體IV過低或在過多機構中IV過低的特徵
- 移除高PSI特徵 - 移除PSI不穩定的特徵
- Null Importance去噪 - 使用標籤置換法移除雜訊特徵
- 移除高相關特徵 - 根據原始增益移除高相關特徵
- 匯出報告 - 生成包含所有步驟細節與統計的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:增益差異閾值(預設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區分






