Использование методов вывода отклонения с кредитными картами показателей

Этот пример демонстрирует жесткие и нечеткие подходы к увеличению для отклонения вывода.

Вывод отклонения является методом улучшения качества карты результатов кредита путем включения данных из отклоненных заявок на ссуду. Смещение может возникнуть, если модель карты показателей кредита построена только на принятии и не учитывает заявки, отклоненные из-за прошлых отклонений кредита или неизвестного статуса nondefault. Используя метод вывода отклонения, можно вывести эффективность отклонений и включить их в модель карты показателей кредита, чтобы исправить это смещение.

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

Как показывает схема, вывод отклонения требует, чтобы вы определили порог (точку отсечения), ниже которого отклонения рассматриваются как «плохие». Этот пример демонстрирует жесткий и нечеткий подходы увеличения для вычисления этого порога.

Следующая схема показывает типичный процесс создания модели карты показателей. Красный прямоугольник представляет процесс вывода отклонения, в котором оценивается эффективность ранее отклоненных заявок, а затем используется для переобучения модели карты показателей кредита.

Рабочий процесс для процесса вывода отклонения:

  1. Создайте логистическую регрессионую модель на основе принятых.

  2. Вывод класса отклонений с помощью одного из методов вывода отклонений.

  3. Объедините приемки и отклонения в один набор данных.

  4. Создайте новую карту показателей, сохраните расширенный набор данных и создайте новую логистическую модель.

  5. Проверьте окончательную модель.

Существует два типа вывода отклонения:

  • Простое назначение не использует процесс вывода отклонения и игнорирует отклонения или присваивает все отклонения «плохому» классу.

  • Увеличение использует процесс вывода отклонения, чтобы обработать отклонения на основе модели оценки путем объединения исходного набора данных с данными отклонений.

Этот пример фокусируется на методах увеличения. Наиболее популярными методами увеличения являются:

  • Простое увеличение - используя значение отсечения, этот метод присваивает отклонения с счетами ниже и выше значения классу «плохо» или «хорошо», соответственно. Значение среза должно отражать, что скорость бадов в отклонениях выше, чем в принятом населении. После присвоения класса («хороший» или «плохой») отклонениям всёсь население приемок и отклонений подгоняется в модели карты показателей кредита и затем оценивается. Этот подход также называется жестким методом отключения.

  • Нечеткое увеличение - этот метод оценивает отклонения с помощью модели карты результатов кредита на основе принятых. Эти отклонения дублируются в два наблюдения, где каждому присваивается вероятность быть «хорошим» или «плохим», а затем агрегируются к принятию. Новая модель карты показателей кредита затем оценивается на новом наборе данных.

В этом примере представлены следующие рабочие процессы:

Оба этих подхода используют правила раскладывания, сохраненные в исходной карте показателей, и применяют их к новой карте показателей, основанной на объединенном наборе данных.

Примечание. Наборы данных в этом примере являются технически сквозными (TTD) наблюдениями. То есть, принятие и отклонение объединяются и дифференцируются на основе их принятия или отклонения решения. Набор данных отклоняет затем создается из наблюдений TTD.

Рабочий процесс метода Hard-Cutoff

Метод жесткого отсечения использует предопределенное значение отсечения и присваивает отклонения ниже отсечения как «плохие» и выше отсечения как «хорошие». Значение отсечения должно отражать, что скорость «bads» в отклонениях выше, чем в приемлемых. После того, как каждому отклонению присваивается класс («хороший» или «плохой»), всёсь население утверждений и отклонений подгоняется в модели карты показателей кредита, а затем эта модель оценивается и проверяется. Этот подход также называется простым методом увеличения. Основной проблемой в этом подходе является выбор значения отсечения.

Во-первых, визуализируйте данные для приемов и отклонений для выбранного предиктора.

% Load the data
load CreditCardData.mat 
load RejectsCreditCardData.mat

