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

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

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

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

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

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

свернуть все

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

Ссылки

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

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

Введенный в R2014b