В этом примере показаны некоторые различия между различиями и метриками точности для проверки моделей вероятности дефолта (PD).
Модели жизненного цикла PD в 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"
Дискриминация измеряет только ранжирование клиентов, то есть, получают ли более рискованные клиенты более высокие PDS, чем менее рискованные клиенты. Поэтому при масштабировании вероятностей или применении другого монотонного преобразования, которое приводит к допустимым вероятностям, показатель AUROC не изменяется.
Например, умножьте прогнозируемые PD на коэффициент 2, который сохраняет рейтинг (где худшие клиенты имеют более высокие PD). Для сравнения результатов передайте измененные PD в качестве эталонных PD.
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')

Использовать modelAccuracyPlot для визуализации наблюдаемых скоростей по умолчанию по сравнению с прогнозируемыми вероятностями дефолта (PD). Однако изменение сильно влияет на точность. Модифицированные PD находятся далеко от наблюдаемых стандартных скоростей, и RMSE для модифицированных PD на порядки выше, чем RMSE исходных PD.
modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'Scaled')

С другой стороны, можно также изменить предсказанные PD, чтобы сохранить метрику точности неизменной и ухудшить метрику распознавания.
Один из способов сделать это - переставить PD внутри группы. Это влияет на ранжирование в каждой группе, но средний 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
Убедитесь, что мера дискриминации хуже для измененных PD с помощью modelDiscriminationPlot.
modelDiscriminationPlot(pdModel,data,'DataID','in-sample','ReferencePD',PD1,'ReferenceID','Permutation')

modelAccuracyPlot функция измеряет точность модели для ПД по сгруппированным данным. До тех пор, пока средний PD для группы не изменится, точность отчета с использованием одной и той же переменной группировки не изменится.
modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'Permutation')

Этот пример показывает, что метрики дискриминации и точности не обязательно идут рука об руку. Различные прогнозы могут иметь сходные RMSE, но намного отличающиеся AUROC или сходные AUROC, но значительно отличающиеся RMSE. Поэтому важно рассматривать как дискриминацию, так и точность как часть структуры проверки модели.
[1] Бэзенс, Барт, Даниэль Рош и Харальд Шиле. Анализ кредитных рисков: методы измерения, приложения и примеры в SAS. Уайли, 2016.
[2] Базельский комитет по банковскому надзору, «Исследования по проверке внутренних рейтинговых систем», Рабочий документ № 14, 2005.
fitLifetimePDModel | Logistic | modelAccuracy | modelAccuracyPlot | modelDiscrimination | modelDiscriminationPlot | predict | predictLifetime | Probit