bindata

Сгруппированные переменные прогноза

Синтаксис

bdata = bindata(sc)
bdata = bindata(sc,data)
bdata = bindata(sc,Name,Value)

Описание

пример

bdata = bindata(sc) сгруппированные переменные прогноза, возвращенные как таблица. Это - таблица, одного размера как ввод данных, но только предикторы, заданные в свойстве PredictorVars объекта creditscorecard, сгруппированы, и остающиеся единицы неизменны.

пример

bdata = bindata(sc,data) возвращает таблицу сгруппированных переменных прогноза. bindata возвращает таблицу, одного размера как данные creditscorecard, но только предикторы, заданные в свойстве PredictorVars объекта creditscorecard, сгруппированы, и остающиеся единицы неизменны.

пример

bdata = bindata(sc,Name,Value) сгруппированные переменные прогноза, возвращенные как таблица с помощью дополнительных аргументов пары "имя-значение". Это - таблица, одного размера как ввод данных, но только предикторы, заданные в свойстве PredictorVars объекта creditscorecard, сгруппированы, и остающиеся единицы неизменны.

Примеры

свернуть все

Этот пример показывает, как использовать функцию bindata для просто интервала или дискретизировать данные.

Предположим области значений интервала

  • 'от 0 до 30'

  • '31 - 50'

  • '51 и'

определяются для переменной возраста (через ручное или автоматическое раскладывание). Если точка данных с возрастом 41 дана, раскладывание это, точка данных означает помещать его в интервал для 41 года, который является вторым интервалом, или '31 - 50' интервал. Раскладывание является затем отображением от исходных данных в дискретные группы или интервалы. В этом примере можно сказать, что 41-летний сопоставлен в интервал номер 2, или что это сгруппировано в '31 - 50' категория. Если вы знаете значение Веса доказательства (WOE) для каждого из этих трех интервалов, вы могли бы также заменить точку данных 41 на значение WOE, соответствующее второму интервалу. bindata поддерживает три формата раскладывания, только упомянутые:

  • Номер интервала (где аргумент пары "имя-значение" 'OutputType' установлен в 'BinNumber'); это - опция по умолчанию, и в этом случае, 41 сопоставлен с интервалом 2.

  • Категориальный (где аргумент пары "имя-значение" 'OutputType' установлен в 'Categorical'); в этом случае, 41 сопоставлен с '31 - 50' интервал.

  • Значение WOE (где аргумент пары "имя-значение" 'OutputType' установлен в 'WOE'); в этом случае, 41 сопоставлен со значением WOE интервала номер 2.

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

load CreditCardData 
sc = creditscorecard(data,'IDVar','CustID')
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]

Выполните автоматическое раскладывание.

sc = autobinning(sc);

Покажите информацию об интервале для 'CustAge'.

bininfo(sc,'CustAge')
ans=8×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue
    ___________    ____    ___    ______    _________    _________

    '[-Inf,33)'     70      53    1.3208     -0.42622     0.019746
    '[33,37)'       64      47    1.3617     -0.39568     0.015308
    '[37,40)'       73      47    1.5532     -0.26411    0.0072573
    '[40,46)'      174      94    1.8511    -0.088658     0.001781
    '[46,48)'       61      25      2.44      0.18758    0.0024372
    '[48,58)'      263     105    2.5048      0.21378     0.013476
    '[58,Inf]'      98      26    3.7692      0.62245       0.0352
    'Totals'       803     397    2.0227          NaN     0.095205

Это первые 10 значений возраста в исходных данных, используемых, чтобы создать объект creditscorecard.

data(1:10,'CustAge')
ans=10×1 table
    CustAge
    _______

      53   
      61   
      47   
      50   
      68   
      65   
      34   
      50   
      50   
      49   

Данные о протоколе результатов интервала в числа интервала (поведение по умолчанию).

bdata = bindata(sc);

Согласно информации об интервале, первый возраст должен быть сопоставлен в четвертый интервал, второй возраст в пятый интервал, и т.д. Это первые 10 сгруппированных возрастов в числовом формате интервала.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge
    _______

       6   
       7   
       5   
       6   
       7   
       7   
       2   
       6   
       6   
       6   

Интервал данные о протоколе результатов и показывает их метки интервала. Для этого установите аргумент пары "имя-значение" bindata для 'OutputType' к 'Categorical'.

bdata = bindata(sc,'OutputType','Categorical');