Predictor = "CustAge";
рисунок;
h1 = гистограмма (данные. (Предиктор));
держаться on
h2 = гистограмма (Rejects. (Predictor));
h1. Нормализация = 'probability';
h2. Нормализация = 'probability';
заголовок (Предиктор)
xlabel ('Predictor Values')
ylabel ('Normalized Count by Probability')
держаться off
легенда ({'Accepts','Rejects'},'Location','best');

Figure contains an axes. The axes with title CustAge contains 2 objects of type histogram. These objects represent Accepts, Rejects.

Создайте creditscorecard Объект для принятия и счета данных

Использование creditscorecard для создания creditscorecard объект, который можно использовать, чтобы складывать, подгонка, а затем оценивать accepts.

scHC = creditscorecard(data,'IDVar','CustID');
scHC = autobinning(scHC);
scHC = fitmodel(scHC);
1. Adding CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08
2. Adding TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-06
3. Adding AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601
4. Adding EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257
5. Adding CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306
6. Adding ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078
7. Adding OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769

Generalized linear regression model:
    status ~ [Linear formula with 8 terms in 7 predictors]
    Distribution = Binomial

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)    0.70239     0.064001    10.975    5.0538e-28
    CustAge        0.60833      0.24932      2.44      0.014687
    ResStatus        1.377      0.65272    2.1097      0.034888
    EmpStatus      0.88565        0.293    3.0227     0.0025055
    CustIncome     0.70164      0.21844    3.2121     0.0013179
    TmWBank         1.1074      0.23271    4.7589    1.9464e-06
    OtherCC         1.0883      0.52912    2.0569      0.039696
    AMBalance        1.045      0.32214    3.2439     0.0011792


1200 observations, 1192 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 89.7, p-value = 1.4e-16
ScoreRange = [300 850];
scHC = formatpoints(scHC,'WorstAndBestScores',ScoreRange);
ScoresAccepts = score(scHC);

Выберите плохую ставку и оцените отклонения

Отклонение является «хорошим» или «плохим» на основе заданного значения плохой скорости (BR). В целом, индустрия кредитного скоринга принимает, что отклонения имеют BR 75%. Это субъективная оценка, которая обычно основана на неизвестном значении. В этом примере можно настроить значение BR.

The CreditCardData.mat входные данные имеют 'status' как ответ. Предположим, что GoodLabel (что означает nondefault) - это класс, который имеет более высокое количество в ответе. В этом примере GoodLabel является 0, что означает, что по умолчанию происходит только, когда ответ равен 1.

% Define the BR
BR = 0.75;

% Sort rejects by ascending CustID order
N = высота (Отклонения);
Rejects = sortrows (Rejects);
ScoresRejects = счет (scHC, Rejects);

% Find the lowest quantile based on the BR and set the corresponding observations to bad
Bad Label = setdiff (уникальный (sc HC.D ata. (sc HC. Response Var)), sc HC.G ood Label);
ScoreThres = квантиль (ScoresRejects, BR);
ResponseRejects = нули (N, 1);
ResponseRejects (ScoresRejects < ScoreThres) = BadLabel;
ResponseRejects (ScoresRejects > = ScoreThres) = scHC.GoodLabel;

% Create the rejects table
RejectsTable = [Отклонения таблицы (ResponseRejects,'VariableNames', {ScHC.ResponseVar})];

Объединение приемов и отклонений в новый набор данных, счет и валидация

Чтобы провести более точное сравнение между акцептами и комбинированным набором данных, используйте те же правила раскладывания из исходной карты показателей кредита и копируйте их в creditscorecard объект, созданный на объединенном наборе данных. Это гарантирует, что присвоение раскладывания не влияет на последующее сравнение двух моделей карты показателей кредита. Кроме того, можно визуализировать, как отклонения распределяются в области данных каждого предиктора.

% Create the final combined scorecard
CombinedData = [data(:,2:end);RejectsTable(:,2:end)];
scNewHC = creditscorecard(CombinedData,'GoodLabel',0);

