modifybins

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

Синтаксис

sc = modifybins(sc,PredictorName,Name,Value)

Описание

пример

sc = modifybins(sc,PredictorName,Name,Value) вручную изменяет интервалы предиктора для числовых предикторов или категориальных предикторов с помощью дополнительных аргументов пары "имя-значение". Для числовых предикторов могут быть заданы минимальное значение, максимальное значение и точки разделения. Для категориальных предикторов могут быть заданы группировки категории. Метки интервала могут быть заданы для обоих типов предикторов.

Примеры

свернуть все

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

load CreditCardData 
sc = creditscorecard(data);

Предиктор CustIncome является числовым. По умолчанию каждое значение предиктора помещается в отдельный интервал.

bi = bininfo(sc,'CustIncome')
bi=46×6 table
      Bin      Good    Bad     Odds         WOE       InfoValue 
    _______    ____    ___    _______    _________    __________

    '18000'      2      3     0.66667      -1.1099     0.0056227
    '19000'      1      2         0.5      -1.3976     0.0053002
    '20000'      4      2           2    -0.011271    6.3641e-07
    '21000'      6      3           2    -0.011271    9.5462e-07
    '22000'      4      2           2    -0.011271    6.3641e-07
    '23000'      4      4           1     -0.70442     0.0035885
    '24000'      5      5           1     -0.70442     0.0044856
    '25000'      4      9     0.44444      -1.5153      0.026805
    '26000'      4     11     0.36364       -1.716      0.038999
    '27000'      6      6           1     -0.70442     0.0053827
    '28000'     13     11      1.1818     -0.53736     0.0061896
    '29000'     11     10         1.1     -0.60911     0.0069988
    '30000'     18     16       1.125     -0.58664      0.010493
    '31000'     24      8           3      0.39419     0.0038382
    '32000'     21     15         1.4     -0.36795     0.0042797
    '33000'     35     19      1.8421    -0.093509    0.00039951
      ⋮

Используйте modifybins, чтобы установить минимальное значение 0, и точки разделения каждые 10000, от 20 000 до 60 000. Отобразите обновленную информацию об интервале, включая точки разделения.

sc = modifybins(sc,'CustIncome','MinValue',0,'CutPoints',20000:10000:60000);
[bi,cp] = bininfo(sc,'CustIncome')
bi=7×6 table
          Bin          Good    Bad     Odds         WOE       InfoValue
    _______________    ____    ___    _______    _________    _________

    '[0,20000)'          3       5        0.6      -1.2152     0.010765
    '[20000,30000)'     61      63    0.96825     -0.73668     0.060942
    '[30000,40000)'    324     173     1.8728    -0.076967    0.0024846
    '[40000,50000)'    304     123     2.4715      0.20042     0.013781
    '[50000,60000)'    103      32     3.2188      0.46457     0.022144
    '[60000,Inf]'        8       1          8        1.375     0.010235
    'Totals'           803     397     2.0227          NaN      0.12035

cp = 5×1

       20000
       30000
       40000
       50000
       60000

Первые и последние интервалы содержат очень немного точек. Чтобы объединить первый интервал во второй, удалите первую точку разделения. Точно так же, чтобы объединить последний интервал в предпоследний, удалите последнюю точку разделения. Затем используйте modifybins, чтобы обновить протокол результатов, и отображение обновило информацию об интервале.

cp(1)=[];
cp(end)=[];
sc = modifybins(sc,'CustIncome','CutPoints',cp);
bi = bininfo(sc,'CustIncome')
bi=5×6 table
          Bin          Good    Bad     Odds         WOE       InfoValue
    _______________    ____    ___    _______    _________    _________

    '[0,30000)'         64      68    0.94118     -0.76504     0.070065
    '[30000,40000)'    324     173     1.8728    -0.076967    0.0024846
    '[40000,50000)'    304     123     2.4715      0.20042     0.013781
    '[50000,Inf]'      111      33     3.3636       0.5086     0.028028
    'Totals'           803     397     2.0227          NaN      0.11436

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

load CreditCardData 
sc = creditscorecard(data);

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

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

    'Home Owner'    365     177    2.0621     0.019329    0.0001682
    'Tenant'        307     167    1.8383    -0.095564    0.0036638
    'Other'         131      53    2.4717      0.20049    0.0059418
    'Totals'        803     397    2.0227          NaN    0.0097738

