График поля точек предсказанных и наблюдаемых ЛГД
modelAccuracyPlot(___,
задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Можно использовать Name,Value
)ModelLevel
аргумент пары "имя-значение" для вычисления метрик с помощью преобразованной шкалы базовой модели.
задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе, и возвращает указатель на рисунок h
= modelAccuracyPlot(ax
,___,Name,Value
)h
.
В этом примере показано, как использовать fitLGDModel
для подгонки данных к Regression
моделировать и затем использовать modelAccuracyPlot
сгенерировать график поля точек для предсказанных и наблюдаемых ЛГД.
Загрузка данных
Загрузите данные потерь по умолчанию.
load LGDData.mat
head(data)
ans=8×4 table
LTV Age Type LGD
_______ _______ ___________ _________
0.89101 0.39716 residential 0.032659
0.70176 2.0939 residential 0.43564
0.72078 2.7948 residential 0.0064766
0.37013 1.237 residential 0.007947
0.36492 2.5818 residential 0
0.796 1.5957 residential 0.14572
0.60203 1.1599 residential 0.025688
0.92005 0.50253 investment 0.063182
Данные о разделах
Разделите данные на обучающие и тестовые разделы.
rng('default'); % for reproducibility NumObs = height(data); c = cvpartition(NumObs,'HoldOut',0.4); TrainingInd = training(c); TestInd = test(c);
Создание Regression
ЛГД- Модели
Использование fitLGDModel
для создания Regression
модели с использованием обучающих данных.
lgdModel = fitLGDModel(data(TrainingInd,:),'regression');
disp(lgdModel)
Regression with properties: ResponseTransform: "logit" BoundaryTolerance: 1.0000e-05 ModelID: "Regression" Description: "" UnderlyingModel: [1x1 classreg.regr.CompactLinearModel] PredictorVars: ["LTV" "Age" "Type"] ResponseVar: "LGD"
Отобразите базовую модель.
disp(lgdModel.UnderlyingModel)
Compact linear regression model: LGD_logit ~ 1 + LTV + Age + Type Estimated Coefficients: Estimate SE tStat pValue ________ ________ _______ __________ (Intercept) -4.7549 0.36041 -13.193 3.0997e-38 LTV 2.8565 0.41777 6.8377 1.0531e-11 Age -1.5397 0.085716 -17.963 3.3172e-67 Type_investment 1.4358 0.2475 5.8012 7.587e-09 Number of observations: 2093, Error degrees of freedom: 2089 Root Mean Squared Error: 4.24 R-squared: 0.206, Adjusted R-Squared: 0.205 F-statistic vs. constant model: 181, p-value = 2.42e-104
Сгенерируйте График поля точек предсказанных и наблюдаемых LGD
Использование modelAccuracyPlot
сгенерировать график поля точек предсказанных и наблюдаемых LGD для тестовых данных набора. The ModelLevel
аргумент пары "имя-значение" изменяет выходы только для Regression
модели, а не Tobit
модели, потому что нет никаких преобразований отклика для Tobit
модель.
modelAccuracyPlot(lgdModel,data(TestInd,:),'ModelLevel',"underlying")
В этом примере показано, как использовать fitLGDModel
для подгонки данных к Tobit
моделировать и затем использовать modelAccuracyPlot
сгенерировать график поля точек предсказанных и наблюдаемых ЛГД.
Загрузка данных
Загрузите данные потерь по умолчанию.
load LGDData.mat
head(data)
ans=8×4 table
LTV Age Type LGD
_______ _______ ___________ _________
0.89101 0.39716 residential 0.032659
0.70176 2.0939 residential 0.43564
0.72078 2.7948 residential 0.0064766
0.37013 1.237 residential 0.007947
0.36492 2.5818 residential 0
0.796 1.5957 residential 0.14572
0.60203 1.1599 residential 0.025688
0.92005 0.50253 investment 0.063182
Данные о разделах
Разделите данные на обучающие и тестовые разделы.
rng('default'); % for reproducibility NumObs = height(data); c = cvpartition(NumObs,'HoldOut',0.4); TrainingInd = training(c); TestInd = test(c);
Создайте модель LGD Тобита
Использование fitLGDModel
для создания Tobit
модели с использованием обучающих данных.
lgdModel = fitLGDModel(data(TrainingInd,:),'tobit');
disp(lgdModel)
Tobit with properties: CensoringSide: "both" LeftLimit: 0 RightLimit: 1 ModelID: "Tobit" Description: "" UnderlyingModel: [1x1 risk.internal.credit.TobitModel] PredictorVars: ["LTV" "Age" "Type"] ResponseVar: "LGD"
Отобразите базовую модель.
disp(lgdModel.UnderlyingModel)
Tobit regression model: LGD = max(0,min(Y*,1)) Y* ~ 1 + LTV + Age + Type Estimated coefficients: Estimate SE tStat pValue _________ _________ _______ __________ (Intercept) 0.058257 0.027276 2.1358 0.032809 LTV 0.20126 0.031373 6.415 1.7363e-10 Age -0.095407 0.0072543 -13.152 0 Type_investment 0.10208 0.018054 5.6542 1.7802e-08 (Sigma) 0.29288 0.005704 51.346 0 Number of observations: 2093 Number of left-censored observations: 547 Number of uncensored observations: 1521 Number of right-censored observations: 25 Log-likelihood: -698.383
Сгенерируйте График поля точек предсказанных и наблюдаемых LGD
Использование modelAccuracyPlot
сгенерировать график поля точек предсказанных и наблюдаемых LGD для тестовых данных набора.
modelAccuracyPlot(lgdModel,data(TestInd,:))
modelAccuracyPlot
генерирует график поля точек наблюдаемых и предсказанных значений LGD. The 'XData'
и 'YData'
Аргументы пары "имя-значение" позволяют вам визуализировать невязки или сгенерировать график поля точек с интересующей переменной.
Загрузка данных
Загрузите данные потерь по умолчанию.
load LGDData.mat
head(data)
ans=8×4 table
LTV Age Type LGD
_______ _______ ___________ _________
0.89101 0.39716 residential 0.032659
0.70176 2.0939 residential 0.43564
0.72078 2.7948 residential 0.0064766
0.37013 1.237 residential 0.007947
0.36492 2.5818 residential 0
0.796 1.5957 residential 0.14572
0.60203 1.1599 residential 0.025688
0.92005 0.50253 investment 0.063182
Данные о разделах
Разделите данные на обучающие и тестовые разделы.
rng('default'); % for reproducibility NumObs = height(data); c = cvpartition(NumObs,'HoldOut',0.4); TrainingInd = training(c); TestInd = test(c);
Создайте регрессионные LGD- Модели
Использование fitLGDModel
для создания Regression
модели с использованием обучающих данных.
lgdModel = fitLGDModel(data(TrainingInd,:),'regression');
disp(lgdModel)
Regression with properties: ResponseTransform: "logit" BoundaryTolerance: 1.0000e-05 ModelID: "Regression" Description: "" UnderlyingModel: [1x1 classreg.regr.CompactLinearModel] PredictorVars: ["LTV" "Age" "Type"] ResponseVar: "LGD"
Отобразите базовую модель.
disp(lgdModel.UnderlyingModel)
Compact linear regression model: LGD_logit ~ 1 + LTV + Age + Type Estimated Coefficients: Estimate SE tStat pValue ________ ________ _______ __________ (Intercept) -4.7549 0.36041 -13.193 3.0997e-38 LTV 2.8565 0.41777 6.8377 1.0531e-11 Age -1.5397 0.085716 -17.963 3.3172e-67 Type_investment 1.4358 0.2475 5.8012 7.587e-09 Number of observations: 2093, Error degrees of freedom: 2089 Root Mean Squared Error: 4.24 R-squared: 0.206, Adjusted R-Squared: 0.205 F-statistic vs. constant model: 181, p-value = 2.42e-104
Сгенерируйте График поля точек предсказанных и наблюдаемых LGD
Использование modelAccuracyPlot
чтобы сгенерировать график поля точек невязок от значений LTV.
modelAccuracyPlot(lgdModel,data(TestInd,:),'XData','LTV','YData','residuals')
Для Regression
модели, 'ModelLevel'
Аргумент пары "имя-значение" позволяет вам визуализировать график с помощью базовой шкалы модели.
modelAccuracyPlot(lgdModel,data(TestInd,:),'XData','LTV','YData','residuals','ModelLevel','underlying')
Для категориальных переменных, modelAccuracyPlot
использует наклонный график. Для получения дополнительной информации смотрите swarmchart
.
modelAccuracyPlot(lgdModel,data(TestInd,:),'XData','Type','YData','residuals','ModelLevel','underlying')
lgdModel
- Потеря по умолчанию заданная модельRegression
| объекта Tobit
объектПотеря по умолчанию заданная модель, заданная как ранее созданная Regression
или Tobit
использование объекта fitLGDModel
.
Типы данных: object
data
- ДанныеДанные, заданные как NumRows
-by- NumCols
таблица с предиктором и значениями отклика. Имена переменных и типы данных должны соответствовать базовой модели.
Типы данных: table
ax
- Действительный объект оси(Необязательно) Допустимый объект оси, заданный как ax
объект, который создается с использованием axes
. График будет создан в осях, заданных опциональным ax
аргумент вместо в текущей системе координат (gca). Необязательный аргумент ax
должен предшествовать любой комбинации входных аргументов.
Типы данных: object
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
modelAccuracyPlot(lgdModel,data(TestInd,:),'DataID','Testing','YData','residuals','XData','LTV')
'DataID'
- Идентификатор набора данных""
(по умолчанию) | вектор символов | строкаИдентификатор набора данных, заданный как разделенная разделенными запятой парами, состоящая из 'DataID'
и вектор символов или строка. The DataID
включено в выход для целей отчетности.
Типы данных: char
| string
'ModelLevel'
- Уровень модели'top'
(по умолчанию) | вектор символов со значением 'top'
или 'underlying'
| строку со значением "top"
или "underlying"
Уровень модели, заданный как разделенная разделенными запятой парами, состоящая из 'ModelLevel'
и вектор символов или строка.
'top'
- Метрики точности вычисляются в шкале LGD на верхнем уровне модели.
'underlying'
- Для Regression
только модель, метрики вычисляются в преобразованной шкале базовой модели. Метрики вычисляются на преобразованных данных LGD.
Примечание
ModelLevel
не влияет на Tobit
модель, потому что нет преобразования отклика.
Типы данных: char
| string
'ReferenceLGD'
- Значения LGD, предсказанные для data
по образцу модели[ ]
(по умолчанию) | числовой вектор'ReferenceID'
- Идентификатор для эталонной модели'Reference'
(по умолчанию) | вектор символов | строкаИдентификатор образца модели, заданный как разделенная запятой пара, состоящий из 'ReferenceID'
и вектор символов или строка. 'ReferenceID'
используется в график поля точек выхода в целях отчетности.
Типы данных: char
| string
'XData'
- Данные для построения графика на оси X'predicted'
(по умолчанию) | вектор символов со значением 'predicted'
, 'observed'
, 'residuals'
или VariableName | строку со значением | "predicted"
, "observed"
, "residuals"
, или VariableNameДанные для построения графика на оси X, заданные как разделенная разделенными запятой парами, состоящая из 'XData'
и вектор символов или строка для одного из следующих:
'predicted'
- Постройте график предсказанных значений LGD в оси X.
'observed'
- Постройте график наблюдаемых значений LGD по оси X.
'residuals'
- Постройте график невязок по оси X.
VariableName - Используйте имя переменной в data
введите, не обязательно переменную модели, чтобы построить график в оси X.
Типы данных: char
| string
'YData'
- Данные для построения графика по оси Y'predicted'
(по умолчанию) | вектор символов со значением 'predicted'
, 'observed'
, или 'residuals'
| строку со значением | "predicted"
, "observed"
, или "residuals"
Данные для построения графика на оси Y, заданные как разделенная разделенными запятой парами, состоящая из 'YData'
и вектор символов или строка для одного из следующих:
'predicted'
- Постройте график предсказанных значений LGD по оси Y.
'observed'
- Постройте график наблюдаемых значений LGD по оси Y.
'residuals'
- Постройте график невязок по оси Y.
Типы данных: char
| string
h
- Указатель на фигуруФигура для объектов рассеяния и линий, возвращенный как объект handle.
The modelAccuracyPlot
функция возвращает график рассеяния наблюдаемых и предсказанных потерь по умолчанию (LGD) с линейной аппроксимацией и сообщает R-квадрат линейной аппроксимации.
The XData
Аргумент пары "имя-значение" позволяет изменять значения x на графике. По умолчанию предсказанные значения LGD строятся на x оси, но предсказанные значения LGD, невязки или любая переменная в data
вход, не обязательно переменная модели, может использоваться в качестве x значений. Если выбранное XData
является категориальной переменной, используется наклонный график. Для получения дополнительной информации см. swarmchart
.
The YData
Аргумент пары "имя-значение" позволяет пользователям изменять значения y на графике. По умолчанию наблюдаемые значения LGD строятся на y оси, но предсказанные значения LGD или невязки также могут использоваться в качестве y значений. YData
не поддерживает табличные переменные.
Для Regression
модели, если ModelLevel
установлено в 'underlying'
, данные LGD преобразуются в шкалу базовой модели. Преобразованные данные показаны на графике. The ModelLevel
Аргумент пары "имя-значение" не имеет эффекта для Tobit
модели.
Линейная подгонка и сообщенное значение R-квадрат всегда соответствуют линейной регрессионой модели с нанесенными на график значениями y в качестве отклика и нанесенными на график значениями x в качестве единственного предиктора.
[1] Baesens, Bart, Daniel Roesch, and Harald Scheule. Аналитика кредитных рисков: методы измерения, приложения и примеры в SAS. Уайли, 2016.
[2] Беллини, Тициано. МСФО (IFRS) 9 и CECL «Моделирование и валидация кредитных рисков: практическое руководство с примерами, используемыми в R и SAS». Сан-Диего, Калифорния: Elsevier, 2019.
modelAccuracy
| modelDiscrimination
| modelDiscriminationPlot
| predict
| Regression
| Tobit
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.