Это первые 10 сгруппированных возрастов в категориальном формате.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

    [48,58) 
    [58,Inf]
    [46,48) 
    [48,58) 
    [58,Inf]
    [58,Inf]
    [33,37) 
    [48,58) 
    [48,58) 
    [48,58) 

Преобразуйте данные о протоколе результатов в значения WOE. Для этого установите аргумент пары "имя-значение" bindata для 'OutputType' к 'WOE'.

bdata = bindata(sc,'OutputType','WOE');

Это первые 10 сгруппированных возрастов в формате WOE. Возрасты сопоставлены со значениями WOE, которые внутренне отображены с помощью функции bininfo.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

     0.21378
     0.62245
     0.18758
     0.21378
     0.62245
     0.62245
    -0.39568
     0.21378
     0.21378
     0.21378

Этот пример показывает, как использовать дополнительный вход функции bindata для данных к интервалу. Если не, если, интервалы bindata данные тренировки creditscorecard. Однако, если различный набор данных должен быть сгруппирован, например, некоторые "тестовые" данные, это может быть передано в bindata как дополнительный вход.

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

load CreditCardData 
sc = creditscorecard(data,'IDVar','CustID')
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]

Выполните автоматическое раскладывание.

sc = autobinning(sc);

Покажите информацию об интервале для 'CustAge'.

bininfo(sc,'CustAge')
ans=8×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue
    ___________    ____    ___    ______    _________    _________

    '[-Inf,33)'     70      53    1.3208     -0.42622     0.019746
    '[33,37)'       64      47    1.3617     -0.39568     0.015308
    '[37,40)'       73      47    1.5532     -0.26411    0.0072573
    '[40,46)'      174      94    1.8511    -0.088658     0.001781
    '[46,48)'       61      25      2.44      0.18758    0.0024372
    '[48,58)'      263     105    2.5048      0.21378     0.013476
    '[58,Inf]'      98      26    3.7692      0.62245       0.0352
    'Totals'       803     397    2.0227          NaN     0.095205

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

tdata = data(101:110,:);
tdata(1:10,'CustAge')
ans=10×1 table
    CustAge
    _______

      34   
      59   
      64   
      61   
      28   
      65   
      55   
      37   
      49   
      51   

Преобразуйте тестовые данные в значения WOE. Для этого установите аргумент пары "имя-значение" bindata для 'OutputType' к 'WOE', передав тестовые данные (tdata) как дополнительный вход.

bdata = bindata(sc,tdata,'OutputType','WOE')
bdata=10×11 table
    CustID    CustAge     TmAtAddress    ResStatus    EmpStatus    CustIncome    TmWBank     OtherCC     AMBalance    UtilRate    status
    ______    ________    ___________    _________    _________    __________    ________    ________    _________    ________    ______

     101      -0.39568     -0.087767     -0.095564      0.2418     -0.011271      0.76889    0.053364    -0.11274     0.048576      0   
     102       0.62245       0.14288      0.019329    -0.19947       0.20579     -0.13107    -0.26832    -0.11274     0.048576      1   
     103       0.62245       0.02263      0.019329      0.2418       0.47972     -0.12109    0.053364     0.24418     0.092164      0   
     104       0.62245       0.02263     -0.095564      0.2418       0.47972     -0.12109    0.053364     0.24418     0.048576      0   
     105      -0.42622       0.02263      0.019329      0.2418      -0.06843      0.76889    0.053364    -0.11274     0.092164      0   
     106       0.62245       0.02263      0.019329    -0.19947       0.20579     -0.13107    0.053364    -0.11274     -0.22899      0   
     107       0.21378     -0.087767     -0.095564      0.2418       0.47972      0.26704    0.053364    -0.11274     0.048576      0   
     108      -0.26411     -0.087767      0.019329    -0.19947      -0.29217     -0.13107    0.053364    -0.11274     0.048576      0   
     109       0.21378     -0.087767     -0.095564      0.2418     -0.026696     -0.13107    0.053364     0.24418     0.048576      0   
     110       0.21378     -0.087767      0.019329      0.2418       0.20579     -0.13107    0.053364    -0.29895     -0.22899      0   

Это первые 10 сгруппированных возрастов в формате WOE. Возрасты сопоставлены со значениями WOE, отображенными внутренне bininfo.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

    -0.39568
     0.62245
     0.62245
     0.62245
    -0.42622
     0.62245
     0.21378
    -0.26411
     0.21378
     0.21378

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

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   

