Что такое PD Model Gini (PD Gini)?
Дискриминативная способность скоринговой модели (коэффициент Джини).
Формула
Gini = 2 × AUC − 1 (рассчитывается по ROC-кривой)Как считать
Строим ROC-кривую по pd_score и actual_default, вычисляем AUC. Gini = 2 × AUC − 1.
Зачем нужна
Gini показывает, насколько хорошо модель разделяет «хороших» и «плохих» заёмщиков. Gini < 0.3 — модель слабая.
SQL-запрос
-- Таблицы: scoring_results(app_id, model_version, pd_score, actual_default)
-- Примечание: Gini = 2*AUC-1. Точный AUC считают в Python/R,
-- но SQL-аппроксимация через конкордантные пары:
WITH pairs AS (
SELECT
a.pd_score AS score_default,
b.pd_score AS score_good
FROM scoring_results a
CROSS JOIN scoring_results b
WHERE a.actual_default = 1
AND b.actual_default = 0
AND a.model_version = 'v3'
AND b.model_version = 'v3'
)
SELECT
COUNT(*) AS total_pairs,
SUM(CASE WHEN score_default > score_good THEN 1
WHEN score_default = score_good THEN 0.5
ELSE 0 END) AS concordant,
ROUND(
2.0 * SUM(CASE WHEN score_default > score_good THEN 1
WHEN score_default = score_good THEN 0.5
ELSE 0 END)
/ NULLIF(COUNT(*), 0) - 1, 4
) AS gini_approx
FROM pairs;