displaypoints

Возвращаемые точки на предиктор на интервал для compactCreditScorecard объект

Описание

пример

PointsInfo = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных предиктора, используемых в compactCreditScorecard объект. The PointsInfo таблица отображает информацию об имени предиктора, метках интервала и соответствующих точках на интервал.

пример

[PointsInfo,MinScore,MaxScore] = displaypoints(csc) возвращает таблицу точек для всех интервалов всех переменных предиктора, используемых в compactCreditScorecard объект. The PointsInfo таблица отображает информацию об имени предиктора, метках интервала и соответствующих точках на интервал и displaypoints. В сложение необязательный MinScore и MaxScore возвращаются значения.

пример

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

Примеры

свернуть все

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

load CreditCardData.mat
sc = creditscorecard(data)
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]

Перед созданием compactCreditScorecard объект, вы должны использовать autobinning и fitmodel с creditscorecard объект.

sc = autobinning(sc);
sc = fitmodel(sc);
1. Adding CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08
2. Adding TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-06
3. Adding AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601
4. Adding EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257
5. Adding CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306
6. Adding ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078
7. Adding OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769

Generalized linear regression model:
    status ~ [Linear formula with 8 terms in 7 predictors]
    Distribution = Binomial

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)    0.70239     0.064001    10.975    5.0538e-28
    CustAge        0.60833      0.24932      2.44      0.014687
    ResStatus        1.377      0.65272    2.1097      0.034888
    EmpStatus      0.88565        0.293    3.0227     0.0025055
    CustIncome     0.70164      0.21844    3.2121     0.0013179
    TmWBank         1.1074      0.23271    4.7589    1.9464e-06
    OtherCC         1.0883      0.52912    2.0569      0.039696
    AMBalance        1.045      0.32214    3.2439     0.0011792


1200 observations, 1192 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 89.7, p-value = 1.4e-16

Используйте creditscorecard объект с compactCreditScorecard для создания compactCreditScorecard объект.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
        NumericPredictors: {'CustAge'  'CustIncome'  'TmWBank'  'AMBalance'}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x7 cell}

Затем используйте displaypoints с compactCreditScorecard объект, чтобы вернуть таблицу точек для всех интервалов всех переменных предиктора, используемых в compactCreditScorecard объект.

