---
name: credit-model-validation-banking
description: Автоматизация процесса валидации моделей кредитного риска в банковской сфере. Используется для полного цикла валидации - от загрузки pickle модели и анализа данных до генерации детального отчета с метриками (AUC, Gini, Recall, Precision, F1, KS, PSI, CSI), визуализациями и соответствием регуляторным требованиям Казахстана.
---

# Валидация моделей кредитного риска

Этот skill автоматизирует полный процесс валидации моделей машинного обучения для оценки кредитного риска в банковской сфере.

## Цель

Провести независимую валидацию модели кредитного риска, включая:
- Анализ качества и предобработки данных
- Оценку производительности модели на новых данных
- Проверку стабильности модели во времени
- Генерацию полного отчета о валидации
- Проверку соответствия регуляторным требованиям

## Когда использовать

Используйте этот skill когда необходимо:
- Провести валидацию новой или обновленной модели кредитного риска
- Проверить модель на новых данных (не использованных при разработке)
- Сгенерировать отчет о валидации для регуляторов
- Провести код-ревью модели разработки
- Проверить стабильность существующей модели

## Процесс валидации

### 1. Инициализация валидации

Начать с создания структуры проекта валидации с помощью скрипта init_validation_project.py. Скрипт создаст необходимые директории для данных, результатов и конфигурации.

### 2. Загрузка и проверка модели

Использовать скрипт load_and_inspect_model.py для безопасной загрузки pickle модели и извлечения метаданных. Скрипт проверяет тип модели, параметры, список признаков, версии библиотек и предупреждения о безопасности.

### 3. Анализ качества данных

Провести автоматический анализ предобработки данных с помощью data_quality_check.py. Проверки включают пропущенные значения, выбросы, распределения признаков, корректность типов данных, наличие необходимых признаков, дубликаты и дисбаланс целевой переменной.

### 4. Расчет метрик производительности

Рассчитать все ключевые метрики модели используя calculate_metrics.py:
- AUC-ROC (Area Under ROC Curve)
- Gini коэффициент (2*AUC - 1)
- KS статистика (Kolmogorov-Smirnov)
- Recall (Чувствительность, TPR)
- Precision (Точность)
- F1-score (Гармоническое среднее Precision и Recall)
- Accuracy (Общая точность)
- Specificity (Специфичность, TNR)
- Confusion Matrix (Матрица ошибок)

### 5. Анализ стабильности (PSI/CSI)

Проверить стабильность модели во времени с помощью stability_analysis.py. Анализ включает PSI для каждого признака (PSI < 0.1 стабильная популяция, 0.1 ≤ PSI < 0.25 умеренное изменение, PSI ≥ 0.25 значительное изменение), CSI для скоров модели, сравнение распределений признаков и временной анализ.

### 6. Бизнес-метрики

Рассчитать бизнес-метрики для разных порогов отсечения с помощью business_metrics.py:
- Approval Rate (процент одобрений) по порогам
- Bad Rate (процент дефолтов среди одобренных)
- Expected Loss (ожидаемые потери)
- Оптимальный порог (максимизация F1 или бизнес-метрики)

### 7. Визуализация результатов

Генерировать все необходимые графики с помощью generate_visualizations.py:
- ROC-кривая с AUC
- Precision-Recall кривая
- Confusion Matrix (тепловая карта)
- KS статистика график
- Распределение скоров (Good vs Bad)
- Калибровочная кривая
- Feature Importance (если доступно)
- PSI по признакам (bar chart)
- Lift Chart и Gain Chart

### 8. Код-ревью

Проанализировать код разработки модели (если доступен): проверить воспроизводимость (random seeds), валидировать split данных (train/test), проверить предобработку (pipelines), оценить качество кода (PEP8, документация), проверить версионирование зависимостей. Использовать references/code_review_checklist.md как гайд.

### 9. Соответствие регуляторным требованиям

Проверить модель по чеклисту регуляторных требований с помощью regulatory_compliance.py. Проверка включает требования Национального Банка Казахстана для моделей кредитного риска.

### 10. Генерация финального отчета

Автоматически сгенерировать полный отчет о валидации с помощью generate_validation_report.py. Структура отчета включает: Глоссарий, Абстракт, Методология валидации, Цель моделей, Разработка моделей, Объем валидационных данных, Результаты валидации моделей, Визуализация результатов, Confusion Matrix, PSI анализ, Интерпретация результатов, Код-ревью, Заключение и рекомендации, Соответствие регуляторным требованиям, Рекомендации.

## Интерактивный режим

Для пошагового процесса с объяснениями использовать interactive_validation.py. Скрипт проведет через каждый этап, задаст вопросы о специфике модели, покажет промежуточные результаты, позволит корректировать параметры и сгенерирует отчет в конце.

## Bundled Resources

### Scripts (scripts/)
- init_validation_project.py - Инициализация проекта
- load_and_inspect_model.py - Загрузка pickle модели
- data_quality_check.py - Анализ качества данных
- calculate_metrics.py - Расчет метрик производительности
- stability_analysis.py - PSI/CSI анализ
- business_metrics.py - Бизнес-метрики
- generate_visualizations.py - Создание графиков
- regulatory_compliance.py - Проверка compliance
- generate_validation_report.py - Генерация отчета
- interactive_validation.py - Интерактивный режим
- utils/ - Вспомогательные утилиты

### References (references/)
- validation_checklist.md - Полный чеклист валидации
- kz_regulator_checklist.md - Требования НБ РК
- metrics_guide.md - Подробное описание метрик
- code_review_checklist.md - Гайд по код-ревью
- interpretation_guide.md - Интерпретация результатов

### Assets (assets/)
- report_template.docx - Шаблон отчета Word
- plots_styles.json - Стили для графиков
- glossary.yaml - Глоссарий терминов

## Примеры использования

### Пример 1: Быстрая валидация
Проведи валидацию модели PD_Retail_v2.pkl на данных validation_q4_2025.csv

### Пример 2: Полная валидация с отчетом
Выполни полную валидацию модели согласно регуляторным требованиям НБ РК. Модель: models/pd_model.pkl, Данные: data/validation_2025_h1.csv. Нужен полный отчет на русском языке.

### Пример 3: Анализ конкретной проблемы
Модель показывает низкий Gini на новых данных. Помоги найти причину - проверь PSI по признакам и stability.

### Пример 4: Код-ревью
Проведи код-ревью разработки модели в файле model_development.py

## Best Practices

1. Всегда сохраняйте исходные данные - не перезаписывайте raw данные
2. Используйте version control - храните config.yaml в git
3. Документируйте отклонения - если модель не прошла валидацию
4. Проверяйте воспроизводимость - результаты должны повторяться
5. Храните артефакты - все графики и метрики для аудита
6. Обновляйте чеклист - при изменении регуляторных требований

## Ограничения

- Pickle модели должны быть безопасными (проверка перед загрузкой)
- Данные должны содержать все признаки, использованные при обучении
- Для PSI анализа нужны данные обучающей выборки
- Большие модели (>1GB) могут требовать дополнительной памяти