% Bin using the same binning rules as the base scorecard
Predictors = scHC.PredictorVars;
Edges = struct();
for i = 1 : length(Predictors)
    Pred = Predictors{i};
    [bi,cp] = bininfo(scHC,Pred);
    if ismember(Pred,scHC.NumericPredictors)
        scNewHC = modifybins(scNewHC,Pred,'CutPoints',cp);
    else
        scNewHC = modifybins(scNewHC,Pred,'CatGrouping',cp);
    end
    Edges.(Pred) = bi.Bin(1:end-1);
end

% Visualize the rejects distribution in each bin
bd1 = bindata(scHC,data);
bd2 = bindata(scHC,CombinedData);
Predictor = "CustAge";
рисунок;
bar (категориальный (Ребра. (Предиктор)), гистограммы (bd1. (Предиктор)))
держаться on
bar (категориальный (Ребра. (Предиктор)), гистограммы (bd2. (Предиктор)),'FaceAlpha',0.25)
держаться off
xlabel ('Bins')
ylabel ('Counts')
легенда ({'Accepts Only','Combined'},'Location','best')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent Accepts Only, Combined.

Сравните начальные creditscorecard объект (scHC) к новому creditscorecard объект (scNewHC) для распределения «товаров» и «бадсов» для выбранного предиктора.

plotbins(scHC,Predictor);

Figure contains an axes. The axes with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

plotbins(scNewHC,Predictor);

Figure contains an axes. The axes with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

Подбор логистической регрессионой модели для creditscorecard scNewHC объекта и затем забивайте scNewHC.

scNewHC = fitmodel(scNewHC);
1. Adding CustIncome, Deviance = 1693.9882, Chi2Stat = 114.39516, PValue = 1.0676416e-26
2. Adding TmWBank, Deviance = 1650.6615, Chi2Stat = 43.326628, PValue = 4.6323638e-11
3. Adding AMBalance, Deviance = 1623.0668, Chi2Stat = 27.594773, PValue = 1.4958244e-07
4. Adding EmpStatus, Deviance = 1603.603, Chi2Stat = 19.463733, PValue = 1.0252802e-05
5. Adding CustAge, Deviance = 1592.3467, Chi2Stat = 11.256272, PValue = 0.00079354409
6. Adding ResStatus, Deviance = 1582.0086, Chi2Stat = 10.338134, PValue = 0.0013030966
7. Adding OtherCC, Deviance = 1572.1, Chi2Stat = 9.9086387, PValue = 0.0016450476

Generalized linear regression model:
    status ~ [Linear formula with 8 terms in 7 predictors]
    Distribution = Binomial

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)    0.48115     0.061301     7.849    4.1925e-15
    CustAge        0.50857      0.14449    3.5197    0.00043207
    ResStatus        1.151      0.34773    3.3101    0.00093262
    EmpStatus      0.78527      0.17826    4.4051    1.0572e-05
    CustIncome     0.68743      0.12372    5.5563    2.7555e-08
    TmWBank         1.0001      0.16731    5.9779    2.2607e-09
    OtherCC        0.97659      0.30956    3.1548     0.0016062
    AMBalance      0.91563      0.19073    4.8006    1.5819e-06


1361 observations, 1353 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 236, p-value = 2.29e-47
scNewHC  = formatpoints(scNewHC,'WorstAndBestScores',ScoreRange);
Scores = score(scNewHC);

% Visualize the score distribution
histogram(ScoresAccepts)
hold on
histogram(Scores,'FaceAlpha',0.25)
hold off
ylabel('Counts')
xlabel('Scores')
title(sprintf('Score Distribution for a BR = %.2f',BR))
legend({'Accepts Only','Combined'},'Location','best')

Figure contains an axes. The axes with title Score Distribution for a BR = 0.75 contains 2 objects of type histogram. These objects represent Accepts Only, Combined.

Проверьте модель на комбинированном наборе данных

Перед валидацией необходимо настроить набор данных. Чтобы настроить набор данных, можно либо:

  • Проверьте акцепты для обеих карт показателей

  • Проверьте объединенный набор данных для обеих карт показателей

% Get statistics for the accepts
StatsA1 = validatemodel(scHC);
StatsA2 = validatemodel(scNewHC,data);

