Вычислите данные ROC и AUROC
вычисляет область под кривой рабочей характеристики приемника (AUROC). DiscMeasure
= modelDiscrimination(eadModel
,data
)modelDiscrimination
сегментация поддержек и сравнение с образцом модели и альтернативными методами, чтобы дискретизировать ответ EAD в бинарную переменную.
[
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.DiscMeasure
,DiscData
] = modelDiscrimination(___,Name,Value
)
В этом примере показано, как использовать fitEADModel
создать Tobit
модель и затем использует modelDiscrimination
вычислить AUROC и ROC.
Загрузите данные EAD
Загрузите данные EAD.
load EADData.mat
head(EADData)
ans=8×6 table
UtilizationRate Age Marriage Limit Drawn EAD
_______________ ___ ___________ __________ __________ __________
0.24359 25 not married 44776 10907 44740
0.96946 44 not married 2.1405e+05 2.0751e+05 40678
0 40 married 1.6581e+05 0 1.6567e+05
0.53242 38 not married 1.7375e+05 92506 1593.5
0.2583 30 not married 26258 6782.5 54.175
0.17039 54 married 1.7357e+05 29575 576.69
0.18586 27 not married 19590 3641 998.49
0.85372 42 not married 2.0712e+05 1.7682e+05 1.6454e+05
rng('default'); NumObs = height(EADData); c = cvpartition(NumObs,'HoldOut',0.4); TrainingInd = training(c); TestInd = test(c);
Выберите Model Type
Выберите тип модели для Tobit
или Regression
.
ModelType = "Tobit";
Выберите Conversion Measure
Выберите меру по преобразованию для значений отклика EAD.
ConversionMeasure = "LCF";
Создайте Tobit
Модель EAD
Используйте fitEADModel
создать Tobit
модель с помощью EADData
.
eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'}, ... 'ConversionMeasure',ConversionMeasure,'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD'); disp(eadModel);
Tobit with properties: CensoringSide: "both" LeftLimit: 0 RightLimit: 1 ModelID: "Tobit" Description: "" UnderlyingModel: [1x1 risk.internal.credit.TobitModel] PredictorVars: ["UtilizationRate" "Age" "Marriage"] ResponseVar: "EAD" LimitVar: "Limit" DrawnVar: "Drawn" ConversionMeasure: "lcf"
Отобразите базовую модель. Переменная отклика базовой модели является преобразованием данных об ответе EAD. Используйте 'LiimitVar'
и 'DrwanVar'
аргументы name-value, чтобы изменить преобразование.
disp(eadModel.UnderlyingModel);
Tobit regression model: EAD_lcf = max(0,min(Y*,1)) Y* ~ 1 + UtilizationRate + Age + Marriage Estimated coefficients: Estimate SE tStat pValue __________ __________ ________ ________ (Intercept) 0.22735 0.025254 9.0025 0 UtilizationRate 0.47364 0.016435 28.818 0 Age -0.0013929 0.00061973 -2.2477 0.024646 Marriage_not married -0.006888 0.01213 -0.56784 0.57017 (Sigma) 0.36419 0.0038798 93.868 0 Number of observations: 4378 Number of left-censored observations: 0 Number of uncensored observations: 4377 Number of right-censored observations: 1 Log-likelihood: -1791.06
Предскажите EAD
Предсказание EAD работает с базовой компактной статистической моделью и затем преобразовывает ожидаемые значения назад к шкале EAD. Можно задать predict
функция с различными вариантами для 'ModelLevel'
аргумент значения имени.
predictedEAD = predict(eadModel,EADData(TestInd,:),'ModelLevel','ead'); predictedConversion = predict(eadModel,EADData(TestInd,:),'ModelLevel','ConversionMeasure');
Подтвердите модель EAD
Для проверки допустимости модели используйте modelDiscrimination
, modelDiscriminationPlot
, modelAccuracy
, и modelAccuracyPlot
.
Используйте modelDiscrimination
и затем modelDiscriminationPlot
построить кривую ROC.
ModelLevel = "ConversionMeasure"; [DiscMeasure1, DiscData1] = modelDiscrimination (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel)
DiscMeasure1=table
AUROC
_______
Tobit 0.70892
DiscData1=1534×3 table
X Y T
__________ _________ _______
0 0 0.6399
0 0.0027778 0.6399
0 0.0041667 0.6388
0.00096993 0.0055556 0.63771
0.00096993 0.0069444 0.63662
0.00096993 0.0083333 0.63558
0.0019399 0.0097222 0.63552
0.0019399 0.0125 0.63448
0.0029098 0.013889 0.63442
0.0029098 0.020833 0.63339
0.0029098 0.026389 0.63333
0.0029098 0.027778 0.63317
0.0038797 0.027778 0.633
0.0038797 0.029167 0.63259
0.0058196 0.029167 0.63229
0.0067895 0.031944 0.63223
⋮
modelDiscriminationPlot(eadModel,EADData(TestInd, :),'ModelLevel',ModelLevel,'SegmentBy','Marriage');
eadModel
— Воздействие в модели по умолчаниюRegression
или Tobit
объектВоздействие в модели по умолчанию в виде ранее созданного Regression
или Tobit
объектное использование fitEADModel
.
Типы данных: object
data
данныеДанные в виде NumRows
- NumCols
таблица с предиктором и значениями отклика. Имена переменных и типы данных должны быть сопоставимы с базовой моделью.
Типы данных: table
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
[DiscMeasure,DiscData] = modelDiscrimination(eadModel,data(TestInd,:),'DataID','Testing','DiscretizeBy','median')
DataID
— Идентификатор набора данных""
(значение по умолчанию) | вектор символов | строкаИдентификатор набора данных в виде разделенной запятой пары, состоящей из 'DataID'
и вектор символов или строка. DataID
включен в выход для создания отчетов о целях.
Типы данных: char |
string
DiscretizeBy
— Метод дискретизации для data
EAD
в заданном ModelLevel
'mean'
(значение по умолчанию) | вектор символов со значением 'mean'
или 'median'
| представьте в виде строки со значением "mean"
или "median"
Метод дискретизации для data
EAD в заданном
ModelLevel
В виде разделенной запятой пары, состоящей из 'DiscretizeBy'
и вектор символов или строка.
'mean'
— Дискретизированным ответом является 1
если наблюдается EAD больше или равен среднему EAD, 0
в противном случае.
'median'
— Дискретизированным ответом является 1
если наблюдается EAD больше или равен среднему EAD, 0
в противном случае.
Типы данных: char |
string
SegmentBy
— Имя столбца в data
введите используемый, чтобы сегментировать набор данных""
(значение по умолчанию) | вектор символов | строкаИмя столбца в data
введите, не обязательно переменная модели, чтобы использоваться, чтобы сегментировать набор данных в виде разделенной запятой пары, состоящей из 'SegmentBy'
и вектор символов или строка. Об одном AUROC сообщают для каждого сегмента, и соответствующие данные ROC для каждого сегмента возвращены в дополнительном выходе.
Типы данных: char |
string
ModelLevel
— Уровень модели"ead"
(значение по умолчанию) | вектор символов со значением 'ead'
, 'conversionMeasure'
, или 'conversionTransform'
| представьте в виде строки со значением "ead"
, "conversionMeasure"
, или "conversionTransform"
Уровень модели в виде разделенной запятой пары, состоящей из 'ModelLevel'
и вектор символов или строка.
Примечание
Regression
модели поддерживают все три уровня модели, но Tobit
модель поддерживает только ModelLevel
для 'ead'
и 'conversionMeasure'
.
Типы данных: char |
string
ReferenceEAD
— Значения EAD предсказаны для data
образцом модели[]
(значение по умолчанию) | числовой векторReferenceID
— Идентификатор для образца модели'Reference'
(значение по умолчанию) | вектор символов | строкаИдентификатор для образца модели в виде разделенной запятой пары, состоящей из 'ReferenceID'
и вектор символов или строка. 'ReferenceID'
используется в modelDiscrimination
выведите для создания отчетов о целях.
Типы данных: char |
string
DiscMeasure
— Информация о AUROC для каждой модели и каждого сегментаИнформация о AUROC для каждой модели и каждого сегмента, возвращенного как таблица. DiscMeasure
имеет отдельный столбец под названием 'AUROC'
и количество строк зависит от количества сегментов и используете ли вы ReferenceID
для образца модели. Имена строки DiscMeasure
сообщите о модели IDs, сегменте и ID данных.
DiscData
— Данные ROC для каждой модели и каждого сегментаДанные ROC для каждой модели и каждого сегмента, возвращенного как таблица. Существует три столбца для данных ROC с именами столбцов 'X'
Y
, и 'T'
, где первые два являются координатами X и Y кривой ROC, и T содержит соответствующие пороги. Для получения дополнительной информации смотрите Дискриминацию Модели или perfcurve
.
Если вы используете SegmentBy
, функция складывает данные ROC для всех сегментов и DiscData
имеет столбец со значениями сегментации, чтобы указать где каждый сегмент начала и концы.
Если данные об образце модели даны, DiscData
выходные параметры для основного и образцов модели сложены с дополнительным столбцом 'ModelID'
указание, где каждый начала и концы модели.
Model discrimination измеряет рейтинг риска.
modelDiscrimination
функция вычисляет область под характеристикой оператора приемника (AUROC) кривая, иногда называемая просто область под кривой (AUC). Эта метрика между 0 и 1, и более высокие значения указывают на лучшую дискриминацию.
Чтобы вычислить AUROC, вам нужны числовое предсказание и бинарный ответ. Для моделей EAD предсказанный EAD используется непосредственно в качестве предсказания. Однако наблюдаемый EAD должен быть дискретизирован в бинарную переменную. По умолчанию наблюдаемые значения EAD, больше, чем или равный среднему значению, заметили, что EAD присвоены значение 1, и значения ниже среднего значения присвоены значение 0. Этот дискретизированный ответ интерпретирован как “высокий EAD” по сравнению с “низким EAD”. Поэтому modelDiscrimination
функционируйте меры, как хорошо предсказанный EAD разделяет “высокий EAD” по сравнению с “низким EAD” наблюдения. Можно изменить уровень, чтобы вычислить дискриминацию модели с ModelLevel
аргумент пары "имя-значение" и критерий дискретизации с DiscretizeBy
аргумент пары "имя-значение".
Чтобы построить кривую характеристики оператора приемника (ROC), используйте modelDiscriminationPlot
функция. Однако, если вам нужны данные о кривой ROC, используйте дополнительный DiscData
выходной аргумент от modelDiscrimination
функция.
Кривая ROC является параметрической кривой, которая строит пропорцию
Высокие случаи EAD с предсказанным, EAD больше, чем или равный параметру t или истинный положительный уровень (TPR)
Низкие случаи EAD с предсказанным, EAD больше, чем или равный тому же параметру t или ложный положительный уровень (FPR)
Параметр развертки t через весь наблюдаемый предсказал значения EAD для определенных данных. DiscData
дополнительный выход содержит TPR в 'X'
столбец, FPR в 'Y'
столбец и соответствующие параметры t в 'T'
столбец. Для получения дополнительной информации о кривых ROC, см. Кривые производительности.
[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.
[2] Беллини, Тициано. МСФО 9 и моделирование кредитного риска CECL и валидация: практическое руководство с примерами работало в R и SAS. Сан-Диего, CA: Elsevier, 2019.
[3] Браун, Иэн. Разработка Моделей Кредитного риска Используя Шахтера Предприятия SAS и SAS/STAT: Теория и Приложения. SAS Institute, 2014.
[4] Roesch, Дэниел и Харальд Шойле. Глубокий Кредитный риск. Независимо опубликованный, 2020.
Regression
| Tobit
| Model
| predict
| modelDiscriminationPlot
| modelAccuracy
| modelAccuracyPlot
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.