exponenta event banner

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

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

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

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

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

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

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

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

  2. Выведите класс отклонений, используя один из методов вывода отклонений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сначала визуализируйте данные для принятия и отклонения для выбранного предиктора.

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

Predictor = "CustAge";
figure;
h1 = histogram(data.(Predictor));
hold on
h2 = histogram(Rejects.(Predictor));
h1.Normalization = 'probability';
h2.Normalization = 'probability';
title(Predictor)
xlabel('Predictor Values')
ylabel('Normalized Count by Probability')
hold off
legend({'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 объект, который можно использовать для складирования, подгонки, а затем оценки принятых объектов.

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.

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

% Define the BR
BR = 0.75;

% Sort rejects by ascending CustID order
N = height(Rejects);
Rejects = sortrows(Rejects);
ScoresRejects = score(scHC,Rejects);

% Find the lowest quantile based on the BR and set the corresponding observations to bad
BadLabel   = setdiff(unique(scHC.Data.(scHC.ResponseVar)),scHC.GoodLabel);
ScoreThres = quantile(ScoresRejects,BR);
ResponseRejects = zeros(N,1);
ResponseRejects(ScoresRejects < ScoreThres)  = BadLabel;
ResponseRejects(ScoresRejects >= ScoreThres) = scHC.GoodLabel;

% Create the rejects table
RejectsTable    = [Rejects table(ResponseRejects,'VariableNames',{scHC.ResponseVar})];

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

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

% 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";
figure;
bar(categorical(Edges.(Predictor)),histcounts(bd1.(Predictor)))
hold on
bar(categorical(Edges.(Predictor)),histcounts(bd2.(Predictor)),'FaceAlpha',0.25)
hold off
xlabel('Bins')
ylabel('Counts')
legend({'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     

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

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

Сначала визуализируйте данные для принятия и отклонения для выбранного предиктора.

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

Predictor = "CustAge";
figure;
h1 = histogram(data.(Predictor));
hold on
h2 = histogram(Rejects.(Predictor));
h1.Normalization = 'probability';
h2.Normalization = 'probability';
title(Predictor)
xlabel('Predictor values')
ylabel('Normalized Count by Probability')
hold off
legend({'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 на основе комбинированного набора данных. Это гарантирует, что присвоения binning не повлияют на последующее сравнение двух моделей кредитных карт показателей. Кроме того, можно визуализировать распределение отклонений в диапазоне данных каждого предиктора.

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";
figure;
bar(categorical(Edges.(Predictor)),histcounts(bd1.(Predictor)))
hold on
bar(categorical(Edges.(Predictor)),histcounts(bd2.(Predictor)),'FaceAlpha',0.25)
hold off
xlabel('Bins')
ylabel('Counts')
legend({'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. Баесн, Б., Д. Рёш и Х. Шёле. Анализ кредитных рисков: методы измерения, приложения и примеры в SAS. Wiley and SAS Business Series, 2016.

  2. Рефаат, М. Карты оценки кредитных рисков: разработка и внедрение с использованием SAS. lulu.com, 2011.

См. также

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

Связанные примеры

Подробнее

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