Вычислите R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого LGDs
вычисляет R-квадрат, среднеквадратичную ошибку (RMSE), корреляцию и демонстрационную среднюю погрешность наблюдаемых по сравнению с предсказанными данными о потере, данной значение по умолчанию (LGD). AccMeasure
= modelAccuracy(lgdModel
,data
)modelAccuracy
сравнение поддержек с образцом модели и также поддерживает различные типы корреляции. По умолчанию, modelAccuracy
вычисляет метрики в шкале LGD. Можно использовать ModelLevel
аргумент пары "имя-значение", чтобы вычислить метрики с помощью преобразованной шкалы базовой модели.
[
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.AccMeasure
,AccData
] = modelAccuracy(___,Name,Value
)
В этом примере показано, как использовать fitLGDModel
соответствовать данным Regression
модель и затем использует modelAccuracy
вычислить R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого LGDs.
Загрузка данных
Загрузите потерю, данную данные по умолчанию.
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
Вычислите R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого LGDs
Используйте modelAccuracy
вычислить RSquared
, RMSE
Корреляция
, и SampleMeanError
из предсказанного и наблюдаемого LGDs для набора тестовых данных.
[AccMeasure,AccData] = modelAccuracy(lgdModel,data(TestInd,:))
AccMeasure=1×4 table
RSquared RMSE Correlation SampleMeanError
________ _______ ___________ _______________
Regression 0.070867 0.25988 0.26621 0.10759
AccData=1394×3 table
Observed Predicted_Regression Residuals_Regression
_________ ____________________ ____________________
0.0064766 0.00091169 0.0055649
0.007947 0.0036758 0.0042713
0.063182 0.18774 -0.12456
0 0.0010877 -0.0010877
0.10904 0.011213 0.097823
0 0.041992 -0.041992
0.89463 0.052947 0.84168
0 3.7188e-06 -3.7188e-06
0.072437 0.0090124 0.063425
0.036006 0.023928 0.012078
0 0.0034833 -0.0034833
0.39549 0.0065253 0.38896
0.057675 0.071956 -0.014281
0.014439 0.0061499 0.008289
0 0.0012183 -0.0012183
0 0.0019828 -0.0019828
⋮
Сгенерируйте график рассеивания предсказанного и наблюдаемого LGDs использование modelAccuracyPlot
.
modelAccuracyPlot(lgdModel,data(TestInd,:),'ModelLevel',"underlying")
В этом примере показано, как использовать fitLGDModel
соответствовать данным Tobit
модель и затем использует modelAccuracy
вычислить R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого LGDs.
Загрузка данных
Загрузите потерю, данную данные по умолчанию.
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);
Создайте Tobit
Модель 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
Вычислите R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого LGDs
Используйте modelAccuracy
вычислить RSquared
, RMSE
Корреляция
, и SampleMeanError
из предсказанного и наблюдаемого LGDs для набора тестовых данных.
[AccMeasure,AccData] = modelAccuracy(lgdModel,data(TestInd,:),'CorrelationType',"kendall")
AccMeasure=1×4 table
RSquared RMSE Correlation SampleMeanError
________ _______ ___________ _______________
Tobit 0.08527 0.23712 0.29964 -0.034412
AccData=1394×3 table
Observed Predicted_Tobit Residuals_Tobit
_________ _______________ _______________
0.0064766 0.087889 -0.081412
0.007947 0.12432 -0.11638
0.063182 0.32043 -0.25724
0 0.093354 -0.093354
0.10904 0.16718 -0.058144
0 0.22382 -0.22382
0.89463 0.23695 0.65768
0 0.010234 -0.010234
0.072437 0.1592 -0.086761
0.036006 0.19893 -0.16292
0 0.12764 -0.12764
0.39549 0.14568 0.2498
0.057675 0.26181 -0.20413
0.014439 0.14483 -0.13039
0 0.094123 -0.094123
0 0.10944 -0.10944
⋮
Сгенерируйте график рассеивания предсказанного и наблюдаемого LGDs использование modelAccuracyPlot
.
modelAccuracyPlot(lgdModel,data(TestInd,:))
lgdModel
— Потеря, данная модель по умолчаниюRegression
возразите | Tobit
объектПотеря, данная модель по умолчанию в виде ранее созданного Regression
или Tobit
объектное использование fitLGDModel
.
Типы данных: object
data
данныеДанные в виде NumRows
- NumCols
таблица с предиктором и значениями отклика. Имена переменных и типы данных должны быть сопоставимы с базовой моделью.
Типы данных: table
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
[AccMeasure,AccData] = modelAccuracy(lgdModel,data(TestInd,:),'DataID','Testing','CorrelationType','spearman')
'CorrelationType'
— Тип корреляции"pearson"
(значение по умолчанию) | вектор символов со значением 'pearson'
, 'spearman'
, или 'kendall'
| представьте в виде строки со значением "pearson"
, "spearman"
, или "kendall'"
Тип корреляции в виде разделенной запятой пары, состоящей из 'CorrelationType'
и вектор символов или строка.
Типы данных: char |
string
'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'
используется в modelAccuracy
выведите для создания отчетов о целях.
Типы данных: char |
string
AccMeasure
— Мера по точностиМера по точности, возвращенная как таблица со столбцами 'RSquared'
, 'RMSE'
Корреляция
, и 'SampleMeanError'
. AccMeasure
ссорится если только lgdModel
точность измеряется, и она имеет две строки, если информация об образце модели дана. Имена строки AccMeasure
сообщите о модели ID и ID данных (если обеспечено).
AccData
— Данные о точности Данные о точности, возвращенные как таблица с наблюдаемыми значениями LGD, предсказанными значениями LGD и остаточными значениями (наблюдаемый минус предсказанный). Дополнительные столбцы для предсказанных и остаточных значений включены для образца модели, если обеспечено. ModelID
и ReferenceID
метки добавлены в именах столбцов.
Model accuracy измеряет точность предсказанной вероятности значений LGD с помощью различных метрик.
R-squared — Вычислить метрику R-squared, modelAccuracy
соответствует линейной регрессии наблюдаемых значений LGD против предсказанных значений LGD
О R-квадрате этой регрессии сообщают. Для получения дополнительной информации смотрите Коэффициент детерминации (R-Squared).
RMSE — Вычислить среднеквадратичную ошибку (RMSE), modelAccuracy
использует следующую формулу, где N является количеством наблюдений:
Корреляция — Это - корреляция между наблюдаемым и предсказанным LGD:
Для получения дополнительной информации и детали о различных типах корреляции, смотрите corr
.
Демонстрационная средняя погрешность — Вот в чем разница между наблюдаемым LGD среднего значения, и среднее значение предсказало LGD или, эквивалентно, среднее значение остаточных значений:
[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.
[2] Беллини, Тициано. МСФО 9 и моделирование кредитного риска CECL и валидация: практическое руководство с примерами работало в R и SAS. Сан-Диего, CA: Elsevier, 2019.
fitLGDModel
| modelAccuracyPlot
| modelDiscrimination
| modelDiscriminationPlot
| predict
| Regression
| Tobit
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.