cg=3×2 table
      Category      BinNumber
    ____________    _________

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

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

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

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

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

    'Group1'    365     177    2.0621     0.019329     0.0001682
    'Group2'    438     220    1.9909    -0.015827    0.00013772
    'Totals'    803     397    2.0227          NaN    0.00030592

cg=3×2 table
      Category      BinNumber
    ____________    _________

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

Создайте объект creditscorecard (использующий набор данных от Refaat 2011).

load CreditCardData
sc = creditscorecard(data,'IDVar','CustID','GoodLabel',0);

Для числового предиктора CustAge используйте функцию modifybins, чтобы установить следующие точки разделения:

cp = [25 37 49 65];
sc = modifybins(sc,'CustAge','CutPoints',cp,'MinValue',0,'MaxValue',75);
bininfo(sc,'CustAge')
ans=6×6 table
       Bin       Good    Bad     Odds        WOE       InfoValue
    _________    ____    ___    ______    _________    _________

    '[0,25)'       9       8     1.125     -0.58664    0.0052464
    '[25,37)'    125      92    1.3587     -0.39789     0.030268
    '[37,49)'    340     183    1.8579    -0.084959    0.0031898
    '[49,65)'    298     108    2.7593      0.31054     0.030765
    '[65,75]'     31       6    5.1667      0.93781     0.022031
    'Totals'     803     397    2.0227          NaN       0.0915

Используйте функцию modifybins, чтобы объединить 2-е и 3-и интервалы.

sc = modifybins(sc,'CustAge','CutPoints',cp([1 3 4]));
bininfo(sc,'CustAge')
ans=5×6 table
       Bin       Good    Bad     Odds       WOE       InfoValue
    _________    ____    ___    ______    ________    _________

    '[0,25)'       9       8     1.125    -0.58664    0.0052464
    '[25,49)'    465     275    1.6909    -0.17915     0.020355
    '[49,65)'    298     108    2.7593     0.31054     0.030765
    '[65,75]'     31       6    5.1667     0.93781     0.022031
    'Totals'     803     397    2.0227         NaN     0.078397

Отобразите информацию об интервале для категориального предиктора ResStatus.

[bi,cg] = bininfo(sc,'ResStatus');
disp(bi)
        Bin         Good    Bad     Odds        WOE       InfoValue
    ____________    ____    ___    ______    _________    _________

    'Home Owner'    365     177    2.0621     0.019329    0.0001682
    'Tenant'        307     167    1.8383    -0.095564    0.0036638
    'Other'         131      53    2.4717      0.20049    0.0059418
    'Totals'        803     397    2.0227          NaN    0.0097738

Используйте функцию modifybins, чтобы объединить категории 2 и 3.

cg.BinNumber(3) = 2;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
bininfo(sc,'ResStatus')
ans=3×6 table
      Bin       Good    Bad     Odds        WOE       InfoValue 
    ________    ____    ___    ______    _________    __________

    'Group1'    365     177    2.0621     0.019329     0.0001682
    'Group2'    438     220    1.9909    -0.015827    0.00013772
    'Totals'    803     397    2.0227          NaN    0.00030592

Создайте объект creditscorecard (использующий набор данных от Refaat 2011).

load CreditCardData
sc = creditscorecard(data,'IDVar','CustID','GoodLabel',0)
sc = 
  creditscorecard with properties:

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

Для числового предиктора TmAtAddress используйте функцию modifybins, чтобы установить следующие точки разделения:

cp = [30 80 120];
sc = modifybins(sc,'TmAtAddress','CutPoints',cp,'MinValue',0,'MaxValue',210);
bininfo(sc,'TmAtAddress')
ans=5×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue 
    ___________    ____    ___    ______    _________    __________

    '[0,30)'       330     154    2.1429     0.057722     0.0013305
    '[30,80)'      379     201    1.8856    -0.070187     0.0024086
    '[80,120)'      78      36    2.1667     0.068771    0.00044396
    '[120,210]'     16       6    2.6667      0.27641     0.0013301
    'Totals'       803     397    2.0227          NaN     0.0055131

Используйте функцию modifybins, чтобы разделить 2-й интервал.

sc = modifybins(sc,'TmAtAddress','CutPoints',[cp(1) 50 cp(2:end)]);
bininfo(sc,'TmAtAddress')
ans=6×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue 
    ___________    ____    ___    ______    _________    __________

    '[0,30)'       330     154    2.1429     0.057722     0.0013305
    '[30,50)'      211     104    2.0288    0.0030488    2.4387e-06
    '[50,80)'      168      97     1.732     -0.15517      0.005449
    '[80,120)'      78      36    2.1667     0.068771    0.00044396
    '[120,210]'     16       6    2.6667      0.27641     0.0013301
    'Totals'       803     397    2.0227          NaN     0.0085559

