screenpredictors

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

Описание

пример

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
    {'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 имя аргумента и 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' должен отличаться от IDVar и ResponseVar имена.

Типы данных: 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