predict

Предскажите потерю, данную значение по умолчанию

Описание

пример

LGD = predict(lgdModel,data) вычисляет потерю, данную значение по умолчанию (LGD).

При использовании Regression модель, predict функция работает с базовой компактной статистической моделью и затем преобразовывает ожидаемые значения назад к шкале LGD.

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

Примеры

свернуть все

В этом примере показано, как использовать fitLGDModel соответствовать данным Regression модель и затем предсказывает значения потери, данной значение по умолчанию (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 на тестовых данных

Используйте predict предсказать LGD для набора тестовых данных.

predictedLGD = predict(lgdModel,data(TestInd,:))
predictedLGD = 1394×1

    0.0009
    0.0037
    0.1877
    0.0011
    0.0112
    0.0420
    0.0529
    0.0000
    0.0090
    0.0239
      ⋮

Можно анализировать и подтвердить эти предсказания с помощью modelDiscrimination и modelAccuracy.

В этом примере показано, как использовать fitLGDModel соответствовать данным Tobit модель и затем предсказывает значения потери, данной значение по умолчанию (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);

Создайте 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.027265     2.1367      0.032737
    LTV                  0.20126     0.031354     6.4189    1.6932e-10
    Age                -0.095407    0.0072653    -13.132             0
    Type_investment      0.10208     0.018058     5.6531    1.7915e-08
    (Sigma)              0.29288    0.0057036      51.35             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 на тестовых данных

Используйте predict предсказать LGD для набора тестовых данных.

predictedLGD = predict(lgdModel,data(TestInd,:))
predictedLGD = 1394×1

    0.0879
    0.1243
    0.3204
    0.0934
    0.1672
    0.2238
    0.2370
    0.0102
    0.1592
    0.1989
      ⋮

Можно анализировать и подтвердить эти предсказания с помощью modelDiscrimination и modelAccuracy.

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

свернуть все

Потеря, данная модель по умолчанию в виде ранее созданного Regression или Tobit объектное использование fitLGDModel.

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

Данные в виде NumRows- NumCols таблица с предиктором и значениями отклика. Имена переменных и типы данных должны быть сопоставимы с базовой моделью.

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

Выходные аргументы

свернуть все

Потеря, данная значения по умолчанию, возвращенные как NumRows- 1 числовой вектор.

Больше о

свернуть все

Предсказание с моделями LGD

Используйте модель Регрессии или Товита, чтобы предсказать LGD.

Regression Модели LGD сначала предсказывают на преобразованном пробеле с помощью базовой модели линейной регрессии, и затем применяют обратное преобразование, чтобы возвратить предсказания по шкале LGD. Для получения дополнительной информации о поддерживаемых преобразованиях и их инверсиях, смотрите Потерю, Данную Модели Регрессии По умолчанию.

Tobit Модели LGD возвращают безусловное ожидаемое значение ответа, учитывая значения предиктора. Для получения дополнительной информации смотрите Потерю, Данную Значение по умолчанию Товит Моделс.

Ссылки

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

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

Введенный в R2021a