plotbins

Постройте счетчики гистограммы для переменных

Описание

пример

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

Вручную удалите вторую точку разреза (контур между вторым и третьим интервалами), чтобы объединить интервалы 2 и 3. Используйте 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')

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

Создайте 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' и 'Legend' аргументы имя-значение в 'Off'. Также установите 'BinText' аргумент пары "имя-значение" в 'PercentRows' отображение в виде текста на строках графика пропорции «Хорошо» и «Плохо» внутри каждого интервала, то есть вероятности «Хорошо» и «Плохо» внутри каждого интервала.

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

Figure contains an axes. The axes with title CustIncome contains 9 objects of type bar, text.

Создайте 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')

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.

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

свернуть все

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

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

  • None - Текст поверх интервалов не отображается.

  • Count - Для каждого интервала отображается счетчик «Хорошо» и «Плохо».

  • PercentRows - Для каждого интервала отображает значение счетчиков «Хорошо» и «Плохо» в процентах от количества наблюдений в интервале.

  • PercentCols - Для каждого интервала отображает счетчики «Хорошо» и «Плохо» в процентах от общего значения «Хорошо» и общего значения «Плохо» во всей выборке.

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

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

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

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

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

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

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

свернуть все

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

Ссылки

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

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

Введенный в R2014b