Используйте 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')

Отобразите и постройте информацию об интервале для категориальных данных для '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')

Для 'CustAge' и предикторов 'ResStatus', там пропускает данные (NaN s и <undefined>) в данных тренировки, и процесс раскладывания оценивает значение WOE -0.15787 и 0.026469 соответственно для недостающих данных в этих предикторах, как показано выше.

В целях рисунка возьмите несколько строк из исходных данных как тестовые данные и введите некоторые недостающие данные.

tdata = dataMissing(11:14,:);
tdata.CustAge(1) = NaN;
tdata.TmAtAddress(2) = NaN;
tdata.ResStatus(3) = '<undefined>';
tdata.EmpStatus(4) = '<undefined>';
disp(tdata)
    CustID    CustAge    TmAtAddress     ResStatus      EmpStatus     CustIncome    TmWBank    OtherCC    AMBalance    UtilRate    status
    ______    _______    ___________    ___________    ___________    __________    _______    _______    _________    ________    ______

      11        NaN           24        Tenant         Unknown          34000         44         Yes        119.8        0.07        1   
      12         48          NaN        Other          Unknown          44000         14         Yes       403.62        0.03        0   
      13         65           63        <undefined>    Unknown          48000          6         No        111.88        0.02        0   
      14         44           75        Other          <undefined>      41000         35         No        436.41        0.18        0   

Преобразуйте тестовые данные в значения WOE. Для этого установите аргумент пары "имя-значение" bindata для 'OutputType' к 'WOE', передав тестовые данные tdata как дополнительный вход.

bdata = bindata(sc,tdata,'OutputType','WOE');
disp(bdata)
    CustID    CustAge     TmAtAddress    ResStatus    EmpStatus    CustIncome    TmWBank     OtherCC     AMBalance    UtilRate    status
    ______    ________    ___________    _________    _________    __________    ________    ________    _________    ________    ______

      11      -0.15787      0.02263      -0.095463    -0.19947      -0.06843     -0.12109    0.053364     0.24418     0.048576      1   
      12       0.17713          NaN        0.19637    -0.19947       0.20579     -0.13107    0.053364     0.24418     0.092164      0   
      13       0.60931      0.02263       0.026469    -0.19947       0.47972     -0.25547    -0.26832     0.24418     0.092164      0   
      14      -0.04556      0.02263        0.19637         NaN     -0.011271     -0.12109    -0.26832     0.24418     0.048576      0   

Для 'CustAge' и предикторов 'ResStatus', потому что там пропускает данные в данных тренировки, отсутствующие значения в тестовых данных сопоставлены со значением WOE, оцененным для интервала <missing>. Поэтому отсутствующее значение для 'CustAge' заменяется -0.15787, и отсутствующее значение для 'ResStatus' заменяется 0.026469.

Для 'TmAtAddress' и 'EmpStatus', данные тренировки не имеют никаких отсутствующих значений, поэтому нет никакого интервала для недостающих данных, и нет никакого способа оценить значение WOE для недостающих данных. Поэтому для этих предикторов, преобразование WOE оставляет отсутствующие значения как отсутствующий (то есть, устанавливает значение WOE NaN).

Эти правила применяются, когда 'OutputType' установлен в 'WOE' или 'WOEModelInput'. Объяснение - то, что, если основанное на данных значение WOE существует для недостающих данных, оно должно использоваться для преобразования WOE и для последующих шагов (например, соответствуя логистической модели или выигрывая).

С другой стороны, когда 'OutputType' установлен в 'BinNumber' или 'Categorical', bindata оставляет отсутствующие значения столь недостающими, поскольку это позволяет вам впоследствии обрабатывать недостающие данные, как вы считаете целесообразным.

Например, когда 'OutputType' установлен в 'BinNumber', отсутствующие значения установлены к NaN:

bdata = bindata(sc,tdata,'OutputType','BinNumber');
disp(bdata)
    CustID    CustAge    TmAtAddress    ResStatus    EmpStatus    CustIncome    TmWBank    OtherCC    AMBalance    UtilRate    status
    ______    _______    ___________    _________    _________    __________    _______    _______    _________    ________    ______

      11        NaN            2             1            1           3            3          2           1           2          1   
      12          6          NaN             3            1           6            2          2           1           1          0   
      13          8            2           NaN            1           7            1          1           1           1          0   
      14          4            2             3          NaN           5            3          1           1           2          0   

