screenpredictors

Экранируйте предикторы протокола результатов кредита на прогнозирующее значение

Синтаксис

metric_table = screenpredictors(data)
metric_table = screenpredictors(___,Name,Value)

Описание

пример

metric_table = screenpredictors(data) возвращает выходную переменную, metric_table, таблицу MATLAB®, содержащую расчетные значения для нескольких мер предсказательной силы для каждой переменной прогноза в data. Используйте функцию screenpredictors в качестве шага предварительной обработки в Протоколе результатов Кредита, Моделируя Рабочий процесс (Financial Toolbox), чтобы сократить количество переменных прогноза, прежде чем вы создадите протокол результатов кредита с помощью функции creditscorecard от Financial Toolbox™.

пример

metric_table = screenpredictors(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

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

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

load CreditCardData

Задайте 'IDVar' и 'ResponseVar'.

idvar = 'CustID';
responsevar = 'status';

Используйте screenpredictors, чтобы вычислить метрики экранирования предиктора. Функция возвращает таблицу, содержащую метрические значения. Каждая строка таблицы соответствует предиктору от данных о входной таблице.

metric_table = screenpredictors(data,'IDVar', idvar,'ResponseVar', responsevar)
metric_table=9×7 table
                   InfoValue    AccuracyRatio     AUROC     Entropy     Gini      Chi2PValue    PercentMissing
                   _________    _____________    _______    _______    _______    __________    ______________

    CustAge          0.18863       0.17095       0.58547    0.88729    0.42626    0.00074524          0       
    TmWBank          0.15719       0.13612       0.56806    0.89167    0.42864     0.0054591          0       
    CustIncome       0.15572       0.17758       0.58879      0.891    0.42731     0.0018428          0       
    TmAtAddress     0.094574      0.010421       0.50521    0.90089    0.43377         0.182          0       
    UtilRate        0.075086      0.035914       0.51796    0.90405    0.43575       0.45546          0       
    AMBalance        0.07159      0.087142       0.54357    0.90446    0.43592       0.48528          0       
    EmpStatus       0.048038       0.10886       0.55443    0.90814     0.4381    0.00037823          0       
    OtherCC         0.014301      0.044459       0.52223    0.91347    0.44132      0.047616          0       
    ResStatus      0.0097738       0.05039        0.5252    0.91422    0.44182       0.27875          0       

metric_table = sortrows(metric_table,'AccuracyRatio','descend')
metric_table=9×7 table
                   InfoValue    AccuracyRatio     AUROC     Entropy     Gini      Chi2PValue    PercentMissing
                   _________    _____________    _______    _______    _______    __________    ______________

    CustIncome       0.15572       0.17758       0.58879      0.891    0.42731     0.0018428          0       
    CustAge          0.18863       0.17095       0.58547    0.88729    0.42626    0.00074524          0       
    TmWBank          0.15719       0.13612       0.56806    0.89167    0.42864     0.0054591          0       
    EmpStatus       0.048038       0.10886       0.55443    0.90814     0.4381    0.00037823          0       
    AMBalance        0.07159      0.087142       0.54357    0.90446    0.43592       0.48528          0       
    ResStatus      0.0097738       0.05039        0.5252    0.91422    0.44182       0.27875          0       
    OtherCC         0.014301      0.044459       0.52223    0.91347    0.44132      0.047616          0       
    UtilRate        0.075086      0.035914       0.51796    0.90405    0.43575       0.45546          0       
    TmAtAddress     0.094574      0.010421       0.50521    0.90089    0.43377         0.182          0       

На основе метрики AccuracyRatio выберите главные предикторы, чтобы использовать, когда вы создадите объект creditscorecard.

varlist = metric_table.Row(metric_table.AccuracyRatio > 0.09)
varlist = 4x1 cell array
    {'CustIncome'}
    {'CustAge'   }
    {'TmWBank'   }
    {'EmpStatus' }

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

sc = creditscorecard(data,'IDVar', idvar,'ResponseVar', responsevar, 'PredictorVars', varlist)
sc = 
  creditscorecard with properties:

                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
                 VarNames: {1x11 cell}
        NumericPredictors: {'CustAge'  'CustIncome'  'TmWBank'}
    CategoricalPredictors: {'EmpStatus'}
           BinMissingData: 0
                    IDVar: 'CustID'
            PredictorVars: {'CustAge'  'EmpStatus'  'CustIncome'  'TmWBank'}
                     Data: [1200x11 table]

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

свернуть все

Данные для объекта creditscorecard, заданного как таблица MATLAB, где каждый столбец данных может быть любым из следующих типов данных:

  • Числовой

  • Логический

  • Массив ячеек из символьных векторов

  • Массив символов

  • Категориальный

  • Строка

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

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

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

Пример: metric_table = screenpredictors(data,'IDVar','CustAge','ResponseVar','status','PredictorVars',{'CustID','CustIncome'})

Имя переменной идентификатора, заданной как пара, разделенная запятой, состоящая из 'IDVar' и чувствительного к регистру вектора символов. Данные 'IDVar' могут быть порядковыми числами или Номерами социального страхования. Путем определения 'IDVar' можно не использовать переменную идентификатора из переменных прогноза легко.

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

Имя переменной отклика для индикатора “Good” или “Bad”, заданного как пара, разделенная запятой, состоящая из 'ResponseVar' и чувствительного к регистру вектора символов. Данные о переменной отклика должны быть двоичным файлом.

Если не заданный, 'ResponseVar' установлен в последний столбец входа data по умолчанию.

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

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

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

Имя переменной весов, заданной как пара, разделенная запятой, состоящая из 'WeightsVar' и чувствительного к регистру вектора символов, чтобы указать, какое имя столбца в таблице data содержит веса строки.

Если вы не задаете 'WeightsVar', когда вы создаете объект creditscorecard, то функция использует модульные веса в качестве весов наблюдения.

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

Количество (равняются частоте), интервалы для числовых предикторов, заданных как пара, разделенная запятой, состоящая из 'NumBins' и числового скаляра.

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

Маленький сдвиг в таблицах частот, которые содержат нулевые записи, заданные как пара, разделенная запятой, состоящая из 'FrequencyShift' и скаляра, числового со значением между 0 и 1.

Если таблица частот предиктора содержит какие-либо "чистые" интервалы (содержащий все товары или весь bads) после вас интервал данные с помощью autobinning, то функция добавляет значение 'FrequencyShift' во все интервалы в таблице. Чтобы избежать любого возмущения, установите 'FrequencyShift' на 0.

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

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

свернуть все

Расчетные значения для метрик экранирования предиктора, возвращенных как таблица. Каждая строка таблицы соответствует предиктору от данных о входной таблице. Столбцы таблицы содержат вычисленные значения для следующих метрик:

  • 'InfoValue' — Информационное значение. Эта метрика измеряет силу предиктора в подходящей модели путем определения отклонения между дистрибутивами "Goods" и "Bads".

  • 'AccuracyRatio' — Отношение точности.

  • 'AUROC' — Область под кривой ROC.

  • 'Entropy' — Энтропия. Эта метрика измеряет уровень непредсказуемости в интервалах. Можно использовать энтропийную метрику, чтобы подтвердить модель риска.

  • 'Gini' — Gini. Эта метрика измеряет статистическую дисперсию или неравенство в рамках выборки данных.

  • 'Chi2PValue' — Хи придала квадратную форму p - значение. Эта метрика вычисляется из метрики в квадрате хи и является мерой статистической разницы и независимости между группами.

  • 'PercentMissing' — Процент отсутствующих значений в предикторе. Эта метрика выражается в десятичной форме.

Введенный в R2019a