bindata

Привязанные переменные предиктора

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

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

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

  • от '0 до 30'

  • '31 - 50'

  • '51 и up'

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

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

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

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

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

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 связанных возрастов в формате bin-number.

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 связанных возрастов в формате ГОРЕ. Возраст сопоставлен со значениями ГОРЕ, которые внутренне отображаются с помощью 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' содержит идентификационную информацию и не должен включаться в качестве переменной предиктора.

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 связанных возрастов в формате ГОРЕ. Возраст сопоставлен со значениями ГОРЕ, отображаемыми внутри 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')

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

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

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

Для 'CustAge' и 'ResStatus' предикторы, отсутствуют данные (NaNs и <undefined>) в обучающих данных и процессе раскладывания оценивает значение ГОРЕ -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', обучающие данные не имеют отсутствующих значений, поэтому отсутствует интервал для недостающих данных, и нет способа оценить значение ГОРЕ для недостающих данных. Поэтому для этих предикторов преобразование ГОРЕ оставляет отсутствующие значения отсутствующими (то есть устанавливает значение ГОРЕ NaN).

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

С другой стороны, когда '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 поддерживает следующие типы преобразования ГОРЕ:

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

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

  • Применяет преобразование ГОРЕ ко всем предикторам.

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

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

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

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

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 связанных возрастов в формате ГОРЕ. Возраст сопоставлен со значениями ГОРЕ, отображаемыми внутри 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 связанных возрастов в формате ГОРЕ. Возраст сопоставлен со значениями ГОРЕ, отображаемыми внутри 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            108987  table              
  data       1200x11             84603  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            99167  table              
  data       1200x11            84603  table              

Значения отклика также изменяются в этом случае и отображаются так, что «Good» 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 - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

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

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

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

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

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

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

    • Отбрасывает все предикторы, чьи интервалы имеют Inf или NaN Значения ГОРЕ.

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

    Примечание

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

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

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

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

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

  • Mapped - Значения отклика изменяются (при необходимости) так, чтобы «Good» отображался в 1, и «Bad» сопоставлен с 0.

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

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

свернуть все

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

Примечание

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

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

Ссылки

[1] Anderson, R. The Credit Scoring Toolkit. Oxford University Press, 2007.

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

Введенный в R2014b