И когда 'OutputType' установлен в 'Categorical', отсутствующие значения установлены к '<undefined>':

bdata = bindata(sc,tdata,'OutputType','Categorical');
disp(bdata)
    CustID      CustAge      TmAtAddress     ResStatus      EmpStatus      CustIncome       TmWBank     OtherCC      AMBalance       UtilRate      status
    ______    ___________    ___________    ___________    ___________    _____________    _________    _______    _____________    ___________    ______

      11      <undefined>    [23,83)        Tenant         Unknown        [33000,35000)    [23,45)        Yes      [-Inf,558.88)    [0.04,0.36)      1   
      12      [48,51)        <undefined>    Other          Unknown        [42000,47000)    [12,23)        Yes      [-Inf,558.88)    [-Inf,0.04)      0   
      13      [58,Inf]       [23,83)        <undefined>    Unknown        [47000,Inf]      [-Inf,12)      No       [-Inf,558.88)    [-Inf,0.04)      0   
      14      [40,46)        [23,83)        Other          <undefined>    [40000,42000)    [23,45)        No       [-Inf,558.88)    [0.04,0.36)      0   

bindata поддерживает следующие типы преобразования WOE:

  • Когда аргумент значения имени 'OutputType' установлен в 'WOE', bindata просто применяет преобразование WOE ко всем предикторам и сохраняет остальную часть переменных в исходных данных на месте и неизменный.

  • Когда аргумент пары "имя-значение" 'OutputType' установлен в 'WOEModelInput', bindata возвращает таблицу, которая может использоваться непосредственно в качестве входа для подбора кривой модели логистической регрессии для протокола результатов. В этом случае, bindata:

  • Применяет преобразование WOE ко всем предикторам.

  • Возвращает переменные прогноза, но никакой IDVar или неиспользуемые переменные не включены в вывод.

  • Включает сопоставленную переменную отклика как последний столбец.

  • Вызовы функции fitmodel bindata внутренне с помощью опции 'WOEModelInput', чтобы соответствовать модели логистической регрессии для модели creditscorecard.

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

load CreditCardData 
sc = creditscorecard(data,'IDVar','CustID')
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]

Выполните автоматическое раскладывание.

sc = autobinning(sc);

Покажите информацию об интервале для 'CustAge'.

bininfo(sc,'CustAge')
ans=8×6 table
        Bin        Good    Bad     Odds        WOE       InfoValue
    ___________    ____    ___    ______    _________    _________

    '[-Inf,33)'     70      53    1.3208     -0.42622     0.019746
    '[33,37)'       64      47    1.3617     -0.39568     0.015308
    '[37,40)'       73      47    1.5532     -0.26411    0.0072573
    '[40,46)'      174      94    1.8511    -0.088658     0.001781
    '[46,48)'       61      25      2.44      0.18758    0.0024372
    '[48,58)'      263     105    2.5048      0.21378     0.013476
    '[58,Inf]'      98      26    3.7692      0.62245       0.0352
    'Totals'       803     397    2.0227          NaN     0.095205

Это первые 10 значений возраста в исходных данных, используемых, чтобы создать объект creditscorecard.

data(1:10,'CustAge')
ans=10×1 table
    CustAge
    _______

      53   
      61   
      47   
      50   
      68   
      65   
      34   
      50   
      50   
      49   

Преобразуйте тестовые данные в значения WOE. Для этого установите аргумент пары "имя-значение" bindata для 'OutputType' к 'WOE'.

bdata = bindata(sc,'OutputType','WOE');

Это первые 10 сгруппированных возрастов в формате WOE. Возрасты сопоставлены со значениями WOE, отображенными внутренне bininfo.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

     0.21378
     0.62245
     0.18758
     0.21378
     0.62245
     0.62245
    -0.39568
     0.21378
     0.21378
     0.21378

Это первые 10 сгруппированных возрастов в формате WOE. Возрасты сопоставлены со значениями WOE, отображенными внутренне bininfo.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

     0.21378
     0.62245
     0.18758
     0.21378
     0.62245
     0.62245
    -0.39568
     0.21378
     0.21378
     0.21378

Размер исходных данных и размер bdata, вывод является тем же самым, потому что bindata оставляет неиспользуемые переменные (такие как 'IDVar') неизменными и на месте.

whos data bdata
  Name          Size             Bytes  Class    Attributes

  bdata      1200x11            109204  table              
  data       1200x11             84876  table              

