Tobit

Создайте Tobit объект модели для воздействия в значении по умолчанию

Описание

Создайте и анализируйте Tobit объект модели, чтобы вычислить воздействие в значении по умолчанию (EAD) с помощью этого рабочего процесса:

  1. Использование fitEADModel создать Tobit объект модели.

  2. Использование predict предсказать EAD.

  3. Использование modelDiscrimination возвратить данные ROC и AUROC. Можно построить использование результатов modelDiscriminationPlot.

  4. Использование modelAccuracy возвратить R-squared, RMSE, корреляцию и демонстрационную среднюю погрешность предсказанных и наблюдаемых данных EAD. Можно построить использование результатов modelAccuracyPlot.

Создание

Описание

пример

TobitEADModel = fitLGDModel(data,ModelType) создает Tobit Объект модели EAD.

пример

TobitEADModel = fitLGDModel(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Дополнительные аргументы пары "имя-значение" устанавливают свойства объекта модели. Например, eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'},'ConversionMeasure',"ccf",'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD') создает eadModel объект с помощью Tobit тип модели.

Входные параметры

развернуть все

Данные для воздействия в значении по умолчанию в виде таблицы.

Типы данных: table

Тип модели в виде строки со значением "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')

Пользовательская модель ID в виде разделенной запятой пары, состоящей из 'ModelID' и строка или вектор символов. Программное обеспечение использует ModelID текст к форматам вывода и, как ожидают, будет короток.

Типы данных: string | char

Пользовательское описание для модели в виде разделенной запятой пары, состоящей из 'Description' и строка или вектор символов.

Типы данных: string | char

Переменные предикторы в виде разделенной запятой пары, состоящей из 'PredictorVars' и массив строк или массив ячеек из символьных векторов. PredictorVars указывает который столбцы в data введите содержат информацию о предикторе. По умолчанию, PredictorVars установлен во все столбцы в data введите за исключением ResponseVar.

Типы данных: string | cell

Переменная отклика в виде разделенной запятой пары, состоящей из 'ResponseVar' и строка или вектор символов. Переменная отклика содержит данные EAD и должна быть числовой переменной со значениями между 0 и 1 (включительно). Значение EAD 0 не указывает ни на какую потерю (полное восстановление), 1 указывает на общую сумму убытков (никакое восстановление), и значения между 0 и 1 укажите на частичную потерю. По умолчанию, ResponseVar установлен в последний столбец.

Типы данных: string | char

Ограничьте переменную в виде разделенной запятой пары, состоящей из 'LimitVar' и строка или вектор символов. LimitVar указывает который столбец в data содержит предельную сумму. LimitVar требуется когда ConversionMeasure 'ccf' или 'lcf'.

Типы данных: string | char

Переменная Drawn в виде разделенной запятой пары, состоящей из 'DrawnVar' и строка или вектор символов. DrawnVar указывает который столбец в data содержит предельную сумму. DrawnVar требуется когда ConversionMeasure 'ccf'.

Типы данных: string | char

Ответ преобразовывает в виде разделенной запятой пары, состоящей из 'ConversionMeasure' и вектор символов или строка.

  • "ccf" — Коэффициент преобразования кредита (CCF) является фрагментом неиспользованной суммы, которая будет преобразована в кредит. Неиспользованная сумма является пределом минус чертившая сумма. EAD таким образом становится чертившей суммой плюс времена CCF предел минус чертившая сумма (EAD = Drawn + CCF*(Limit - Drawn)) .

  • "lcf" — Предельный коэффициент преобразования (LCF) является частью предела, представляющего сумму обязательств. EAD затем задан как времена LCF предел (EAD = LCF*Limit).

Типы данных: string | char

Цензурирование стороны в виде разделенной запятой пары, состоящей из 'CensoringSide' и вектор символов или строка. CensoringSide указывает, лево-ли желаемая модель Товита подвергается цензуре, подвергается цензуре правом или подвергается цензуре с обеих сторон.

Типы данных: string | char

Лево-цензурирование предела в виде разделенной запятой пары, состоящей из 'LeftLimit' и скаляр, числовой между 0 и 1.

Типы данных: double

Подвергающий цензуре право предел в виде разделенной запятой пары, состоящей из 'RightLimit' и скаляр, числовой между 0 и 1.

Типы данных: double

Опции для подбора кривой в виде разделенной запятой пары, состоящей из 'SolverOptions' и optimoptions объект, который создается с помощью optimoptions от Optimization Toolbox™. Значения по умолчанию для optimoptions объект:

  • "Display" 'none'

  • "Algorithm""sqp"

  • "MaxFunctionEvaluations"— 500 ✕ Количество коэффициентов модели

  • "MaxIterations" — Количество коэффициентов модели Товита определяется во время выполнения; это зависит от количества предикторов и количества категорий в категориальных предикторах.

Типы данных: object

Свойства

развернуть все

Пользовательская модель ID, возвращенная как строка.

Типы данных: string

Пользовательское описание, возвращенное как строка.

Типы данных: string

Это свойство доступно только для чтения.

Базовая статистическая модель, возвращенная как компактный линейный объект модели. Компактная версия базовой модели регрессии является экземпляром classreg.regr.CompactLinearModel класс. Для получения дополнительной информации смотрите fitlm и CompactLinearModel.

Типы данных: string

Переменные предикторы, возвращенные как массив строк.

Типы данных: string

Переменная отклика, возвращенная как строка.

Типы данных: string

Ограничьте переменную, возвращенную как строка.

Типы данных: string

Переменная Drawn, возвращенная как строка.

Типы данных: string

Ответ преобразовывает, возвращенный как строка.

Типы данных: string

Это свойство доступно только для чтения.

Цензурирование стороны, возвращенной как строка.

Типы данных: string

Это свойство доступно только для чтения.

Лево-цензурирование предела, возвращенного как скаляр, числовой между 0 и 1.

Типы данных: double

Это свойство доступно только для чтения.

Подвергающий цензуре право предел, возвращенный как скаляр, числовой между 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');

Figure contains an axes object. The axes object with title E A D _ l c f blank R O C blank S e g m e n t e d blank b y blank M a r r i a g e contains 2 objects of type line. These objects represent Tobit, married, AUROC = 0.70789, Tobit, not married, AUROC = 0.70898.

Используйте modelAccuracy и затем modelAccuracyPlot показать график рассеивания предсказаний.

YData = "Observed";

[AccMeasure1, AccData1] = modelAccuracy (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel);
modelAccuracyPlot (eadModel, EADData (TestInd, :),'ModelLevel', ModelLevel,'YData', YData);

Figure contains an axes object. The axes object with title Scatter Tobit, R-Squared: 0.16231 contains 2 objects of type scatter, line. These objects represent Data, Fit.

Постройте гистограмму наблюдаемых относительно предсказанного EAD.

figure;
histogram(AccData1.Observed);
hold on;
histogram(AccData1.(('Predicted_' + ModelType)));
legend('Observed','Predicted');

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Observed, Predicted.

Больше о

развернуть все

Ссылки

[1] Baesens, Барт, Дэниел Роеш и Харальд Шойле. Аналитика кредитного риска: техники измерений, приложения и примеры в SAS. Вайли, 2016.

[2] Беллини, Тициано. МСФО 9 и моделирование кредитного риска CECL и валидация: практическое руководство с примерами работало в R и SAS. Сан-Диего, CA: Elsevier, 2019.

[3] Браун, Иэн. Разработка Моделей Кредитного риска Используя Шахтера Предприятия SAS и SAS/STAT: Теория и Приложения. SAS Institute, 2014.

[4] Roesch, Дэниел и Харальд Шойле. Глубокий Кредитный риск. Независимо опубликованный, 2020.

Введенный в R2021b