% Get the statistics for the combined data set
StatsC1 = validatemodel(scHC,CombinedData);
StatsC2 = validatemodel(scNewHC);

s1 = table(StatsA1.Value,StatsA2.Value,'VariableNames',{'BaseScorecard','CombinedScorecard'});
s2 = table(StatsC1.Value,StatsC2.Value,'VariableNames',{'BaseScorecard','CombinedScorecard'});
Stats = table(StatsA1.Measure,s1,s2,'VariableNames',{'Measure','Accepts','Combined'}); 
disp(Stats)
            Measure                          Accepts                               Combined             
                                BaseScorecard    CombinedScorecard    BaseScorecard    CombinedScorecard
    ________________________    __________________________________    __________________________________

    {'Accuracy Ratio'      }       0.32258            0.31695            0.47022            0.46565     
    {'Area under ROC curve'}       0.66129            0.65848            0.73511            0.73282     
    {'KS statistic'        }        0.2246            0.22946            0.34528            0.33681     
    {'KS score'            }        550.72             576.57             512.44             542.85     

Рабочий процесс метода нечеткого увеличения

Метод нечеткого увеличения начинается с создания карты показателей, используя только accepts, и затем эта модель карты показателей используется для оценки отклонений. В отличие от жесткого метода отключения, нечеткий подход увеличения не присваивает классы «хорошо» или «плохо». Скорее каждый отказ дублируется в два наблюдения и присваивается взвешенное «хорошее» или «плохое» значение, основанное на вероятности быть «хорошим» или «плохим». Взвешенные отклонения затем добавляются к набору данных accepts, и объединенный набор данных используется для создания карты показателей, которая затем подгоняется и проверяется.

Во-первых, визуализируйте данные для приемов и отклонений для выбранного предиктора.

% Load the data
matFileName = fullfile(matlabroot,'toolbox','finance','findemos','CreditCardData');
load(matFileName) 
load RejectsCreditCardData.mat

Predictor = "CustAge";
рисунок;
h1 = гистограмма (данные. (Предиктор));
держаться on
h2 = гистограмма (Rejects. (Predictor));
h1. Нормализация = 'probability';
h2. Нормализация = 'probability';
заголовок (Предиктор)
xlabel ('Predictor values')
ylabel ('Normalized Count by Probability')
держаться off
легенда ({'Accepts','Rejects'},'Location','best');

Figure contains an axes. The axes with title CustAge contains 2 objects of type histogram. These objects represent Accepts, Rejects.

Создайте creditscorecard Объект для принятия и счета данных

Использование creditscorecard для создания creditscorecard объект для приемок, которые можно складывать, подгонка, а затем забивать.

scFA = creditscorecard(data,'IDVar','CustID');
scFA = autobinning(scFA);
scFA = fitmodel(scFA);
1. Adding CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08
2. Adding TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-06
3. Adding AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601
4. Adding EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257
5. Adding CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306
6. Adding ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078
7. Adding OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769

Generalized linear regression model:
    status ~ [Linear formula with 8 terms in 7 predictors]
    Distribution = Binomial

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)    0.70239     0.064001    10.975    5.0538e-28
    CustAge        0.60833      0.24932      2.44      0.014687
    ResStatus        1.377      0.65272    2.1097      0.034888
    EmpStatus      0.88565        0.293    3.0227     0.0025055
    CustIncome     0.70164      0.21844    3.2121     0.0013179
    TmWBank         1.1074      0.23271    4.7589    1.9464e-06
    OtherCC         1.0883      0.52912    2.0569      0.039696
    AMBalance        1.045      0.32214    3.2439     0.0011792


1200 observations, 1192 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 89.7, p-value = 1.4e-16
ScoreRange = [300 850];
scFA = formatpoints(scFA,'WorstAndBestScores',ScoreRange);
ScoresAccepts = score(scFA);

Оцените отклонения и создайте комбинированный набор данных

% Load the rejects dataset and score the observations
load RejectsCreditCardData.mat

ScoresRejects = score(scFA,Rejects);

% Compute the probabilities of default and use as weights
pdRejects = probdefault(scFA,Rejects);