Значения ответа являются тем же самым в исходных данных и в сгруппированных данных, потому что по умолчанию bindata не изменяет значения ответа.

disp([data.status(1:10) bdata.status(1:10)])
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     1     1
     0     0
     1     1
     1     1

При подборе кривой модели логистической регрессии данными WOE, набор аргумент пары "имя-значение" 'OutputType' 'WOEModelInput'.

bdata = bindata(sc,'OutputType','WOEModelInput');

Сгруппированные данные о предикторе эквивалентны, когда аргумент пары "имя-значение" 'OutputType' установлен в 'WOE'.

bdata(1:10,'CustAge')
ans=10×1 table
    CustAge 
    ________

     0.21378
     0.62245
     0.18758
     0.21378
     0.62245
     0.62245
    -0.39568
     0.21378
     0.21378
     0.21378

Однако размер исходных данных и размер bdata вывод отличаются. Это вызвано тем, что bindata удаляет неиспользуемые переменные (такие как 'IDVar').

whos data bdata
  Name          Size            Bytes  Class    Attributes

  bdata      1200x10            99368  table              
  data       1200x11            84876  table              

Значения ответа также изменяются в этом случае и сопоставлены так, чтобы "Хороший" был 1 и "Плохо" был 0.

disp([data.status(1:10) bdata.status(1:10)])
     0     1
     0     1
     0     1
     0     1
     0     1
     0     1
     1     0
     0     1
     1     0
     1     0

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

свернуть все

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

Данные к интервалу, учитывая набор правил в объекте creditscorecard, заданное использование таблицы. По умолчанию data установлен в необработанные данные объекта creditscorecard.

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

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

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

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

Пример: bdata = bindata(sc,'OutputType','WOE','ResponseFormat','Mapped')

Выходной формат, заданный как пара, разделенная запятой, состоящая из 'OutputType' и вектора символов со следующими значениями:

  • BinNumber — Возвращает числа интервала, соответствующие каждому наблюдению.

  • Категориальный Возвращает метку интервала, соответствующую каждому наблюдению.

  • WOE — Возвращает Вес доказательства (WOE), соответствующий каждому наблюдению.

  • WOEModelInput — Используйте эту опцию при подбирании модели. Эта опция:

    • Возвращает Вес доказательства (WOE), соответствующий каждому наблюдению.

    • Возвращает переменные прогноза, но никакой IDVar или неиспользуемые переменные не включены в вывод.

    • Отбрасывания любые предикторы, интервалы которых имеют Inf или NaN значения WOE.

    • Включает сопоставленную переменную отклика как последний столбец.

    Примечание

    Когда аргумент пары "имя-значение" bindata, 'OutputType' установлен в 'WOEModelInput', bdata вывод только, содержит столбцы, соответствующие предикторам, интервалы которых не имеют Inf или значений Веса доказательства (WOE) NaN, и bdata включает сопоставленный ответ как последний столбец.

    Недостающие данные (если таковые имеются) включены в bdata вывод как недостающие данные также и не влияют на правила отбросить предикторы, когда 'OutputType' установлен в 'WOEModelInput'.

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

Формат значений ответа, заданный как пара, разделенная запятой, состоящая из 'ResponseFormat' и вектора символов со следующими значениями:

  • RawData — Переменная отклика копируется неизменная в bdata вывод.

  • Mapped — Значения ответа изменяются (при необходимости) так, чтобы "Хороший" был сопоставлен с 1, и "Плохо" был сопоставлен с 0.

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

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

свернуть все

Сгруппированные переменные прогноза, возвращенные как таблица. Это - таблица, одного размера (см. исключение в следующем Примечании) как ввод данных, но только предикторы, заданные в свойстве PredictorVars объекта creditscorecard, сгруппированы и остающиеся единицы неизменны.

Примечание

Когда аргумент пары "имя-значение" bindata, 'OutputType' установлен в 'WOEModelInput', bdata вывод только, содержит столбцы, соответствующие предикторам, интервалы которых не имеют Inf или значений Веса доказательства (WOE) NaN, и bdata включает сопоставленный ответ как последний столбец.

Недостающие данные (если таковые имеются) включены в bdata вывод как недостающие данные также и не влияют на правила отбросить предикторы, когда 'OutputType' установлен в 'WOEModelInput'.

Ссылки

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

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

Введенный в R2014b