Создайте Tobit
объект модели для воздействия в значении по умолчанию
Создайте и анализируйте Tobit
объект модели, чтобы вычислить воздействие в значении по умолчанию (EAD) с помощью этого рабочего процесса:
Использование fitEADModel
создать Tobit
объект модели.
Использование predict
предсказать EAD.
Использование modelDiscrimination
возвратить данные ROC и AUROC. Можно построить использование результатов modelDiscriminationPlot
.
Использование modelAccuracy
возвратить R-squared, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанных и наблюдаемых данных EAD. Можно построить использование результатов modelAccuracyPlot
.
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Дополнительные аргументы пары "имя-значение" устанавливают свойства объекта модели. Например, TobitEADModel
= fitLGDModel(___,Name,Value
)eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'},'ConversionMeasure',"ccf",'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD')
создает eadModel
объект с помощью Tobit
тип модели.
data
— Данные для воздействия в значении по умолчаниюДанные для воздействия в значении по умолчанию в виде таблицы.
Типы данных: table
ModelType
— Тип модели"Tobit"
| вектор символов со значением 'Tobit'
Тип модели в виде строки со значением "Tobit"
или вектор символов со значением 'Tobit'
.
Типы данных: char |
string
Tobit
Аргументы в виде пар имя-значениеЗадайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'},'ConversionMeasure',"ccf",'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD')
ModelID
— Пользовательская модель ID"Tobit"
(значение по умолчанию) | представляет в виде строки | вектор символовПользовательская модель ID в виде разделенной запятой пары, состоящей из 'ModelID'
и строка или вектор символов. Программное обеспечение использует ModelID
текст к форматам вывода и, как ожидают, будет короток.
Типы данных: string
| char
Description
— Пользовательское описание для модели""
(значение по умолчанию) | представляет в виде строки | вектор символовПользовательское описание для модели в виде разделенной запятой пары, состоящей из 'Description'
и строка или вектор символов.
Типы данных: string
| char
PredictorVars
— Переменные предикторыdata
за исключением ResponseVar
(значение по умолчанию) | массив строк | массив ячеек из символьных векторовПеременные предикторы в виде разделенной запятой пары, состоящей из 'PredictorVars'
и массив строк или массив ячеек из символьных векторов. PredictorVars
указывает который столбцы в data
введите содержат информацию о предикторе. По умолчанию, PredictorVars
установлен во все столбцы в data
введите за исключением ResponseVar
.
Типы данных: string
| cell
ResponseVar
— Переменная откликаdata
(значение по умолчанию) | представляет в виде строки | вектор символовПеременная отклика в виде разделенной запятой пары, состоящей из 'ResponseVar'
и строка или вектор символов. Переменная отклика содержит данные EAD и должна быть числовой переменной со значениями между 0
и 1
(включительно). Значение EAD 0
не указывает ни на какую потерю (полное восстановление), 1
указывает на общую сумму убытков (никакое восстановление), и значения между 0
и 1
укажите на частичную потерю. По умолчанию, ResponseVar
установлен в последний столбец.
Типы данных: string
| char
LimitVar
— Переменная Limitdata
(значение по умолчанию) | представляет в виде строки | вектор символовОграничьте переменную в виде разделенной запятой пары, состоящей из 'LimitVar'
и строка или вектор символов. LimitVar
указывает который столбец в data
содержит предельную сумму. LimitVar
требуется когда ConversionMeasure
'ccf'
или 'lcf'
.
Типы данных: string
| char
DrawnVar
— Переменная Drawndata
(значение по умолчанию) | представляет в виде строки | вектор символовПеременная Drawn в виде разделенной запятой пары, состоящей из 'DrawnVar'
и строка или вектор символов. DrawnVar
указывает который столбец в data
содержит предельную сумму. DrawnVar
требуется когда ConversionMeasure
'ccf'
.
Типы данных: string
| char
ConversionMeasure
— Мера по преобразованию для значений отклика EAD"ccf"
(значение по умолчанию) | вектор символов со значением 'ccf'
или 'lcf'
| представьте в виде строки со значением "ccf"
или "lcf"
Ответ преобразовывает в виде разделенной запятой пары, состоящей из 'ConversionMeasure'
и вектор символов или строка.
"ccf"
— Коэффициент преобразования кредита (CCF) является фрагментом неиспользованной суммы, которая будет преобразована в кредит. Неиспользованная сумма является пределом минус чертившая сумма. EAD таким образом становится чертившей суммой плюс времена CCF предел минус чертившая сумма (EAD = Drawn + CCF*(Limit - Drawn)
) .
"lcf"
— Предельный коэффициент преобразования (LCF) является частью предела, представляющего сумму обязательств. EAD затем задан как времена LCF предел (EAD = LCF*Limit
).
Типы данных: string
| char
CensoringSide
— Цензурирование стороны"both"
(значение по умолчанию) | вектор символов со значением 'left'
, 'right'
, или 'both'
| представьте в виде строки со значением "left"
, "right"
, или "both"
Цензурирование стороны в виде разделенной запятой пары, состоящей из 'CensoringSide'
и вектор символов или строка. CensoringSide
указывает, лево-ли желаемая модель Товита подвергается цензуре, подвергается цензуре правом или подвергается цензуре с обеих сторон.
Типы данных: string
| char
LeftLimit
— Лево-цензурирование предела
(значение по умолчанию) | числовой между 0
и 1
Лево-цензурирование предела в виде разделенной запятой пары, состоящей из 'LeftLimit'
и скаляр, числовой между 0
и 1
.
Типы данных: double
RightLimit
— Подвергающий цензуре право предел
(значение по умолчанию) | числовой между 0
и 1
Подвергающий цензуре право предел в виде разделенной запятой пары, состоящей из 'RightLimit'
и скаляр, числовой между 0
и 1
.
Типы данных: double
SolverOptions
— optimoptions
объектОпции для подбора кривой в виде разделенной запятой пары, состоящей из 'SolverOptions'
и optimoptions
объект, который создается с помощью optimoptions
от Optimization Toolbox™. Значения по умолчанию для optimoptions
объект:
"Display"
'none'
"Algorithm"
— "sqp"
"MaxFunctionEvaluations"
— 500 ✕ Количество коэффициентов модели
"MaxIterations"
— Количество коэффициентов модели Товита определяется во время выполнения; это зависит от количества предикторов и количества категорий в категориальных предикторах.
Типы данных: object
ModelID
— Пользовательская модель IDTobit
(значение по умолчанию) | строкаПользовательская модель ID, возвращенная как строка.
Типы данных: string
Description
— Пользовательское описание""
(значение по умолчанию) | строкаПользовательское описание, возвращенное как строка.
Типы данных: string
UnderlyingModel
— Лежание в основе статистической моделиЭто свойство доступно только для чтения.
Базовая статистическая модель, возвращенная как компактный линейный объект модели. Компактная версия базовой модели регрессии является экземпляром classreg.regr.CompactLinearModel
класс. Для получения дополнительной информации смотрите fitlm
и CompactLinearModel
.
Типы данных: string
PredictorVars
— Переменные предикторыdata
за исключением ResponseVar
(значение по умолчанию) | массив строкПеременные предикторы, возвращенные как массив строк.
Типы данных: string
ResponseVar
— Переменная откликаdata
(значение по умолчанию) | строкаПеременная отклика, возвращенная как строка.
Типы данных: string
LimitVar
— Переменная Limit[]
(значение по умолчанию) | строкаОграничьте переменную, возвращенную как строка.
Типы данных: string
DrawnVar
— Переменная Drawn[]
(значение по умолчанию) | строкаПеременная Drawn, возвращенная как строка.
Типы данных: string
ConversionMeasure
— Мера по преобразованию для значений отклика EAD"ccf"
(значение по умолчанию) | представляет в виде строки со значением "ccf"
или "lcf"
Ответ преобразовывает, возвращенный как строка.
Типы данных: string
CensoringSide
— Цензурирование стороны"both"
(значение по умолчанию) | представляет в виде строки со значением "left"
, "right"
, или "both"
Это свойство доступно только для чтения.
Цензурирование стороны, возвращенной как строка.
Типы данных: string
LeftLimit
— Лево-цензурирование предела
(значение по умолчанию) | числовой между 0
и 1
Это свойство доступно только для чтения.
Лево-цензурирование предела, возвращенного как скаляр, числовой между 0
и 1
.
Типы данных: double
RightLimit
— Подвергающий цензуре право предел
(значение по умолчанию) | числовой между 0
и 1
Это свойство доступно только для чтения.
Подвергающий цензуре право предел, возвращенный как скаляр, числовой между 0
и 1
.
Типы данных: double
predict | Предскажите воздействие в значении по умолчанию |
modelDiscrimination | Вычислите данные ROC и AUROC |
modelDiscriminationPlot | Постройте кривую ROC |
modelAccuracy | Вычислите R-квадрат, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанного и наблюдаемого ИДЗА |
modelAccuracyPlot | График поля точек предсказанного и наблюдаемого ИДЗА |
В этом примере показано, как использовать fitEADModel
создать Tobit
модель для воздействия в значении по умолчанию (EAD).
Загрузите данные 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. Используйте 'LimitVar'
и 'DrawnVar'
аргументы 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); modelDiscriminationPlot (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel,'SegmentBy','Marriage');
Используйте modelAccuracy
и затем modelAccuracyPlot
показать график рассеивания предсказаний.
YData = "Observed"; [AccMeasure1, AccData1] = modelAccuracy (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel); modelAccuracyPlot (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel,'YData', YData);
Постройте гистограмму наблюдаемых относительно предсказанного EAD.
figure; histogram(AccData1.Observed); hold on; histogram(AccData1.(('Predicted_' + ModelType))); legend('Observed','Predicted');
Воздействие в значении по умолчанию (EAD) модели Товита подбирает модель Товита к данным EAD.
Модели Товита являются “подвергнутыми цензуре” моделями регрессии. Модели Товита принимают, что переменная отклика может наблюдаться только в определенных пределах, и никакое значение вне пределов не может наблюдаться. Используя ModelLevel
, можно установить уровень модели Товита на EAD
, CCF
, или LCF
меры по преобразованию. EAD
уровень модели не имеет никакой области значений, CCF
мера по преобразованию имеет область значений -Inf
к 1
, и LCF
мерой по преобразованию является 0
к 1
. Распределение значений отклика, где существует высокая частота наблюдений в пределах, сопоставимо с предположениями модели.
Модель Товита комбинирует следующие две формулы:
где
Y является наблюдаемой переменной отклика, наблюдаемыми данными EAD для модели EAD.
L является левым пределом, нижней границей для значений отклика, обычно 0
для моделей EAD.
R является правильным пределом, верхней границей для значений отклика, обычно 1
для моделей EAD.
Y* скрытая, ненаблюдаемая переменная.
βj является коэффициентом j th предиктор (или точка пересечения для j = 0
).
σ стандартное отклонение остаточного члена.
ε остаточный член, принятый, чтобы следовать за стандартным нормальным распределением.
Первая формула выше записана с помощью min
и max
операторы и эквивалентны
Стандартное отклонение ошибки явным образом обозначается в формулах. В отличие от традиционной оценки наименьших квадратов регрессии, где стандартное отклонение ошибки может быть выведено из остаточных значений для моделей Товита, оценка через наибольшее правдоподобие, и стандартное отклонение должно быть обработано явным образом во время оценки. Если существуют переменные предикторы p, модель Товита оценивает p +2 коэффициента, а именно, один коэффициент для каждого предиктора, плюс точка пересечения, плюс стандартное отклонение.
Три опции стороны цензурирования поддерживаются в моделях Tobit EAD с CensoringSide
аргумент значения имени:
'both'
— Эта опция является опцией по умолчанию с цензурированием с обеих сторон. Оценка использует левые и правые пределы.
'left'
— Лево-подвергнутая цензуре версия модели не имеет никакого правильного предела (или R = ∞). Отношение между Y и Y* Y = max
{L, Y* }.
'right'
— Подвергнутая цензуре правом версия модели не имеет никакого левого предела (или L = - ∞). Отношение между Y и Y* Y = min
{Y*R.
Параметры модели Товита оцениваются с помощью наибольшего правдоподобия. Для наблюдения i = 1, …, n, функция правдоподобия
где
Φ (x; m, s), совокупное нормальное распределение со средним m и стандартным отклонением s.
φ (x; m, s), нормальная функция плотности со средним m и стандартным отклонением s.
Эта функция правдоподобия для моделей, подвергнутых цензуре с обеих сторон. Для лево-подвергнутых цензуре моделей правильный предел не оказывает влияния, и функция правдоподобия имеет два случая только (R = ∞); аналогично для подвергнутых цензуре правом моделей (L = - ∞).
Функция логарифмической правдоподобности является суммой логарифма функций правдоподобия для отдельных наблюдений
Параметры оцениваются путем максимизации функции логарифмической правдоподобности. Единственное ограничение состоит в том, что σ параметр должен быть положительным.
Чтобы предсказать значение EAD, модели Товита EAD возвращают безусловное ожидаемое значение ответа, учитывая значения предиктора
Выражение для ожидаемого значения может быть разделено на случаи
Используя предыдущее выражение и свойства (усеченного) нормального распределения, из этого следует, что
где
Это выражение применяется к моделям, подвергнутым цензуре с обеих сторон. Для моделей, подвергнутых цензуре на одной стороне только, соответствующие выражения могут быть выведены отсюда. Например, для лево-подвергнутых цензуре моделей, позвольте R ограничить в выражении выше движения к бесконечности, и получившееся выражение
Точно так же для подвергнутых цензуре правом моделей, предел L уменьшен к минус бесконечность, чтобы добраться
[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.
[2] Беллини, Тициано. МСФО 9 и моделирование кредитного риска CECL и валидация: практическое руководство с примерами работало в R и SAS. Сан-Диего, CA: Elsevier, 2019.
[3] Браун, Иэн. Разработка Моделей Кредитного риска Используя Шахтера Предприятия SAS и SAS/STAT: Теория и Приложения. SAS Institute, 2014.
[4] Roesch, Дэниел и Харальд Шойле. Глубокий Кредитный риск. Независимо опубликованный, 2020.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.