% Assign bad status to pd (probability of default) and good status to 1-pd weights
BadLabel = setdiff(unique(scFA.Data.(scFA.ResponseVar)),scFA.GoodLabel);
Weights  = zeros(2*length(pdRejects),1);
Response = zeros(2*length(pdRejects),1);
Weights(1:2:end)  = pdRejects;
Response(1:2:end) = BadLabel;
Weights(2:2:end)  = 1-pdRejects;
Response(2:2:end) = scFA.GoodLabel;

% Rearrange the response so that each two rows correspond to the same
% observation from rejects
RejectsTable = repelem(Rejects(:,2:end),2,1);
RejectsTable = addvars(RejectsTable,Weights,Response,'NewVariableNames',...
    {'Weights',scFA.ResponseVar});

% Combine accepts and rejects
AcceptsData = addvars(data,ones(height(data),1),'Before',scFA.ResponseVar,...
    'NewVariableNames','Weights');
CombinedData = [AcceptsData(:,2:end);RejectsTable];

Объедините приемки и отклонения в новый набор данных, счет и валидацию

Чтобы провести более точное сравнение между акцептами и комбинированным набором данных, используйте те же правила раскладывания из исходной карты показателей кредита и копируйте их в creditscorecard объект, созданный на объединенном наборе данных. Это гарантирует, что присвоения раскладывание не влияют на последующее сравнение двух моделей карты показателей кредита. Кроме того, можно визуализировать, как отклонения распределяются в области данных каждого предиктора.

scNewFA = creditscorecard(CombinedData,'GoodLabel',0,'WeightsVar','Weights');

% Bin using the same binning rules as the base scorecard
Predictors = scFA.PredictorVars;
Edges = struct();
for i = 1 : length(Predictors)
    Pred = Predictors{i};
    [bi,cp] = bininfo(scFA,Pred);
    if ismember(Pred,scFA.NumericPredictors)
        scNewFA = modifybins(scNewFA,Pred,'CutPoints',cp);
    else
        scNewFA = modifybins(scNewFA,Pred,'CatGrouping',cp);
    end
    Edges.(Pred) = bi.Bin(1:end-1);
end

% Visualize the rejects distribution in each bin
bd1 = bindata(scFA,data);
bd2 = bindata(scFA,CombinedData);
Predictor = "CustAge";
рисунок;
bar (категориальный (Ребра. (Предиктор)), гистограммы (bd1. (Предиктор)))
держаться on
bar (категориальный (Ребра. (Предиктор)), гистограммы (bd2. (Предиктор)),'FaceAlpha',0.25)
держаться off
xlabel ('Bins')
ylabel ('Counts')
легенда ({'Accepts Only','Combined'},'Location','best')

Figure contains an axes. The axes contains 2 objects of type bar. These objects represent Accepts Only, Combined.

Сравните начальные creditscorecard объект (scFA) к новому creditscorecard объект (scNewFA) для распределения «товаров» и «бадсов» для выбранного предиктора.

plotbins(scFA,Predictor);

Figure contains an axes. The axes with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

plotbins(scNewFA,Predictor);

Figure contains an axes. The axes with title CustAge contains 3 objects of type bar, line. These objects represent Good, Bad.

Подбор логистической регрессионой модели для creditscorecard scNewFA объекта и затем забивайте scNewFA.

scNewFA = fitmodel(scNewFA);
1. Adding CustIncome, Deviance = 1711.3102, Chi2Stat = 54.160619, PValue = 1.8475277e-13
2. Adding TmWBank, Deviance = 1682.5353, Chi2Stat = 28.774866, PValue = 8.1299351e-08
3. Adding AMBalance, Deviance = 1668.2956, Chi2Stat = 14.239727, PValue = 0.00016093686
4. Adding EmpStatus, Deviance = 1658.2944, Chi2Stat = 10.001236, PValue = 0.001564352
5. Adding CustAge, Deviance = 1652.3976, Chi2Stat = 5.8967925, PValue = 0.015168483
6. Adding OtherCC, Deviance = 1647.7632, Chi2Stat = 4.6344022, PValue = 0.031337059
7. Adding ResStatus, Deviance = 1642.8332, Chi2Stat = 4.9299914, PValue = 0.026394448

