fitEADModel

Создайте заданный тип объекта модели EAD

Описание

пример

eadModel = fitEADModel(data,ModelType) создает объект модели воздействия в значении по умолчанию (EAD), заданный data и ModelType. fitEADModel берет в данных о кредите в табличной форме и подбирает модель EAD. ModelType поддерживается для Regression или Tobit модель.

пример

eadModel = fitEADModel(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Доступные дополнительные аргументы пары "имя-значение" зависят от заданного ModelType.

Примеры

свернуть все

В этом примере показано, как использовать fitEADModel создать Regression модель для воздействия в значении по умолчанию (EAD).

Загрузите данные EAD

Загрузите данные EAD.

load EADData.mat
head(EADData)
ans=8×6 table
    UtilizationRate    Age     Marriage        Limit         Drawn          EAD    
    _______________    ___    ___________    __________    __________    __________

        0.24359        25     not married         44776         10907         44740
        0.96946        44     not married    2.1405e+05    2.0751e+05         40678
              0        40     married        1.6581e+05             0    1.6567e+05
        0.53242        38     not married    1.7375e+05         92506        1593.5
         0.2583        30     not married         26258        6782.5        54.175
        0.17039        54     married        1.7357e+05         29575        576.69
        0.18586        27     not married         19590          3641        998.49
        0.85372        42     not married    2.0712e+05    1.7682e+05    1.6454e+05

rng('default');
NumObs = height(EADData);
c = cvpartition(NumObs,'HoldOut',0.4);
TrainingInd = training(c);
TestInd = test(c);

Выберите Model Type

Выберите тип модели для Regression или Tobit.

ModelType = "Regression";

Выберите Conversion Measure

Выберите меру по преобразованию для значений отклика EAD.

ConversionMeasure = "LCF";

Создайте Regression Модель EAD

Используйте fitEADModel создать Regression модель с помощью EADData.

eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'}, ...
    'ConversionMeasure',ConversionMeasure,'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD');
disp(eadModel);
  Regression with properties:

    ConversionTransform: "logit"
      BoundaryTolerance: 1.0000e-07
                ModelID: "Regression"
            Description: ""
        UnderlyingModel: [1x1 classreg.regr.CompactLinearModel]
          PredictorVars: ["UtilizationRate"    "Age"    "Marriage"]
            ResponseVar: "EAD"
               LimitVar: "Limit"
               DrawnVar: "Drawn"
      ConversionMeasure: "lcf"

Отобразите базовую модель. Переменная отклика базовой модели является преобразованием данных об ответе EAD. Используйте 'BoundaryTolerance', 'LimitVar', и 'DrawnVar' аргументы name-value, чтобы изменить преобразование.

disp(eadModel.UnderlyingModel);
Compact linear regression model:
    EAD_lcf_logit ~ 1 + UtilizationRate + Age + Marriage

Estimated Coefficients:
                            Estimate        SE         tStat       pValue  
                            _________    _________    _______    __________

    (Intercept)               -2.4745      0.29892    -8.2781    1.6448e-16
    UtilizationRate            6.0045      0.19901     30.172    7.703e-182
    Age                     -0.020095    0.0073019     -2.752     0.0059471
    Marriage_not married     -0.03509      0.13935    -0.2518        0.8012


Number of observations: 4378, Error degrees of freedom: 4374
Root Mean Squared Error: 4.48
R-squared: 0.173,  Adjusted R-Squared: 0.173
F-statistic vs. constant model: 305, p-value = 5.7e-180

Предскажите EAD

Предсказание EAD работает с базовой компактной статистической моделью и затем преобразовывает ожидаемые значения назад к шкале EAD. Можно задать predict функция с различными вариантами для 'ModelLevel' аргумент долины имени.

predictedEAD = predict(eadModel, EADData(TestInd,:), 'ModelLevel', 'ead');
predictedConversion = predict(eadModel, EADData(TestInd,:), 'ModelLevel', 'ConversionMeasure');

Подтвердите модель EAD

Для проверки допустимости модели используйте modelDiscrimination, modelDiscriminationPlot, modelAccuracy, и modelAccuracyPlot.

Используйте modelDiscrimination и затем modelDiscriminationPlot построить кривую ROC.

ModelLevel = "ConversionMeasure";
[DiscMeasure1, DiscData1] = modelDiscrimination (eadModel, EADData (TestInd, :), 'ModelLevel', ModelLevel);
modelDiscriminationPlot (eadModel, EADData (TestInd, :), 'ModelLevel', ModelLevel,'SegmentBy','Marriage');

Figure contains an axes object. The axes object with title E A D _ l c f blank R O C blank S e g m e n t e d blank b y blank M a r r i a g e contains 2 objects of type line. These objects represent Regression, married, AUROC = 0.70813, Regression, not married, AUROC = 0.70921.

Используйте modelAccuracy и затем modelAccuracyPlot показать график рассеивания предсказаний.

YData = "Observed";

[AccMeasure1, AccData1] = modelAccuracy (eadModel, EADData (TestInd, :), 'ModelLevel', ModelLevel);
modelAccuracyPlot (eadModel, EADData (TestInd, :), 'ModelLevel', ModelLevel, 'YData', YData);

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

Постройте гистограмму наблюдаемых относительно предсказанного EAD.

figure;
histogram(AccData1.Observed);
hold on;
histogram(AccData1.(('Predicted_' + ModelType)));
legend('Observed', 'Predicted');

Figure contains an axes object. The axes object contains 2 objects of type histogram. These objects represent Observed, Predicted.

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

свернуть все

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

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

Тип модели PD в виде скалярной строки или вектора символов.

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

Аргументы name-value

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

Пример: eadModel = fitEADModel(EADData,ModelType,'PredictorVars',{'UtilizationRate','Age','Marriage'},'ConversionMeasure',"ccf",'DrawnVar','Drawn','LimitVar','Limit','ResponseVar','EAD')

Доступные аргументы пары "имя-значение" зависят от значения, которое вы задаете для ModelType.

Аргументы в виде пар имя-значение для объектов модели

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

свернуть все

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

Ссылки

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

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

[3] Браун, Иэн. Разработка Моделей Кредитного риска Используя Шахтера Предприятия SAS и SAS/STAT: Теория и Приложения. SAS Institute, 2014.

[4] Roesch, Дэниел и Харальд Шойле. Глубокий Кредитный риск. Независимо опубликованный, 2020.

Введенный в R2021b