[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
      Predictors            Bin            Points  
    ______________    ________________    _________

    {'CustAge'   }    {'[-Inf,33)'   }     -0.15894
    {'CustAge'   }    {'[33,37)'     }     -0.14036
    {'CustAge'   }    {'[37,40)'     }    -0.060323
    {'CustAge'   }    {'[40,46)'     }     0.046408
    {'CustAge'   }    {'[46,48)'     }      0.21445
    {'CustAge'   }    {'[48,58)'     }      0.23039
    {'CustAge'   }    {'[58,Inf]'    }        0.479
    {'CustAge'   }    {'<missing>'   }          NaN
    {'ResStatus' }    {'Tenant'      }    -0.031252
    {'ResStatus' }    {'Home Owner'  }      0.12696
    {'ResStatus' }    {'Other'       }      0.37641
    {'ResStatus' }    {'<missing>'   }          NaN
    {'EmpStatus' }    {'Unknown'     }    -0.076317
    {'EmpStatus' }    {'Employed'    }      0.31449
    {'EmpStatus' }    {'<missing>'   }          NaN
    {'CustIncome'}    {'[-Inf,29000)'}     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

displaypoints всегда отображает '<missing>' интервал для каждого предиктора. Значение '<missing>' интервал происходит от начального creditscorecard объект и '<missing>' интервал установлено в NaN всякий раз, когда модель карты показателей не имеет информации о том, как назначить точки отсутствующим данным.

Чтобы сконфигурировать точки для '<missing>' интервал, необходимо использовать начальный creditscorecard объект. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точки для '<missing>' интервал оцениваются из данных, если 'BinMissingData' для аргумента пары "имя-значение" задано значение true использование creditscorecard. Когда 'BinMissingData' параметру задано значение false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте 'Missing' аргумент пары "имя-значение" в formatpoints чтобы указать, как назначить точки отсутствующим данным. Затем перестроите compactCreditScorecard объект и перезапуск displaypoints. Вот пример этого рабочего процесса:

sc = formatpoints(sc,'Missing','minpoints');
csc = compactCreditScorecard(sc);
[PointsInfo,MinScore,MaxScore] = displaypoints(csc)
PointsInfo=37×3 table
      Predictors            Bin            Points  
    ______________    ________________    _________

    {'CustAge'   }    {'[-Inf,33)'   }     -0.15894
    {'CustAge'   }    {'[33,37)'     }     -0.14036
    {'CustAge'   }    {'[37,40)'     }    -0.060323
    {'CustAge'   }    {'[40,46)'     }     0.046408
    {'CustAge'   }    {'[46,48)'     }      0.21445
    {'CustAge'   }    {'[48,58)'     }      0.23039
    {'CustAge'   }    {'[58,Inf]'    }        0.479
    {'CustAge'   }    {'<missing>'   }     -0.15894
    {'ResStatus' }    {'Tenant'      }    -0.031252
    {'ResStatus' }    {'Home Owner'  }      0.12696
    {'ResStatus' }    {'Other'       }      0.37641
    {'ResStatus' }    {'<missing>'   }    -0.031252
    {'EmpStatus' }    {'Unknown'     }    -0.076317
    {'EmpStatus' }    {'Employed'    }      0.31449
    {'EmpStatus' }    {'<missing>'   }    -0.076317
    {'CustIncome'}    {'[-Inf,29000)'}     -0.45716
      ⋮

MinScore = -1.3100
MaxScore = 3.0726

Как создать compactCreditScorecard объект, сначала создайте creditscorecard объект с использованием CreditCardData.mat файл для загрузки data (использование набора данных из Refaat 2011). Использование dataMissing набор данных, установите 'BinMissingData' индикатор для true.

load CreditCardData.mat
sc = creditscorecard(dataMissing,'BinMissingData',true); 

Перед созданием compactCreditScorecard объект, вы должны использовать autobinning и fitmodel с creditscorecard объект. Во-первых, используйте autobinning с creditscorecard объект.

sc = autobinning(sc);

binning map или правила для категориальных данных суммируются в таблице «группировка категорий», возвращаемой как необязательный выход. По умолчанию каждая категория помещается в отдельный интервал. Вот информация для предиктора ResStatus.

[bi,cg] = bininfo(sc,'ResStatus')
bi=5×6 table
         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

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Tenant'    }        1    
    {'Home Owner'}        2    
    {'Other'     }        3    

К категориям групп 'Tenant' и 'Other', измените таблицу группировок категорий cg, так что номер интервала для 'Other' совпадает с номером интервала для 'Tenant'. Затем используйте modifybins для обновления creditscorecard объект.

cg.BinNumber(3) = 2; 
sc = modifybins(sc,'ResStatus','Catg',cg); 

Отображение обновленной информации о интервале с помощью bininfo. Обратите внимание, что метки интервалов были обновлены и что информация о принадлежности интервалов содержится в группе категорий cg.

[bi,cg] = bininfo(sc,'ResStatus')
bi=4×6 table
         Bin         Good    Bad     Odds        WOE       InfoValue 
    _____________    ____    ___    ______    _________    __________

    {'Group1'   }    296     161    1.8385    -0.095463     0.0035249
    {'Group2'   }    480     223    2.1525     0.062196     0.0022419
    {'<missing>'}     27      13    2.0769     0.026469    2.3248e-05
    {'Totals'   }    803     397    2.0227          NaN       0.00579

cg=3×2 table
       Category       BinNumber
    ______________    _________

    {'Tenant'    }        1    
    {'Home Owner'}        2    
    {'Other'     }        2    

Использование formatpoints с 'Missing' аргумент пары "имя-значение", указывающий, что назначены отсутствующие данные 'maxpoints'.

sc = formatpoints(sc,'BasePoints',true,'Missing','maxpoints','WorstAndBest',[300 800]); 

Использование fitmodel для подгонки модели.

sc = fitmodel(sc,'VariableSelection','fullmodel','Display','Off'); 

Используйте creditscorecard объект с compactCreditScorecard для создания compactCreditScorecard объект.

csc = compactCreditScorecard(sc)
csc = 
  compactCreditScorecard with properties:

              Description: ''
                GoodLabel: 0
              ResponseVar: 'status'
               WeightsVar: ''
        NumericPredictors: {1x7 cell}
    CategoricalPredictors: {'ResStatus'  'EmpStatus'  'OtherCC'}
            PredictorVars: {1x10 cell}

Затем используйте displaypoints с compactCreditScorecard объект, чтобы вернуть таблицу точек для всех интервалов всех переменных предиктора, используемых в compactCreditScorecard объект. Путем установки displaypoints аргумент пары "имя-значение" для 'ShowCategoricalMembers' на trueотображаются все представители, содержащиеся в каждой отдельной группе.

[PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)
PointsInfo=51×3 table
      Predictors            Bin          Points 
    _______________    ______________    _______

    {'BasePoints' }    {'BasePoints'}     535.25
    {'CustID'     }    {'[-Inf,121)'}     12.085
    {'CustID'     }    {'[121,241)' }     5.4738
    {'CustID'     }    {'[241,1081)'}    -1.4061
    {'CustID'     }    {'[1081,Inf]'}    -7.2217
    {'CustID'     }    {'<missing>' }     12.085
    {'CustAge'    }    {'[-Inf,33)' }    -25.973
    {'CustAge'    }    {'[33,37)'   }     -22.67
    {'CustAge'    }    {'[37,40)'   }    -17.122
    {'CustAge'    }    {'[40,46)'   }    -2.8071
    {'CustAge'    }    {'[46,48)'   }     9.5034
    {'CustAge'    }    {'[48,51)'   }     10.913
    {'CustAge'    }    {'[51,58)'   }     13.844
    {'CustAge'    }    {'[58,Inf]'  }     37.541
    {'CustAge'    }    {'<missing>' }    -9.7271
    {'TmAtAddress'}    {'[-Inf,23)' }    -9.3683
      ⋮

MinScore = 300
MaxScore = 800.0000

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

свернуть все

Компактная модель карты показателей кредита, заданная как compactCreditScorecard объект.

Как создать compactCreditScorecard объект, использование compactCreditScorecard или compact от Financial Toolbox™.

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

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

Пример: [PointsInfo,MinScore,MaxScore] = displaypoints(csc,'ShowCategoricalMembers',true)

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

По умолчанию, когда 'ShowCategoricalMembers' является falseметки интервала отображаются следующим Group1, Group2, …, Groupn, или если метки интервала были изменены в creditscorecardзатем отображаются определяемые пользователем имена меток интервалов.

Если 'ShowCategoricalMembers' является trueотображаются все представители, содержащиеся в каждой отдельной группе.

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

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

свернуть все

Одна строка на интервал, на предиктор, с соответствующими точками, возвращается как таблица. Для примера:

ПредсказателиИнтервалТочки
Predictor_1Bin_11Points_11
Predictor_1Bin_12Points_12
Predictor_1Bin_13Points_13
 ......
Predictor_1'<missing>'NaN (По умолчанию)
Predictor_2Bin_21Points_21
Predictor_2Bin_22Points_22
Predictor_2Bin_23Points_23
 ......
Predictor_2'<missing>'NaN (По умолчанию)
Predictor_<reservedrangesplaceholder0 >Bin_<reservedrangesplaceholder1><reservedrangesplaceholder0 >Points_<reservedrangesplaceholder1><reservedrangesplaceholder0 >
 ......
Predictor_<reservedrangesplaceholder0 >'<missing>'NaN (По умолчанию)

displaypoints всегда отображает '<missing>' интервал для каждого предиктора. Значение '<missing>' интервал происходит от начального creditscorecard объект и '<missing>' интервал установлено в NaN всякий раз, когда модель карты показателей не имеет информации о том, как назначить точки отсутствующим данным.

Чтобы сконфигурировать точки для '<missing>' интервал, необходимо использовать начальный creditscorecard объект. Для предикторов, которые имеют отсутствующие значения в наборе обучающих данных, точки для '<missing>' интервал оцениваются из данных, если 'BinMissingData' аргумент пары "имя-значение" для установлен в true использование creditscorecard. Когда 'BinMissingData' параметру задано значение false, или когда данные не содержат отсутствующих значений в наборе обучающих данных, используйте 'Missing' аргумент пары "имя-значение" в formatpoints чтобы указать, как назначить точки отсутствующим данным. Затем перестроите compactCreditScorecard объект и перезапуск displaypoints.

Когда базовые точки сообщаются отдельно (см. formatpoints), первая строка возвращенного PointsInfo таблица содержит базовые точки.

Минимально возможный суммарный счет, возвращенный в виде скаляра.

Примечание

Минимальный счет является самым низким возможным общим счетом в математическом смысле, независимо от того, означает ли низкий счет высокий риск или низкий риск.

Максимально возможный суммарный счет, возвращенный как скаляр.

Примечание

Максимальный счет является максимально возможным общим счетом в математическом смысле, независимо от того, означает ли высокий счет высокий риск или низкий риск.

Алгоритмы

Точки для j предиктора и i интервала по умолчанию заданы как

Points_ji = (Shift + Slope*b0)/p + Slope*(bj*WOEj(i))
где bj - коэффициент модели предиктора j, p - количество предикторов в модели, а j WOE (i) - значение веса доказательства (WOE) для i-го интервала, соответствующего j-ому предиктору модели. Shift и Slope являются масштабирующими константами.

Когда базовые точки сообщаются отдельно (см. formatpoints аргумент пары "имя-значение" BasePoints), базовые точки заданы как

Base Points = Shift + Slope*b0,
и точки для j -го предиктора, i -й строки заданы как
Points_ji = Slope*(bj*WOEj(i))).

По умолчанию базовые точки не сообщаются отдельно.

Минимальные и максимальные счета:

MinScore = Shift + Slope*b0 + min(Slope*b1*WOE1) + ... +min(Slope*bp*WOEp)),
MaxScore = Shift + Slope*b0 + max(Slope*b1*WOE1) + ... +max(Slope*bp*WOEp)).

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

Ссылки

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

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

Введенный в R2019a