Сравните дискриминацию модели и точность, чтобы подтвердить вероятности значения по умолчанию

Этот пример показывает некоторые различия между дискриминацией и метриками точности для валидации вероятности моделей (PD) по умолчанию.

Пожизненные модели PD в Risk Management Toolbox™ (см. fitLifetimePDModel) поддержите область под кривой рабочей характеристики приемника (AUROC) как дискриминация (заказывающая ранг эффективность) метрика и среднеквадратическая ошибка (RMSE) как точность (калибровка) метрика. Метрический рейтинг мер AUROC, тогда как RMSE измеряет точность ожидаемых значений. Пример показывает, что возможно иметь:

  • Та же дискриминация, различная точность

  • Та же точность, различная дискриминация

Поэтому важно посмотреть и на дискриминацию и на точность как часть среды проверки допустимости модели.

Существует несколько различных метрик для дискриминации модели PD и точности модели. Для получения дополнительной информации смотрите Ссылки. Различные метрики могут иметь различные характеристики, и поведение, продемонстрированное в этом примере, не обязательно делает вывод к другой дискриминации и метрикам точности. Цель этого примера состоит в том, чтобы подчеркнуть важность использования и дискриминация и метрики точности, чтобы оценить предсказания модели.

Загрузите и соответствуйте данным

Загрузите данные о кредите и соответствуйте Logistic пожизненная модель PD с помощью fitLifetimePDModel.

load RetailCreditPanelData.mat
data = join(data,dataMacro);
pdModel = fitLifetimePDModel(data,"logistic",...
    'AgeVar','YOB',...
    'IDVar','ID',...
    'LoanVars','ScoreGroup',...
    'MacroVars',{'GDP','Market'},...
    'ResponseVar','Default');
disp(pdModel)
  Logistic with properties:

        ModelID: "Logistic"
    Description: ""
          Model: [1x1 classreg.regr.CompactGeneralizedLinearModel]
          IDVar: "ID"
         AgeVar: "YOB"
       LoanVars: "ScoreGroup"
      MacroVars: ["GDP"    "Market"]
    ResponseVar: "Default"

Та же дискриминация, различная точность

Дискриминация измеряет только рейтинг клиентов, то есть, получают ли более опасные клиенты присвоенные более высокие ФУНТЫ, чем менее опасные клиенты. Поэтому, если вы масштабируете вероятности или применяете другое монотонное преобразование, которое приводит к допустимым вероятностям, мера по AUROC не изменяется.

Например, умножьте предсказанные ФУНТЫ на коэффициент 2, который сохраняет рейтинг (где у худших клиентов есть более высокие ФУНТЫ). Чтобы сравнить результаты, передайте модифицированные ФУНТЫ как ссылочные ФУНТЫ.

PD0 = predict(pdModel,data);
PD1 = 2*PD0;

disp([PD0(1:10) PD1(1:10)])
    0.0090    0.0181
    0.0052    0.0104
    0.0044    0.0088
    0.0038    0.0076
    0.0035    0.0071
    0.0036    0.0072
    0.0019    0.0037
    0.0011    0.0022
    0.0164    0.0328
    0.0094    0.0189

Проверьте, что мера по дискриминации не затронута с помощью modelDiscriminationPlot.

modelDiscriminationPlot(pdModel,data,'DataID','in-sample','ReferencePD',PD1,'ReferenceID','Scaled')

Figure contains an axes object. The axes object with title ROC in-sample Logistic, AUROC = 0.69643 Scaled, AUROC = 0.69643 contains 2 objects of type line. These objects represent Logistic, Scaled.

Используйте modelAccuracyPlot визуализировать наблюдаемые уровни по умолчанию по сравнению с предсказанными вероятностями значения по умолчанию (PD). Точность, однако, сильно затронута изменением. Модифицированные ФУНТЫ далеко от наблюдаемых уровней по умолчанию, и RMSE за модифицированные ФУНТЫ является порядками величины выше, чем RMSE исходных ФУНТОВ.

modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'Scaled')

Figure contains an axes object. The axes object with title Scatter Grouped by Year in-sample Logistic, RMSE = 0.00028571 Scaled, RMSE = 0.010892 contains 3 objects of type line. These objects represent Observed, Logistic, Scaled.

Та же точность, различная дискриминация

С другой стороны, можно также изменить предсказанные ФУНТЫ, чтобы сохранить метрику точности неизменной и ухудшить метрику дискриминации.

Один способ сделать это должно переставить ФУНТЫ в группе. Путем выполнения этого затронут рейтинг в каждой группе, но средний PD для группы неизменен.

rng('default'); % for reproducibility
PD1 = PD0;
for Year=1997:2004
   Ind = data.Year==Year;
   PDYear = PD0(Ind);
   PD1(Ind) = PDYear(randperm(length(PDYear)));
end

Проверьте, что мера по дискриминации хуже за модифицированные ФУНТЫ с помощью modelDiscriminationPlot.

modelDiscriminationPlot(pdModel,data,'DataID','in-sample','ReferencePD',PD1,'ReferenceID','Permutation')

Figure contains an axes object. The axes object with title ROC in-sample Logistic, AUROC = 0.69643 Permutation, AUROC = 0.5678 contains 2 objects of type line. These objects represent Logistic, Permutation.

modelAccuracyPlot функционируйте меры точность модели за ФУНТЫ на сгруппированных данных. Пока средний PD для группы неизменен, точность, о которой сообщают, с помощью той же сгруппированной переменной не изменяется.

modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'Permutation')

Figure contains an axes object. The axes object with title Scatter Grouped by Year in-sample Logistic, RMSE = 0.00028571 Permutation, RMSE = 0.00028571 contains 3 objects of type line. These objects represent Observed, Logistic, Permutation.

Этот пример показывает, что дискриминация и метрики точности не обязательно идут рука об руку. Различные предсказания могут иметь подобный RMSE, но много различного AUROC, или подобный AUROC, но много различного RMSE. Поэтому важно посмотреть и на дискриминацию и на точность как часть среды проверки допустимости модели.

Ссылки

[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.

[2] Базельский комитет по банковскому надзору, "Исследования валидации внутренних систем оценки", рабочий документ № 14, 2005.

Смотрите также

| | | | | | | | |

Связанные примеры

Больше о