主要内容

功能检查screenpredictors

这个例子展示了如何使用预测器进行筛选screenpredictors然后用阈值预测生活的任务。预测筛选是一种单因素分析,作为早期的一步信用记分卡建模工作流.当您使用信用记分卡时,预测器筛选是一个重要的预处理步骤,因为数据集可能非常大,有几十或数百个潜在的预测器。

筛选预测器的目标是将预测器集缩减为一个子集,以便根据计算的度量来预测响应变量更有用。通过筛选,您可以根据给定的指标选择排名靠前的预测指标,以培训您的信用记分卡。

加载数据

信用卡数据表包含一个客户ID (CustID)、9个预测因子和响应变量(状态).有些风险因素在预测贷款违约的可能性方面更有用,而另一些则用处不大。筛选过程可以帮助您选择预测因素的最佳子集。

尽管本例中的数据集只包含少数预测器,但在实践中,信用记分卡数据集可能非常大。当数据集增长到包含数十或数百个预测因子时,预测因子筛选过程是重要的。

%加载信用卡数据表。matFileName = fullfile (matlabroot,“工具箱”“金融”“findemos”“CreditCardData”);加载(matFileName)%使用datammissing数据集,其中包含一些缺失的值。数据= dataMissing;%识别ID和响应变量。idvar =“CustID”;responsevar =“状态”检查表的结构。disp(头(数据));
CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate地位  ______ _______ ___________ ___________ _________ __________ _______ _______ _________ ________ ______ 53 62 <定义>未知50000 55是的1055.9 - 0.22 0 2 61 22业主雇佣52000 25是的1161.6 - 0.24 0 3 47 30租户雇佣了37000 61877.23 - 0.29 0 4南75业主雇用了53000名20是的157.37 - 0.08 0 5 68 56家老板雇用了53000名14是的561.84 - 0.11 0 6 65 13业主雇用了48000名59岁是的968.18 - 0.15 0 7 34 32房主未知32000 26是的717.82 0.02 1 8 50 57其他雇佣了51000 33没有3041.2 - 0.13 0

添加额外的派生预测器

通常,衍生预测器可以捕获额外的信息或产生更好的度量结果;例如,两个预测器的比率或预测器转换为预测器x,如x^ 2或日志(x).为了演示这一点,创建两个派生预测器并将它们添加到数据集。

数据。BalanceUtilRatio =数据。AMBalance。/ data.UtilRate;数据。BalanceIncomeRatio =数据。AMBalance。/ data.CustIncome;

计算指标

使用screenpredictors计算风险因素可预测性的几个指标。输出表的列包含预测器的度量值。表按信息值排序(InfoValue).

T = screenpredictors(数据、“IDVar”idvar,“ResponseVar”responsevar)
T =11×7表InfoValue AccuracyRatio AUROC Entropy Gini Chi2PValue PercentMissing _________ _____________ ______________ _______ __________ ______________ CustAge 0.17698 0.1672 0.5836 0.88795 0.42645 0.0020599 0.025 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 BalanceIncomeRatio0.097073 0.1278 0.5639 0.90024 0.43303 0.11966 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 BalanceUtilRatio 0.068955 0.026538 0.51327 0.90486 0.43614 0.52517 0 EmpStatus 0.048038 0.10886 0.55443 0.908140.4381 0.00037823 0 OtherCC 0.014301 0.044459 0.52223 0.91347 0.44132 0.047616 0 ResStatus 0.0095558 0.049855 0.52493 0.91446 0.44198 0.29879 0.033333

设置的阈值标准

根据一个或多个指标为预测器设置阈值。使用阈值预测活动任务以交互方式为一个或多个预测器选择阈值。在plot中显示为预测,绿色条表示通过阈值的预测器,红色条表示未通过阈值的预测器。您可以从最终数据集中忽略没有“通过”阈值的预测器。

使用阈值预测活动任务根据预测器的信息值选择预测器(InfoValue)及准确率(AccuracyRatio).属性的附加阈值可以通过添加所需的度量来设置选择阈值指标下拉控制。

筛选总结

以表格形式总结阈值结果。的lableTable活动任务的输出表明哪些预测器通过了每个阈值测试。

disp (labelTable)
InfoValue AccuracyRatio _________ _____________ CustAge Pass Pass TmWBank Pass Pass CustIncome Pass Pass BalanceIncomeRatio Pass Pass TmAtAddress Pass Fail UtilRate Fail Fail AMBalance Fail Pass BalanceUtilRatio Fail Fail EmpStatus Fail Pass OtherCC Fail Fail ResStatus Fail Fail

减少表

创建一个精简表,只包含传递的预测器。只选择通过两个阈值测试的预测器并创建精简数据集。

%选择至少通过2个度量阈值测试的预测器。all_passes = labelTable。变量= =“通过”;Pass_both_idx = 2 <= sum(all_passes,2);selected_predictors = T.Row (pass_both_idx);%修剪数据表,只包含ID、传递的预测器和%的回应。top_predictor_table =数据(:,[idvar;selected_predictors;responsevar]);

使用creditscorecard创建一个creditscorecard使用简化数据集的。

%使用筛选的预测器创建信用记分卡。sc = creditscorecard (top_predictor_table,“IDVar”idvar,“ResponseVar”responsevar,...“BinMissingData”,真正的)
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x6 cell} NumericPredictors: {1x4 cell} CategoricalPredictors: {1x0 cell} BinMissingData: 1 IDVar: 'CustID' PredictorVars: {1x4 cell} Data: [1200x6 table]

有关开发信用记分卡的更多信息,请参见创建信用计分卡

另请参阅

|||||||||||||||

相关的例子

更多关于

外部网站