exponenta event banner

Регресс

Создать 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' и положительный скалярный числовой. 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 Модель LGD

Использовать 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] Бэзенс, Барт, Даниэль Рош и Харальд Шиле. Анализ кредитных рисков: методы измерения, приложения и примеры в SAS. Уайли, 2016.

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

Представлен в R2021a