Отобразите информацию об интервале для категориального предиктора ResStatus.

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

    'Home Owner'    365     177    2.0621     0.019329    0.0001682
    'Tenant'        307     167    1.8383    -0.095564    0.0036638
    'Other'         131      53    2.4717      0.20049    0.0059418
    'Totals'        803     397    2.0227          NaN    0.0097738

cg=3×2 table
      Category      BinNumber
    ____________    _________

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

Используйте функцию modifybins, чтобы объединить категории 2 и 3.

cg.BinNumber(3) = 2;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
bininfo(sc,'ResStatus')
ans=3×6 table
      Bin       Good    Bad     Odds        WOE       InfoValue 
    ________    ____    ___    ______    _________    __________

    'Group1'    365     177    2.0621     0.019329     0.0001682
    'Group2'    438     220    1.9909    -0.015827    0.00013772
    'Totals'    803     397    2.0227          NaN    0.00030592

Используйте функцию modifybins, чтобы разделить интервал 2 и подвергнуть Other интервалу 3.

cg.BinNumber(3) = 3;
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
        Bin         Good    Bad     Odds        WOE       InfoValue
    ____________    ____    ___    ______    _________    _________

    'Home Owner'    365     177    2.0621     0.019329    0.0001682
    'Tenant'        307     167    1.8383    -0.095564    0.0036638
    'Other'         131      53    2.4717      0.20049    0.0059418
    'Totals'        803     397    2.0227          NaN    0.0097738

cg=3×2 table
      Category      BinNumber
    ____________    _________

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

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

load CreditCardData 
sc = creditscorecard(data);

Используйте modifybins, чтобы сбросить минимальное значение и создать три интервала для предиктора, CustIncome и отображение обновили информацию об интервале.

sc = modifybins(sc,'CustIncome','MinValue',0,'CutPoints',[30000 50000]);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
          Bin          Good    Bad     Odds        WOE       InfoValue
    _______________    ____    ___    _______    ________    _________

    '[0,30000)'         64      68    0.94118    -0.76504     0.070065
    '[30000,50000)'    628     296     2.1216    0.047762    0.0017421
    '[50000,Inf]'      111      33     3.3636      0.5086     0.028028
    'Totals'           803     397     2.0227         NaN     0.099836

Измените метки интервала, и отображение обновило информацию об интервале.

NewLabels = {'Up to 30k','30k to 50k','50k and more'};
sc = modifybins(sc,'CustIncome','BinLabels',NewLabels);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
         Bin          Good    Bad     Odds        WOE       InfoValue
    ______________    ____    ___    _______    ________    _________

    'Up to 30k'        64      68    0.94118    -0.76504     0.070065
    '30k to 50k'      628     296     2.1216    0.047762    0.0017421
    '50k and more'    111      33     3.3636      0.5086     0.028028
    'Totals'          803     397     2.0227         NaN     0.099836

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

Чтобы проиллюстрировать modifybins, заменяющий пользовательские метки каждый раз, интервалы изменяются, сбросьте первую точку разделения к 31 000, и отображение обновило информацию об интервале. Обратите внимание на то, что метки интервала сбрасываются к их формату по умолчанию и точно отражают изменение в точках разделения.

sc = modifybins(sc,'CustIncome','CutPoints',[31000 50000]);
bi = bininfo(sc,'CustIncome')
bi=4×6 table
          Bin          Good    Bad     Odds        WOE       InfoValue
    _______________    ____    ___    _______    ________    _________

    '[0,31000)'         82      84    0.97619    -0.72852     0.079751
    '[31000,50000)'    610     280     2.1786    0.074251    0.0040364
    '[50000,Inf]'      111      33     3.3636      0.5086     0.028028
    'Totals'           803     397     2.0227         NaN      0.11182

Создайте объект creditscorecard с помощью файла CreditCardData.mat, чтобы загрузить dataMissing с отсутствующими значениями.

