График рассеяния прогнозируемых и наблюдаемых ЖРД
modelAccuracyPlot(___, указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе. Вы можете использовать Name,Value)ModelLevel аргумент пары имя-значение для вычисления метрик с использованием трансформированного масштаба базовой модели.
задает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе, и возвращает дескриптор фигуры h = modelAccuracyPlot(ax,___,Name,Value)h.
В этом примере показано, как использовать fitLGDModel для совмещения данных с Regression модель, а затем использовать modelAccuracyPlot генерировать график рассеяния для прогнозируемых и наблюдаемых LGD.
Загрузить данные
Загрузите данные о потерях по умолчанию.
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 Модель 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 генерировать график рассеяния прогнозируемых и наблюдаемых LGD для набора тестовых данных. ModelLevel аргумент пары имя-значение изменяет выходные данные только для Regression модели, не Tobit модели, потому что нет преобразований ответа для Tobit модель.
modelAccuracyPlot(lgdModel,data(TestInd,:),'ModelLevel',"underlying")

В этом примере показано, как использовать fitLGDModel для совмещения данных с Tobit модель, а затем использовать modelAccuracyPlot генерировать график рассеяния прогнозируемых и наблюдаемых LGD.
Загрузить данные
Загрузите данные о потерях по умолчанию.
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. '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около-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' и символьный вектор или строку. 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', или VariiveName | строка со значением | "predicted", "observed", "residuals", или Имя вариацииДанные для печати по оси X, указанные как разделенная запятыми пара, состоящая из 'XData' и символьный вектор или строку для одного из следующих вариантов:
'predicted' - Постройте график прогнозируемых значений LGD по оси X.
'observed' - Постройте график наблюдаемых значений LGD по оси X.
'residuals' - постройте график остатков по оси X.
Имя переменной - используйте имя переменной в 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 - Ручка рисункаМаркер перемещения для объектов рассеяния и линий, возвращенный как маркер перемещения.
modelAccuracyPlot функция возвращает график рассеяния наблюдаемых и прогнозируемых потерь данных по умолчанию (LGD) с линейной посадкой и сообщает о R-квадрате линейной посадки.
XData аргумент пары «имя-значение» позволяет изменять значения x на графике. По умолчанию прогнозируемые значения LGD выводятся на график по оси X, но прогнозируемые значения LGD, остатки или любая переменная в data входные данные, не обязательно переменные модели, могут использоваться в качестве значений x. Если выбрано XData является категориальной переменной, используется роевая диаграмма. Дополнительные сведения см. в разделе swarmchart.
YData аргумент пары имя-значение позволяет пользователям изменять значения y на графике. По умолчанию наблюдаемые значения LGD выводятся на график по оси Y, но в качестве значений y также можно использовать прогнозируемые значения LGD или остаточные значения. YData не поддерживает табличные переменные.
Для Regression модели, если ModelLevel имеет значение 'underlying'данные LGD преобразуются в масштаб базовой модели. Преобразованные данные отображаются на графике. ModelLevel аргумент пары «имя-значение» не влияет на Tobit модели.
Линейная посадка и сообщаемое значение R-квадрата всегда соответствуют модели линейной регрессии с построенными на графике значениями y в качестве ответа и построенными на графике значениями x в качестве единственного предиктора.
[1] Бэзенс, Барт, Даниэль Рош и Харальд Шиле. Анализ кредитных рисков: методы измерения, приложения и примеры в SAS. Уайли, 2016.
[2] Беллини, Тициано. МСФО (IFRS) 9 и CECL «Моделирование и валидация кредитных рисков: практическое руководство с примерами, работающими в R и SAS». Сан-Диего, Калифорния: Elsevier, 2019.
modelAccuracy | modelDiscrimination | modelDiscriminationPlot | predict | Regression | Tobit
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.