displaypoints

Возвратите точки на предиктор на интервал для объекта compactCreditScorecard

Синтаксис

PointsInfo = displaypoints(csc)
[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
[PointsInfo,MinScore,MaxScore] = displaypoints(___,Name,Value)

Описание

пример

PointsInfo = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных прогноза, используемых в объекте compactCreditScorecard. Таблица PointsInfo показывает информацию об имени предиктора, метках интервала и соответствующих точках на интервал.

пример

[PointsInfo,MinScore,MaxScore] = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных прогноза, используемых в объекте compactCreditScorecard. Таблица PointsInfo показывает информацию об имени предиктора, метках интервала и соответствующих точках на интервал и displaypoints. Кроме того, дополнительный MinScore и значения MaxScore возвращены.

пример

[PointsInfo,MinScore,MaxScore] = displaypoints(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Чтобы создать объект compactCreditScorecard, сначала создайте объект creditscorecard с помощью файла CreditCardData.mat, чтобы загрузить data (использующий набор данных от Refaat 2011).

load CreditCardData.mat 
sc = creditscorecard(data)
sc = 
  creditscorecard with properties:

                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
                 VarNames: {1x11 cell}
        NumericPredictors: {1x7 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
           BinMissingData: 0
                    IDVar: ''
            PredictorVars: {1x10 cell}
                     Data: [1200x11 table]

Прежде, чем создать объект compactCreditScorecard, необходимо использовать autobinning и fitmodel с объектом creditscorecard.

sc = autobinning(sc);
sc = fitmodel(sc);
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

Используйте объект creditscorecard с compactCreditScorecard, чтобы создать объект compactCreditScorecard.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
        NumericPredictors: {'CustAge'  'CustIncome'  'TmWBank'  'AMBalance'}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x7 cell}

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

[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
     Predictors          Bin           Points  
    ____________    ______________    _________

    'CustAge'       '[-Inf,33)'        -0.15894
    'CustAge'       '[33,37)'          -0.14036
    'CustAge'       '[37,40)'         -0.060323
    'CustAge'       '[40,46)'          0.046408
    'CustAge'       '[46,48)'           0.21445
    'CustAge'       '[48,58)'           0.23039
    'CustAge'       '[58,Inf]'            0.479
    'CustAge'       '<missing>'             NaN
    'ResStatus'     'Tenant'          -0.031252
    'ResStatus'     'Home Owner'        0.12696
    'ResStatus'     'Other'             0.37641
    'ResStatus'     '<missing>'             NaN
    'EmpStatus'     'Unknown'         -0.076317
    'EmpStatus'     'Employed'          0.31449
    'EmpStatus'     '<missing>'             NaN
    'CustIncome'    '[-Inf,29000)'     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

displaypoints всегда отображает интервал '<missing>' для каждого предиктора. Значение интервала '<missing>' прибывает из начального объекта creditscorecard, и интервал '<missing>' установлен в NaN каждый раз, когда модель протокола результатов не имеет никакой информации о том, как присвоить точки недостающим данным.

Чтобы сконфигурировать точки для интервала '<missing>', необходимо использовать начальный объект creditscorecard. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точки для интервала '<missing>' оцениваются от данных, если аргумент пары "имя-значение" 'BinMissingData' установлен в true с помощью creditscorecard. Когда параметр 'BinMissingData' устанавливается на false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте аргумент пары "имя-значение" 'Missing' в formatpoints, чтобы указать, как присвоить точки недостающим данным. Затем восстановите объект compactCreditScorecard и повторно выполните displaypoints. Вот пример этого рабочего процесса:

sc = formatpoints(sc,'Missing','minpoints');
csc = compactCreditScorecard(sc);
[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
     Predictors          Bin           Points  
    ____________    ______________    _________

    'CustAge'       '[-Inf,33)'        -0.15894
    'CustAge'       '[33,37)'          -0.14036
    'CustAge'       '[37,40)'         -0.060323
    'CustAge'       '[40,46)'          0.046408
    'CustAge'       '[46,48)'           0.21445
    'CustAge'       '[48,58)'           0.23039
    'CustAge'       '[58,Inf]'            0.479
    'CustAge'       '<missing>'        -0.15894
    'ResStatus'     'Tenant'          -0.031252
    'ResStatus'     'Home Owner'        0.12696
    'ResStatus'     'Other'             0.37641
    'ResStatus'     '<missing>'       -0.031252
    'EmpStatus'     'Unknown'         -0.076317
    'EmpStatus'     'Employed'          0.31449
    'EmpStatus'     '<missing>'       -0.076317
    'CustIncome'    '[-Inf,29000)'     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

Чтобы создать объект compactCreditScorecard, сначала создайте объект creditscorecard с помощью файла CreditCardData.mat, чтобы загрузить data (использующий набор данных от Refaat 2011). Используя набор данных dataMissing, набор индикатор 'BinMissingData' to true.

load CreditCardData.mat 
sc = creditscorecard(dataMissing,'BinMissingData',true); 

Прежде, чем создать объект compactCreditScorecard, необходимо использовать autobinning и fitmodel с объектом creditscorecard. Во-первых, используйте autobinning с объектом creditscorecard.

sc = autobinning(sc);

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

[bi,cg] = bininfo(sc,'ResStatus')
bi=5×6 table
        Bin         Good    Bad     Odds        WOE       InfoValue 
    ____________    ____    ___    ______    _________    __________

    'Tenant'        296     161    1.8385    -0.095463     0.0035249
    'Home Owner'    352     171    2.0585     0.017549    0.00013382
    'Other'         128      52    2.4615      0.19637     0.0055808
    '<missing>'      27      13    2.0769     0.026469    2.3248e-05
    'Totals'        803     397    2.0227          NaN     0.0092627

cg=3×2 table
      Category      BinNumber
    ____________    _________

    'Tenant'            1    
    'Home Owner'        2    
    'Other'             3    

К категориям группы 'Tenant' и 'Other', измените таблицу cg группировки категории, таким образом, номер интервала для 'Other' совпадает с номером интервала для 'Tenant'. Затем используйте modifybins, чтобы обновить объект creditscorecard.

cg.BinNumber(3) = 2; 
sc = modifybins(sc,'ResStatus','Catg',cg); 

Отобразите обновленную информацию об интервале с помощью bininfo. Обратите внимание на то, что метки интервала были обновлены и что информация о членстве в интервале содержится в категории, группирующей cg.

[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue 
    ___________    ____    ___    ______    _________    __________

    'Group1'       296     161    1.8385    -0.095463     0.0035249
    'Group2'       480     223    2.1525     0.062196     0.0022419
    '<missing>'     27      13    2.0769     0.026469    2.3248e-05
    'Totals'       803     397    2.0227          NaN       0.00579

cg=3×2 table
      Category      BinNumber
    ____________    _________

    'Tenant'            1    
    'Home Owner'        2    
    'Other'             2    

Используйте formatpoints с аргументом пары "имя-значение" 'Missing', чтобы указать, что недостающими данными является присвоенный 'maxpoints'.

sc = formatpoints(sc,'BasePoints',true,'Missing','maxpoints','WorstAndBest',[300 800]); 

Используйте fitmodel, чтобы соответствовать модели.

sc = fitmodel(sc,'VariableSelection','fullmodel','Display','Off'); 

Используйте объект creditscorecard с compactCreditScorecard, чтобы создать объект compactCreditScorecard.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
        NumericPredictors: {1x7 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x10 cell}

Затем используйте displaypoints с объектом compactCreditScorecard возвратить таблицу точек для всех интервалов всех переменных прогноза, используемых в объекте compactCreditScorecard. Путем установки аргумента пары "имя-значение" displaypoints для 'ShowCategoricalMembers' к true отображены все участники, содержавшиеся в каждой отдельной группе.

[PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)
PointsInfo=51×3 table
     Predictors          Bin         Points 
    _____________    ____________    _______

    'BasePoints'     'BasePoints'     535.25
    'CustID'         '[-Inf,121)'     12.085
    'CustID'         '[121,241)'      5.4738
    'CustID'         '[241,1081)'    -1.4061
    'CustID'         '[1081,Inf]'    -7.2217
    'CustID'         '<missing>'      12.085
    'CustAge'        '[-Inf,33)'     -25.973
    'CustAge'        '[33,37)'        -22.67
    'CustAge'        '[37,40)'       -17.122
    'CustAge'        '[40,46)'       -2.8071
    'CustAge'        '[46,48)'        9.5034
    'CustAge'        '[48,51)'        10.913
    'CustAge'        '[51,58)'        13.844
    'CustAge'        '[58,Inf]'       37.541
    'CustAge'        '<missing>'     -9.7271
    'TmAtAddress'    '[-Inf,23)'     -9.3683
      ⋮

MinScore = 300.0000
MaxScore = 800.0000

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

свернуть все

Компактная модель протокола результатов кредита, заданная как объект compactCreditScorecard.

Чтобы создать объект compactCreditScorecard, используйте compactCreditScorecard или compact от Financial Toolbox™.

Аргументы в виде пар имя-значение

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

Пример: [PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)

Индикатор для того, как отобразить метки интервалов категорий, которые группировались, задал как пара, разделенная запятой, состоящая из 'ShowCategoricalMembers' и логического скаляра со значением true или false.

По умолчанию, когда 'ShowCategoricalMembers' является false, метки интервала отображены как Group1, Group2, …, Group n, или если метки интервала были изменены в creditscorecard, то пользовательские имена метки интервала отображены.

Если 'ShowCategoricalMembers' является true, все участники, содержавшиеся в каждой отдельной группе, отображены.

Типы данных: логический

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

свернуть все

Одна строка на интервал, на предиктор, с соответствующими точками, возвратилась как таблица. Например:

ПредикторыИнтервал'points'
Predictor_1Bin_11Points_11
Predictor_1Bin_12Points_12
Predictor_1Bin_13Points_13
 ......
Predictor_1'<missing>'NaN (Значение по умолчанию)
Predictor_2Bin_21Points_21
Predictor_2Bin_22Points_22
Predictor_2Bin_23Points_23
 ......
Predictor_2'<missing>'NaN (Значение по умолчанию)
Predictor_jBin_jiPoints_ji
 ......
Predictor_j'<missing>'NaN (Значение по умолчанию)

displaypoints всегда отображает интервал '<missing>' для каждого предиктора. Значение интервала '<missing>' прибывает из начального объекта creditscorecard, и интервал '<missing>' установлен в NaN каждый раз, когда модель протокола результатов не имеет никакой информации о том, как присвоить точки недостающим данным.

Чтобы сконфигурировать точки для интервала '<missing>', необходимо использовать начальный объект creditscorecard. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точки для интервала '<missing>' оцениваются от данных, если аргумент пары "имя-значение" 'BinMissingData' для установлен в true с помощью creditscorecard. Когда параметр 'BinMissingData' устанавливается на false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте аргумент пары "имя-значение" 'Missing' в formatpoints, чтобы указать, как присвоить точки недостающим данным. Затем восстановите объект compactCreditScorecard и повторно выполните displaypoints.

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

Минимальный возможный общий счет, возвращенный как скаляр.

Примечание

Минимальный счет является самым низким общим счетом в математическом смысле, независимо от того, означает ли низкий балл высокий риск или низкий риск.

Максимальный возможный общий счет, возвращенный как скаляр.

Примечание

Максимальный счет является максимально возможным общим счетом в математическом смысле, независимо от того, означает ли высокий счет высокий риск или низкий риск.

Алгоритмы

Точками для предиктора j и интервал i, по умолчанию, дают

Points_ji = (Shift + Slope*b0)/p + Slope*(bj*WOEj(i))
где bj является коэффициентом модели предиктора j, p является количеством предикторов в модели, и WOEj (i) является значением Веса доказательства (WOE) для i-th интервал, соответствующий j-th образцовому предиктору. Shift и Slope масштабируют константы.

Когда о базисных точках сообщают отдельно (см. аргумент пары "имя-значение" formatpoints BasePoints), базисными точками дают

Base Points = Shift + Slope*b0,
и точки для j-th предиктор, i-th строка дают
Points_ji = Slope*(bj*WOEj(i))).

По умолчанию о базисных точках не сообщают отдельно.

Минимальные и максимальные очки:

MinScore = Shift + Slope*b0 + min(Slope*b1*WOE1) + ... +min(Slope*bp*WOEp)),
MaxScore = Shift + Slope*b0 + max(Slope*b1*WOE1) + ... +max(Slope*bp*WOEp)).

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

Ссылки

[1] Андерсон, R. Инструментарий рейтинга кредитоспособности. Издательство Оксфордского университета, 2007.

[2] Refaat, M. Протоколы результатов кредитного риска: разработка и реализация Используя SAS. lulu.com, 2011.

Введенный в R2019a