load CreditCardData.mat 
head(dataMissing,5)
ans=5×11 table
    CustID    CustAge    TmAtAddress     ResStatus     EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance    UtilRate    status
    ______    _______    ___________    ___________    _________    __________    _______    _______    _________    ________    ______

      1          53          62         <undefined>    Unknown        50000         55         Yes       1055.9        0.22        0   
      2          61          22         Home Owner     Employed       52000         25         Yes       1161.6        0.24        0   
      3          47          30         Tenant         Employed       37000         61         No        877.23        0.29        0   
      4         NaN          75         Home Owner     Employed       53000         20         Yes       157.37        0.08        0   
      5          68          56         Home Owner     Employed       53000         14         Yes       561.84        0.11        0   

fprintf('Number of rows: %d\n',height(dataMissing))
Number of rows: 1200
fprintf('Number of missing values CustAge: %d\n',sum(ismissing(dataMissing.CustAge)))
Number of missing values CustAge: 30
fprintf('Number of missing values ResStatus: %d\n',sum(ismissing(dataMissing.ResStatus)))
Number of missing values ResStatus: 40

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

sc = creditscorecard(dataMissing,'IDVar','CustID','BinMissingData',true);
sc = autobinning(sc);

disp(sc)
  creditscorecard with properties:

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

Отобразите информацию об интервале для числовых данных для 'CustAge', который включает недостающие данные в отдельный интервал, маркировал <missing>.

[bi,cp] = bininfo(sc,'CustAge');
disp(bi)
        Bin        Good    Bad     Odds       WOE       InfoValue 
    ___________    ____    ___    ______    ________    __________

    '[-Inf,33)'     69      52    1.3269    -0.42156      0.018993
    '[33,37)'       63      45       1.4    -0.36795      0.012839
    '[37,40)'       72      47    1.5319     -0.2779     0.0079824
    '[40,46)'      172      89    1.9326    -0.04556     0.0004549
    '[46,48)'       59      25      2.36     0.15424     0.0016199
    '[48,51)'       99      41    2.4146     0.17713     0.0035449
    '[51,58)'      157      62    2.5323     0.22469     0.0088407
    '[58,Inf]'      93      25      3.72     0.60931      0.032198
    '<missing>'     19      11    1.7273    -0.15787    0.00063885
    'Totals'       803     397    2.0227         NaN      0.087112
plotbins(sc,'CustAge')

Для числового предиктора CustAge удалите точки разделения 48 и 51 и затем используйте modifybins, чтобы задать 'MinValue' 0, чтобы вручную изменить раскладывание и заметить, что это не влияет на данные в интервале <missing>, и интервал <missing> остается в конце.

cp(cp==48) = [];
cp(cp==51) = []; 
sc = modifybins(sc,'CustAge','CutPoints',cp,'MinValue',0); 
bi = bininfo(sc,'CustAge');
disp(bi)
        Bin        Good    Bad     Odds       WOE       InfoValue 
    ___________    ____    ___    ______    ________    __________

    '[0,33)'        69      52    1.3269    -0.42156      0.018993
    '[33,37)'       63      45       1.4    -0.36795      0.012839
    '[37,40)'       72      47    1.5319     -0.2779     0.0079824
    '[40,46)'      172      89    1.9326    -0.04556     0.0004549
    '[46,58)'      315     128    2.4609     0.19612      0.013701
    '[58,Inf]'      93      25      3.72     0.60931      0.032198
    '<missing>'     19      11    1.7273    -0.15787    0.00063885
    'Totals'       803     397    2.0227         NaN      0.086808
plotbins(sc,'CustAge')

Отобразите информацию об интервале для категориальных данных для 'ResStatus', который включает недостающие данные в отдельный интервал, маркировал <missing>.

[bi,cg] = bininfo(sc,'ResStatus');
disp(bi)
        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
plotbins(sc,'ResStatus')

Для категориального предиктора ResStatus используйте modifybins, чтобы вручную объединить 'HomeOwner' и 'Other' в одну группу путем присваивания того же номера интервала этим категориям. Заметьте, что это не влияет на данные в интервале <missing>, и интервал <missing> остается в конце.

cg.BinNumber(3) = 2; 
sc = modifybins(sc,'ResStatus','CatGrouping',cg);
[bi,cg] = bininfo(sc,'ResStatus'); 
disp(bi) 
        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
disp(cg) 
      Category      BinNumber
    ____________    _________

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

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

свернуть все

Модель протокола результатов кредита, заданная как объект creditscorecard. Используйте creditscorecard, чтобы создать объект creditscorecard.

Имя предиктора, заданного как вектор символов, содержащий имя предиктора. PredictorName является чувствительным к регистру.

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

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

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

