Tobit

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

Описание

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

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

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

  3. Использовать modelDiscrimination для возврата данных AUROC и ROC. Вы можете построить график результатов, используя modelDiscriminationPlot.

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

Создание

Описание

пример

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

пример

TobitLGDModel = fitLGDModel(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Необязательные аргументы пары "имя-значение" задают свойства объекта модели. Для примера, lgdModel = fitLGDModel(data,'tobit','PredictorVars',{'LTV' 'Age' 'Type'},'ResponseVar','LGD','CensoringSide','left','LeftLimit',1e-4) создает Tobit объект модели.

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

расширить все

Данные для потерь по умолчанию, заданные как таблица.

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

Тип модели, заданный как строка со значением "Tobit" или вектор символов со значением 'Tobit'.

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

Tobit Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: lgdModel = fitLGDModel(data,'tobit','PredictorVars',{'LTV' 'Age' 'Type'},'ResponseVar','LGD','CensoringSide','left','LeftLimit',1e-4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • "Display""none"

  • "Algorithm""sqp"

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

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

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

Свойства

расширить все

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

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

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

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

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

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

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

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

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

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

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

Сторона цензуры, возвращается как строка.

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

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

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

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

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

Функции объекта

predictПредсказать потерю по умолчанию
modelDiscriminationВычисление данных AUROC и ROC
modelDiscriminationPlotПостройте кривую ROC
modelAccuracyВычислите R-квадрат, RMSE, корреляцию и среднюю ошибку выборки предсказанных и наблюдаемых LGD
modelAccuracyPlotГрафик поля точек предсказанных и наблюдаемых ЛГД

Примеры

свернуть все

В этом примере показано, как использовать fitLGDModel для создания Tobit модель для потерь по умолчанию (LGD).

Загрузка данных LGD

Загрузите данные 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

Создание Tobit ЛГД- Модели

Использование fitLGDModel для создания Tobit модели с использованием data.

lgdModel = fitLGDModel(data,'Tobit',...
   'ModelID','Example Tobit',...
   'PredictorVars',{'LTV' 'Age' 'Type'},...
   'ResponseVar','LGD',...
   'CensoringSide','left',...
   'LeftLimit',1e-4);
disp(lgdModel)
  Tobit with properties:

      CensoringSide: "left"
          LeftLimit: 1.0000e-04
         RightLimit: 1
            ModelID: "Example Tobit"
        Description: ""
    UnderlyingModel: [1x1 risk.internal.credit.TobitModel]
      PredictorVars: ["LTV"    "Age"    "Type"]
        ResponseVar: "LGD"

Отобразите базовую модель. Базовая модель является моделью Тобита с цензурой влево. Используйте 'CensoringSide' аргумент и 'LeftLimit' and 'RightLimit' аргументы для изменения базовой модели Tobit.

disp(lgdModel.UnderlyingModel)
Tobit regression model, left-censored:
     LGD = max(0.0001,Y*)
     Y* ~ 1 + LTV + Age + Type

Estimated coefficients:
                       Estimate        SE        tStat      pValue  
                       _________    ________    _______    _________

    (Intercept)         0.023181    0.020978      1.105      0.26923
    LTV                  0.23047    0.024138     9.5482            0
    Age                -0.087242    0.005587    -15.615            0
    Type_investment     0.098517    0.013769     7.1547    1.017e-12
    (Sigma)              0.28925    0.004358     66.373            0

Number of observations: 3487
Number of left-censored observations: 930
Number of uncensored observations: 2557
Number of right-censored observations: 0
Log-likelihood: -1089.33

Предсказание LGD

Для моделей Tobit используйте predict вычислить предсказанное значение LGD, которое является безусловным ожидаемым значением отклика, учитывая значения предиктора.

predictedLGD = predict(lgdModel,data(1:10,:))
predictedLGD = 10×1

    0.2374
    0.1166
    0.0902
    0.1157
    0.0659
    0.1523
    0.1483
    0.3139
    0.1686
    0.0970

Валидация модели LGD

Использование modelDiscriminationPlot для построения графика кривой ROC.

modelDiscriminationPlot(lgdModel,data)

Figure contains an axes. The axes with title ROC Example Tobit, AUROC = 0.69103 contains an object of type line. This object represents Example Tobit.

Использование modelAccuracyPlot чтобы показать график поля точек из предсказаний.

modelAccuracyPlot(lgdModel,data)

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

Подробнее о

расширить все

Ссылки

[1] Baesens, Bart, Daniel Roesch, and Harald Scheule. Аналитика кредитных рисков: методы измерения, приложения и примеры в SAS. Уайли, 2016.

[2] Беллини, Тициано. МСФО (IFRS) 9 и CECL «Моделирование и валидация кредитных рисков: практическое руководство с примерами, используемыми в R и SAS». Сан-Диего, Калифорния: Elsevier, 2019.

Введенный в R2021a