Regression

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

Описание

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

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

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

  3. Использование modelDiscrimination возвратить данные ROC и AUROC. Можно построить использование результатов 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) создает lgdModel объект с помощью 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)

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

В этом примере показано, как использовать 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 object. The axes object 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 object. The axes object with title Scatter Example Probit, R-Squared: 0.078757 contains 2 objects of type scatter, line. These objects represent Data, Fit.

Больше о

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

Ссылки

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

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

Введенный в R2021a