Пример: sc = modifybins(sc,PredictorName,'MinValue',10,'CutPoints',[23, 44, 66, 88])

Минимальное приемлемое значение, заданное как пара, разделенная запятой, состоящая из 'MinValue' и числового значения (только для числовых предикторов). Значения ниже этого номера рассматриваются из области значений.

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

Максимальное приемлемое значение, заданное как пара, разделенная запятой, состоящая из 'MaxValue' и числового значения (только для числовых предикторов). Значения выше этого номера рассматриваются из области значений.

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

Разделите точки между интервалами, заданными как пара, разделенная запятой, состоящая из 'CutPoints' и не уменьшающегося числового массива. Если существуют интервалы NumBins, существует n = NumBins – точки разделения 1 так, чтобы C1, C2..., Cn описали контуры интервала со следующим соглашением:

  • Первый интервал включает любые значения> = MinValue, но <C1.

  • Второй интервал включает любые значения> = C1, но <C2.

  • Последний интервал включает любые значения> = Cn, и <= MaxValue.

Примечание

Точки разделения не включают MinValue или MaxValue.

По умолчанию точки разделения заданы так, чтобы каждая наблюдаемая величина предиктора была помещена в отдельный интервал. Если отсортированные наблюдаемые величины являются V1, …, VM, точки разделения по умолчанию являются V2, …, VM, которые задают интервалы M.

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

Таблица с двумя столбцами под названием Category и BinNumber, заданный как пара, разделенная запятой, состоящая из 'CatGrouping' и таблицы, где первый столбец содержит исчерпывающий список категорий для предиктора и второй столбец, содержит номер интервала, которому принадлежит каждая категория.

По умолчанию каждая категория помещается в отдельный интервал. Если наблюдаемые категории являются ' Cat1' …, ' CatM', группировка категории по умолчанию следующие.

КатегорияBinNumber
' Cat1'1
' Cat2'2
......
' CatM’'M

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

Интервал маркирует для каждого интервала, заданного как пара, разделенная запятой, состоящая из 'BinLabels' и массива ячеек из символьных векторов с именами метки интервала.

Примечание

'BinLabels' не поддерживает значение <missing>.

Метки интервала используются, чтобы пометить интервалы в различных объектных функциях, таких как bininfo, plotbins и displaypoints. Объект creditscorecard автоматически устанавливает интервалы по умолчанию каждый раз, когда интервалы изменяются. Формат по умолчанию для меток интервала зависит от типа предиктора.

Формат для BinLabels:

  • Числовые данные — Перед любой ручной или автоматической модификацией интервалов предиктора, существует интервал для каждого наблюдаемого значения предиктора по умолчанию. В этом случае метки интервала просто показывают значения предиктора. Если интервалы предиктора были изменены, существуют значения не по умолчанию для MinValue или MaxValue или точек разделения не по умолчанию C1, C2..., Cn. В этом случае метки интервала:

    • Интервал 1 метка: '[ MinValue, C1) '

    • Интервал 2 метки: '[C1, C2) '

    • Последняя метка интервала: '[Cn, MaxValue ]'

    Например, если существует три интервала, MinValue 0, и MaxValue равняется 40, и точка разделения 1 равняется 20, и точка разделения 2 равняется 30, то соответствующие три метки интервала:

    '[0,20)'
    '[20,30)'
    '[30,40]'

  • Категориальные данные — Для категориальных данных, перед любой модификацией интервалов предиктора, существуют один интервал на категорию. В этом случае метки интервала просто показывают категории предиктора. Если интервалы были изменены, метки установлены в 'Group1', 'Group2', и так далее, для интервала 1, интервал 2, и так далее, соответственно. Например, предположите, что у нас есть следующая группировка категории

    КатегорияBinNumber
    ' Cat1'1
    ' Cat2'2
    ' Cat3'2

    Интервал 1 содержит 'Cat1' только, и его метка интервала установлена в 'Group1'. Интервал 2 содержит 'Cat2' и 'Cat3', и его метка интервала установлена в 'Group2'.

Совет

Используя BinLabels должен быть последний шаг (в случае необходимости) в изменении интервалов. определения BinLabels заменены каждый раз, когда интервалы изменяются с помощью функций autobinning или modifybins.

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

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

свернуть все

Модель протокола результатов кредита, возвращенная как обновленный объект creditscorecard. Для получения дополнительной информации об использовании объекта creditscorecard смотрите creditscorecard.

Ссылки

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

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

Введенный в R2014b