Generalized linear regression model:
    status ~ [Linear formula with 8 terms in 7 predictors]
    Distribution = Binomial

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)    0.60838     0.059654    10.198    2.0142e-24
    CustAge        0.50755      0.20092    2.5262      0.011532
    ResStatus        1.082      0.48919    2.2119      0.026971
    EmpStatus      0.74776      0.23526    3.1784     0.0014809
    CustIncome      0.6372      0.17519    3.6371    0.00027567
    TmWBank        0.96561      0.19664    4.9106    9.0815e-07
    OtherCC        0.90699      0.40476    2.2408      0.025039
    AMBalance      0.87642      0.25404    3.4499    0.00056077


1522 observations, 1514 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 123, p-value = 2.16e-23
scNewFA  = formatpoints(scNewFA,'WorstAndBestScores',ScoreRange);
Scores = score(scNewFA);
pd = probdefault(scNewFA);

% Visualize the score distribution
histogram(ScoresAccepts)
hold on
histogram(Scores,'FaceAlpha',0.25)
hold off
ylabel('Counts')
xlabel('Scores')
title('Score Distribution Using Fuzzy Augmentation')
legend({'Accepts Only','Combined'},'Location','best')

Figure contains an axes. The axes with title Score Distribution Using Fuzzy Augmentation contains 2 objects of type histogram. These objects represent Accepts Only, Combined.

Проверьте модель на комбинированном наборе данных

Перед валидацией необходимо настроить набор данных. Чтобы настроить набор данных, можно либо:

  • Проверьте акцепты для обеих карт показателей

  • Проверьте объединенный набор данных для обеих карт показателей

% Get statistics for the accepts
data.Weights = ones(height(data),1);
StatsA1 = validatemodel(scFA);
StatsA2 = validatemodel(scNewFA,data);
% Get the statistics for the combined data set
StatsC1 = validatemodel(scFA,CombinedData);
StatsC2 = validatemodel(scNewFA);

s1 = table(StatsA1.Value,StatsA2.Value,'VariableNames',{'BaseScorecard','CombinedScorecard'});
s2 = table(StatsC1.Value,StatsC2.Value,'VariableNames',{'BaseScorecard','CombinedScorecard'});
Stats = table(StatsA1.Measure,s1,s2,'VariableNames',{'Measure','Accepts','Combined'}); 
disp(Stats)
            Measure                          Accepts                               Combined             
                                BaseScorecard    CombinedScorecard    BaseScorecard    CombinedScorecard
    ________________________    __________________________________    __________________________________

    {'Accuracy Ratio'      }       0.32258            0.32088            0.29419            0.35143     
    {'Area under ROC curve'}       0.66129            0.66044            0.64709            0.67571     
    {'KS statistic'        }        0.2246            0.22799            0.22596            0.25629     
    {'KS score'            }        550.72             554.84             512.44             520.99     

Сводные данные

Этот пример демонстрирует, как использовать процесс вывода отклонения в рамках рабочего процесса карты показателей кредита. Методы Hard-Cutoff и Fuzzy Augmentation показывают, как можно складывать данные, подгонять модель, интегрировать отклонения с приемками в новую модель карты показателей кредита, а затем подтвердить новую модель карты показателей кредита.

Нет четкого вывода, для какого из этих подходов к выводу отклонения является лучшим. Этот пример предназначен для иллюстрации того, как использовать функции creditscorecard для реализации двух различных подходов к выводу отклонений.

Ссылки

  1. Baesn, B., D. Rösch, and H. Scheule. Аналитика кредитных рисков: методы измерения, приложения и примеры в SAS. Wiley and SAS Business Series, 2016.

  2. Refaat, M. Credit Risk Scorecards: Разработка и реализация с использованием SAS. lulu.com, 2011.

См. также

| | | | | | | | | | | | | | |

Похожие примеры

Подробнее о

Внешние веб-сайты