Этот пример показывает некоторые различия между дискриминацией и метриками точности для валидации вероятности моделей (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')
Используйте modelAccuracyPlot
визуализировать наблюдаемые уровни по умолчанию по сравнению с предсказанными вероятностями значения по умолчанию (PD). Точность, однако, сильно затронута изменением. Модифицированные ФУНТЫ далеко от наблюдаемых уровней по умолчанию, и RMSE за модифицированные ФУНТЫ является порядками величины выше, чем RMSE исходных ФУНТОВ.
modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'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')
modelAccuracyPlot
функционируйте меры точность модели за ФУНТЫ на сгруппированных данных. Пока средний PD для группы неизменен, точность, о которой сообщают, с помощью той же сгруппированной переменной не изменяется.
modelAccuracyPlot(pdModel,data,'Year',"DataID",'in-sample','ReferencePD',PD1,"ReferenceID",'Permutation')
Этот пример показывает, что дискриминация и метрики точности не обязательно идут рука об руку. Различные предсказания могут иметь подобный RMSE, но много различного AUROC, или подобный AUROC, но много различного RMSE. Поэтому важно посмотреть и на дискриминацию и на точность как часть среды проверки допустимости модели.
[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.
[2] Базельский комитет по банковскому надзору, "Исследования валидации внутренних систем оценки", рабочий документ № 14, 2005.
fitLifetimePDModel
| Logistic
| modelAccuracy
| modelAccuracyPlot
| modelDiscrimination
| modelDiscriminationPlot
| predict
| predictLifetime
| Probit