algo-risk-credit について
融資審査、リスクベースの価格設定、ポートフォリオ管理に用いる信用スコアモデルの構築・評価手法です。ロジスティック回帰や勾配ブースティングを扱い、識別力、較正、公平性を確認します。
主な機能
- 01ロジスティック回帰または勾配ブースティング
- 02デフォルト確率とスコアの推定
- 03予測デフォルト確率の較正
- 04識別力とモデルドリフトの評価
- 05保護属性に関する偏りの確認
活用シーン
- 01融資審査用スコアカードの構築
- 02リスクに応じた価格設定とデフォルト確率の推定
- 03既存の信用モデルの性能評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill algo-risk-creditインストール後、Claude Code で/algo-risk-creditを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/sample_scenario.mdreferences/reject-inference.mdwoe-binning.md詳細
信用スコアリングモデル
概要
信用スコアリングモデルは、ロジスティック回帰または勾配ブースティングを使用し、借り手の特性からデフォルト確率(PD)を予測します。出力はスコア(300〜850の範囲)またはPD(0〜1)です。融資の承認、価格設定、ポートフォリオのリスク管理に使用されます。
使用する場面
適用条件:
- 融資・信用の承認判断に用いるスコアカードを構築する場合
- リスクベースの価格設定のためにデフォルト確率を予測する場合
- 既存の信用モデルの識別力を評価する場合
使用しない場面:
- 企業の倒産予測には使用しないでください(Altman Z-Scoreを使用してください)
- 市場リスクの測定には使用しないでください(VaRを使用してください)
アルゴリズム
IRON LAW: A Credit Model Must Discriminate AND Be Calibrated
Discrimination (AUC): correctly ranking good vs bad borrowers.
Calibration: predicted PD matches actual default rates.
A model with AUC=0.85 but predicted PD 2x actual default rate will
cause systematic over/under-pricing. Need BOTH properties.
フェーズ 1:入力の検証
収集するデータ:借り手の特徴(収入、負債比率、信用履歴の長さ、延滞件数、利用率)、目的変数(12〜24か月以内のデフォルト)。欠損値とクラスの不均衡(通常、デフォルト率は2〜5%)に対処します。 ゲート: デフォルト件数が十分(300件以上)であり、判断時点で特徴量を利用できること。
フェーズ 2:コアアルゴリズム
- 特徴量エンジニアリング:ロジスティック回帰にはWOE(Weight of Evidence)ビニングを使用し、GBDTには直接エンコーディングを使用します
- モデルの学習:ロジスティック回帰(解釈可能で、規制上優先されます)またはGBDT(より高い精度)
- キャリブレーション:ホールドアウトデータに対してPlatt scalingを実施し、デシルごとに予測PDが実際のデフォルト率と一致することを確認します
- スコアへの変換:Score = offset + factor × log(odds)を使用し、300〜850の範囲にスケーリングします
フェーズ 3:検証
評価項目:AUC(>0.70は許容可能、>0.80は良好)、KS統計量、ジニ係数。ドリフトの監視には母集団安定性指数(PSI)を使用します。 ゲート: AUC > 0.70であり、キャリブレーションが許容範囲内で、保護対象属性に差別的なバイアスがないこと。
フェーズ 4:出力
スコア、PD、主なリスク要因を返します。
出力形式
{
"score": 680,
"pd": 0.035,
"risk_grade": "B",
"top_risk_factors": [{"factor": "high_utilization", "impact": -45}, {"factor": "short_history", "impact": -30}],
"metadata": {"model": "logistic_regression", "auc": 0.78, "vintage": "2024-Q3"}
}
例
入出力例
入力: 借り手:収入=$60K、DTI=35%、信用履歴5年、延滞0件、利用率60% 期待値: スコア約680、PD約3.5%、グレードB(利用率が高いため、一定のリスクあり)
エッジケース
| 入力 | 期待値 | 理由 |
|---|---|---|
| 信用履歴なし(信用情報が少ない) | 不確実性が高いため、保守的に判断する | スコアリングに必要なデータが不十分 |
| すべての特徴量が同一 | 結果にかかわらず同じスコアになる | モデルが区別できません — 特徴量を追加する必要があります |
| 経済環境が大きく変化 | PSI > 0.25となり、モデルの再キャリブレーションが必要 | 母集団の分布が学習データから変化しています |
注意点
- 否決者の推論:学習データには承認された申込者のみが含まれます。否決された申込者の結果は不明なため、選択バイアスが生じます。否決者の推論手法を使用してください。
- 公正な融資:モデルは保護対象属性(人種、性別、年齢)に基づいて差別してはなりません。代理変数(郵便番号 ≈ 人種)であっても、異なる影響を生じさせることがあります。公平性指標を使用してテストしてください。
- 申込者全体と承認済み顧客:TTDサンプルにはすべての申込者が含まれますが、OTBサンプルには承認された申込者のみが含まれます。モデルの目的に応じて使用するサンプルを決定します。
- ビンテージ分析:デフォルト率は経済状況によって変動します。2019年に学習したモデルは、景気後退時には適切に予測できない可能性があります。ビンテージごとにモデルの性能を追跡してください。
- 規制要件:金融規制当局(Basel、OCC、FDIC)は、モデルの検証、文書化、公正な融資に関するテストについて、個別の要件を定めています。
参考資料
- WOEビニングの手法については、
references/woe-binning.mdを参照してください - 否決者の推論手法については、
references/reject-inference.mdを参照してください
コメント
Markdown 対応