Regression

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

Описание

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

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

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

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

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

Создание

Описание

пример

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

пример

RegressionLGDModel = fitLGDModel(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Необязательные аргументы пары "имя-значение" задают свойства объекта модели. Для примера, lgdModel = fitLGDModel(data,'regression','PredictorVars',{'LTV' 'Age' 'Type'},'ResponseVar','LGD','ResponseTransform','probit','BoundaryTolerance',1e-6) создает Regression объект модели.

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

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

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

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

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

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

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

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

Пример: lgdModel = fitLGDModel(data,'regression','PredictorVars',{'LTV' 'Age' 'Type'},'ResponseVar','LGD','ResponseTransform','probit','BoundaryTolerance',1e-6)

Пользовательский идентификатор модели, заданный как разделенная разделенными запятой парами, состоящая из '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 устанавливается в последний столбец data.

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

Допуск границы, заданный как разделенная разделенными запятой парами, состоящая из 'BoundaryTolerance' и положительная скалярная величина число. The BoundaryTolerance значение возмущает значения отклика LGD-отклика в сторону от 0 и 1, перед применением ResponseTransform.

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

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

Граница допуска, возвращенная как скаляр число.

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

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

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

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

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

Примеры

свернуть все

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

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

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

lgdModel = fitLGDModel(data,'regression',...
        'ModelID','Example Probit',...
        'Description','Example LGD probit regression model.',...
        'PredictorVars',{'LTV' 'Age' 'Type'},...
        'ResponseVar','LGD','ResponseTransform','probit','BoundaryTolerance',1e-6);
disp(lgdModel)
  Regression with properties:

    ResponseTransform: "probit"
    BoundaryTolerance: 1.0000e-06
              ModelID: "Example Probit"
          Description: "Example LGD probit regression model."
      UnderlyingModel: [1x1 classreg.regr.CompactLinearModel]
        PredictorVars: ["LTV"    "Age"    "Type"]
          ResponseVar: "LGD"

Отобразите базовую модель. Переменная отклика базовой модели является пробитным преобразованием данных LGD-отклика. Используйте 'ResponseTransform' и 'BoundaryTolerance' аргументы для изменения преобразования.

disp(lgdModel.UnderlyingModel)
Compact linear regression model:
    LGD_probit ~ 1 + LTV + Age + Type

Estimated Coefficients:
                       Estimate       SE        tStat       pValue  
                       ________    ________    _______    __________

    (Intercept)         -2.4011     0.11638    -20.632    2.5277e-89
    LTV                  1.3777      0.1357     10.153    6.9099e-24
    Age                -0.58387    0.028183    -20.717    5.2434e-90
    Type_investment     0.60006    0.079658     7.5329    6.2863e-14


Number of observations: 3487, Error degrees of freedom: 3483
Root Mean Squared Error: 1.77
R-squared: 0.186,  Adjusted R-Squared: 0.186
F-statistic vs. constant model: 266, p-value = 1.87e-155

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

Для LGD- предсказания используйте predict. Модель LGD применяет обратное преобразование, поэтому предсказания находятся в шкале LGD, а не в преобразованной шкале, используемой для соответствия базовой модели.

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

    0.0799
    0.0039
    0.0012
    0.0045
    0.0003
    0.0127
    0.0123
    0.2041
    0.0200
    0.0016

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

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

modelDiscriminationPlot(lgdModel,data)

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

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

modelAccuracyPlot(lgdModel,data)

Figure contains an axes. The axes with title Scatter Example Probit, R-Squared: 0.078757 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