plotbins

Гистограмма графика значит переменные прогноза

Синтаксис

plotbins(sc,PredictorName)
hFigure = plotbins(sc,PredictorName)
hFigure = plotbins(___,Name,Value)

Описание

пример

plotbins(sc,PredictorName) гистограмма графиков значит данные переменные прогноза. Когда интервалы предиктора будут изменены с помощью modifybins или autobinning, повторно выполните plotbins, чтобы обновить фигуру, чтобы отразить изменение.

пример

hFigure = plotbins(sc,PredictorName) возвращает указатель на фигуру. plotbins строит счета гистограммы данного переменные прогноза. Когда интервалы предиктора будут изменены с помощью modifybins или autobinning, повторно выполните plotbins, чтобы обновить фигуру, чтобы отразить изменение.

пример

hFigure = plotbins(___,Name,Value) возвращает указатель на фигуру. plotbins строит счета гистограммы данного переменные прогноза с помощью дополнительных аргументов пары "имя-значение". Когда интервалы предиктора будут изменены с помощью modifybins или autobinning, повторно выполните plotbins, чтобы обновить фигуру, чтобы отразить изменение.

Примеры

свернуть все

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

load CreditCardData 
sc = creditscorecard(data);

Выполните автоматическое раскладывание для входного параметра PredictorName для CustIncome с помощью значений по умолчанию для алгоритма Monotone.

sc = autobinning(sc, 'CustIncome')
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]

Используйте bininfo, чтобы отобразить автосгруппированные данные.

[bi, cp] = bininfo(sc, 'CustIncome')
bi=8×6 table
          Bin          Good    Bad     Odds         WOE       InfoValue 
    _______________    ____    ___    _______    _________    __________

    '[-Inf,29000)'      53      58    0.91379     -0.79457       0.06364
    '[29000,33000)'     74      49     1.5102     -0.29217     0.0091366
    '[33000,35000)'     68      36     1.8889     -0.06843    0.00041042
    '[35000,40000)'    193      98     1.9694    -0.026696    0.00017359
    '[40000,42000)'     68      34          2    -0.011271    1.0819e-05
    '[42000,47000)'    164      66     2.4848      0.20579     0.0078175
    '[47000,Inf]'      183      56     3.2679      0.47972      0.041657
    'Totals'           803     397     2.0227          NaN       0.12285

cp = 6×1

       29000
       33000
       35000
       40000
       42000
       47000

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

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

    '[-Inf,29000)'      53      58    0.91379     -0.79457       0.06364
    '[29000,35000)'    142      85     1.6706     -0.19124     0.0071274
    '[35000,40000)'    193      98     1.9694    -0.026696    0.00017359
    '[40000,42000)'     68      34          2    -0.011271    1.0819e-05
    '[42000,47000)'    164      66     2.4848      0.20579     0.0078175
    '[47000,Inf]'      183      56     3.2679      0.47972      0.041657
    'Totals'           803     397     2.0227          NaN       0.12043

Постройте счет гистограммы для обновленной информации об интервале для PredictorName по имени CustIncome.

plotbins(sc,'CustIncome')
xtickangle(30)
legend('Location','north')

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

load CreditCardData 
sc = creditscorecard(data);

Выполните автоматическое раскладывание для входного параметра PredictorName для CustIncome с помощью значений по умолчанию для алгоритма Monotone.

sc = autobinning(sc, 'CustIncome')
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]

Используйте bininfo, чтобы отобразить автосгруппированные данные.

[bi, cp] = bininfo(sc, 'CustIncome')
bi=8×6 table
          Bin          Good    Bad     Odds         WOE       InfoValue 
    _______________    ____    ___    _______    _________    __________

    '[-Inf,29000)'      53      58    0.91379     -0.79457       0.06364
    '[29000,33000)'     74      49     1.5102     -0.29217     0.0091366
    '[33000,35000)'     68      36     1.8889     -0.06843    0.00041042
    '[35000,40000)'    193      98     1.9694    -0.026696    0.00017359
    '[40000,42000)'     68      34          2    -0.011271    1.0819e-05
    '[42000,47000)'    164      66     2.4848      0.20579     0.0078175
    '[47000,Inf]'      183      56     3.2679      0.47972      0.041657
    'Totals'           803     397     2.0227          NaN       0.12285

cp = 6×1

       29000
       33000
       35000
       40000
       42000
       47000

Постройте информацию об интервале для CustIncome без строки Веса доказательства (WOE) и без легенды путем установки 'WOE' и аргументов значения имени 'Legend' к 'Off'. Кроме того, установите аргумент пары "имя-значение" 'BinText' 'PercentRows' показывать текстом по панелям графика для пропорции "Хороших" и "Плохих" в каждом интервале, то есть, вероятности "Хороших" и "Плохих" в каждом интервале.

plotbins(sc,'CustIncome','WOE','Off','Legend','Off','BinText','PercentRows')
xtickangle(30)

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

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')

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

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

свернуть все

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

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

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

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

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

Пример: plotbins(sc,PredictorName,'BinText','Count','WOE','On')

Информация, чтобы отобразиться сверху нанесенных на график количеств интервала, заданных как пара, разделенная запятой, состоящая из 'BinText' и вектора символов со значениями:

  • 'none' Никакой текст не отображен сверх интервалов.

  • Количество Для каждого интервала, отображает счет “Хорошего” и “Плохого”.

  • PercentRows — Для каждого интервала, отображает счет “Хорошего” и “Плохого” как процент количества наблюдений в интервале.

  • PercentCols — Для каждого интервала, отображает счет “Хорошего” и “Плохого” как процент общей “Пользы” и общего “Плохо” в целой выборке.

  • PercentTotal — Для каждого интервала, отображает счет “Хорошего” и “Плохого” как процент общего количества наблюдений в целой выборке.

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

Индикатор для строки Веса доказательства (WOE), заданной как пара, разделенная запятой, состоящая из 'WOE' и вектора символов со значениями On или Off. Когда установлено в On, график WOE построен сверху гистограммы.

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

Индикатор для легенды на графике, заданном как пара, разделенная запятой, состоящая из 'Legend' и вектора символов со значениями On или Off.

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

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

свернуть все

Изобразите указатель для графика гистограммы для переменных прогноза, возвращенных как объект фигуры или массив объектов фигуры, если больше чем один PredictorName задан как вход.

Ссылки

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

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

Введенный в R2014b