主要内容

使用分类资源管理器创建信用记分卡

创建信用记分卡使用装箱的探险家应用。使用装箱的探险家如果要对数据进行分类,请绘制分类后的数据信息,然后导出acreditscorecard对象。然后使用creditscorecard对象使用Financial Toolbox™中的函数拟合逻辑回归模型,确定数据的得分,确定违约概率,并使用三种不同的指标验证信用记分卡模型。

步骤1。载入信用记分卡数据MATLAB工作区。

使用CreditCardData.mat文件来加载数据进入MATLAB®工作区(使用Refaat 2011的数据集)。

负载CreditCardDatadisp(数据(1:10)):
CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate地位  ______ _______ ___________ __________ _________ __________ _______ _______ _________ ________ ______ 1 53 62租户未知50000 55是的1055.9 - 0.22 0 2 61 22家老板雇用了52000名25是的1161.6 - 0.24 0 3 47 30租户使用0 4 50 75 37000 61 877.23 - 0.29业主雇佣了53000 20是的157.37 - 0.08 0 5 68 56家老板雇用了53000名14是的561.84 - 0.11 0 6 65 13家老板雇佣了4800059是968.18 0.15 0 7 34 32未知房主32000 26是717.82 0.02 18 50 57其他受雇者51000 33否3041.2 0.13 0 9 50 10租户未知52000 25是115.56 0.02 1 10 49 30未知房主53000 23是718.5 0.17 1

步骤2。导入数据变成Binning Explorer。

开放装箱的探险家从MATLAB工具条:在应用程序选项卡,在计算金融,点击应用程序图标。或者,您也可以进入binningExplorer在MATLAB命令行中。有关启动的更多信息装箱的探险家从命令行,请参见从MATLAB命令行开始使用数据或现有的信用记分卡对象

装箱的探险家将来发布,选择导入数据打开“导入数据”窗口。

导入数据对话框

步骤1中,选择数据

步骤2,可选地设置变量类型对于每个预测因子。默认情况下,数据中的最后一列(“状态”在本例中)设置为“响应”.所有其他变量都被认为是预测变量。然而,在这个例子中,因为“CustID”(客户识别号码)不是一个有用的预测器,设置变量类型“CustID”不包括

请注意

如果输入MATLAB表中包含一列为权重,来自步骤2窗格中,使用变量类型列时,单击下拉菜单进行选择权重.有关使用观察权重的详细信息creditscorecard对象,看到使用观察权重的信用记分卡建模

如果数据包含缺失值,则从步骤2窗格中,设置Bin缺少数据:是的.有关处理缺失数据的详细信息,请参见缺少值的信用记分卡建模

步骤3,离开单调作为默认的初始分箱算法。

点击导入数据完成导入操作。当所有预测器被导入时,使用所选算法的自动分箱应用于它们装箱的探险家

箱子为每个预测器绘制并显示。单击可从图表中选择单个预测图概述窗格中,该预测器图的详细信息显示在主窗格中本信息而且预测信息应用程序底部的窗格。

装箱后显示预测图

装箱的探险家使用默认值,为每个预测器变量执行自动装箱“单调”使用默认算法选项的算法。对于信用记分卡来说,证据权重(WOE)的单调、理想的线性趋势通常是可取的,因为这可以转化为给定预测器的线性点。中每个预测因子的图表显示了WOE趋势装箱的探险家

执行一些初始数据研究。查询预测器统计信息“ResStatus”分类变量。

单击ResStatus情节。的本信息窗格包含“好”和“坏”频率和其他bin统计数据,如证据的权重(WOE)。

Bin信息显示

对于数值数据,显示相同的统计信息。单击CustIncome情节。的本信息是否更新了关于CustIncome

CustIncome预测器的Bin信息

步骤3。在箱子管理器中使用手动装箱微调箱子。

单击CustAge预测情节。请注意,1号和2号箱有类似的问题,5号和6号箱也是如此。

CustAge预测器的图

要合并主窗格中的1号和2号箱,单击Ctrl+点击或转变+单击多选bin 1和2,显示蓝色轮廓以便合并。

选择两个箱的CustAge预测器的图

装箱的探险家工具条时,使用只读显示边缘文本框验证要合并的选定箱子边缘的值。

使用只读边文本框验证CustAge预测器的选定箱

点击合并完成1号和2号箱的合并。的CustAge控件中的新bin信息和详细信息将更新预测器图本信息而且预测信息窗格也会更新。

图CustAge预测器与两个选择的箱子合并

接下来,合并箱子4和5,因为它们也有类似的问题。

绘制CustAge预测器的图,其中选择了用于合并的箱子4和5

CustAge预测器图更新了新的bin信息。详情载于本信息而且预测信息窗格也会更新。

对以下有类似问题的箱子重复此合并操作:

  • CustIncome3、合并3、4、5号箱。

  • TmWBank,合并2号和3号箱。

  • AMBalance,合并2号和3号箱。

现在,所有预测因子的箱子都有接近线性的WOE趋势。

步骤4。导出creditscorecardBinning Explorer中的对象。

完成分箱作业后,使用装箱的探险家,点击出口然后点击出口计分卡并提供creditscorecard对象名称。的creditscorecard对象(sc)保存到MATLAB工作区。

第5步。拟合逻辑回归模型。

使用fitmodel函数拟合logistic回归模型的WOE数据。fitmodel内部存储训练数据,将其转换为WOE值,映射响应变量,以便‘好’1,并拟合线性logistic回归模型。默认情况下,fitmodel使用逐步过程来确定哪些预测因子属于模型。

Sc = fitmodel(Sc);
1.添加CustIncome, Deviance = 1490.8954, Chi2Stat = 32.545914, PValue = 1.1640961e-08添加TmWBank, Deviance = 1467.3249, Chi2Stat = 23.570535, PValue = 1.2041739e-06添加AMBalance, Deviance = 1455.858, Chi2Stat = 11.466846, PValue = 0.00070848829添加EmpStatus, Deviance = 1447.6148, Chi2Stat = 8.2432677, PValue = 0.0040903428添加CustAge, Deviance = 1442.06, Chi2Stat = 5.5547849, PValue = 0.0184302377.添加ResStatus, Deviance = 1437.9435, Chi2Stat = 4.1164321, PValue = 0.042468555。添加OtherCC, Deviance = 1433.7372, Chi2Stat = 4.2063597, PValue = 0.040272676广义线性回归模型:logit(status) ~ 1 + CustAge + ResStatus + EmpStatus + CustIncome + TmWBank + OtherCC + AMBalance分布=二项估计系数:估计SE tStat pValue ________ _______ ______ __________(拦截)0.7024 0.064 10.975 5.0407e-28 CustAge 0.61562 0.24783 2.4841 0.012988 ResStatus 1.3776 0.65266 2.1107 0.034799 EmpStatus 0.88592 0.29296 3.024 0.0024946 CustIncome 0.69836 0.21715 3.216 0.0013001 TmWBank 1.106 0.23266 4.7538 1.9958e-06 OtherCC 1.0933 0.52911 2.0662 0.038806 AMBalance 1.0437 0.32292 3.2322 0.0012285 1200观测值,1192误差自由度离散度:1 Chi^2统计与常量模型:89.7, p-value = 1.42e-16

步骤6。审查和格式记分卡点。

拟合logistic模型后,积分默认未缩放,直接来自WOE值与模型系数的组合。使用displaypoints函数汇总记分卡点。

P1 = displaypoints(sc);disp (p1)
预测Bin点____________ __________________ _________ 'CustAge' '[-Inf,37)' -0.15314 'CustAge' '[37,40)' -0.062247 'CustAge' '[40,46)' 0.045763 'CustAge' '[46,58)' 0.22888 'CustAge' '[58,Inf]' 0.48354 'ResStatus' 'Tenant' -0.031302 'ResStatus' 'Home Owner' 0.12697 'ResStatus' 'Other' 0.37652 'EmpStatus' 'Unknown' -0.076369 'EmpStatus' 'Employed' 0.31456 'CustIncome' '[-Inf,29000)' -0.45455 'CustIncome' '[29000,33000)' -0.1037 'CustIncome' '[33000,42000)' 0.077768 'CustIncome' ''[42000,47000)' 0.24406 'CustIncome' '[47000,Inf]' 0.43536 'TmWBank' '[-Inf,12)' -0.18221 'TmWBank' '[12,45)' -0.038279 'TmWBank' '[45,71)' 0.39569 'TmWBank' '[71,Inf]' 0.95074 'OtherCC' 'No' -0.193 'OtherCC' 'Yes' 0.15868 'AMBalance' '[-Inf,558.88)' 0.3552 'AMBalance' '[558.88,1597.44)' -0.026797 'AMBalance' '[1597.44,Inf]' -0.21168

使用modifybins给箱子更多描述性的标签。

Sc = modifybins(Sc,“CustAge”“BinLabels”...“高达36”37年到39年“40到45岁”46至57年58年及以上});Sc = modifybins(Sc,“CustIncome”“BinLabels”...“高达28999”“29000至32999”“33000至41999”“42000至46999”47000及以上});Sc = modifybins(Sc,“TmWBank”“BinLabels”...“到11岁”12到4445至70年1971年及以后});Sc = modifybins(Sc,“AMBalance”“BinLabels”...“高达558.87”“558.88至1597.43”'1597.44及以上'});P1 = displaypoints(sc);disp (p1)
预测器Bin点____________ ___________________ _________ 'CustAge' '高达36' -0.15314 'CustAge' '37至39' -0.062247 'CustAge' '40至45' 0.045763 'CustAge' '46至57' 0.22888 'CustAge' '58和上升' 0.48354 'ResStatus' '租户' -0.031302 'ResStatus' '房主' 0.12697 'ResStatus' '其他' 0.37652 'EmpStatus' '未知' -0.076369 'EmpStatus' '雇用' 0.31456 'CustIncome' '高达28999' -0.45455 'CustIncome' '29000至32999' -0.1037 'CustIncome' '33000至41999' 0.077768 'CustIncome''42000至46999' 0.24406 'CustIncome' '47000和上升' 0.43536 'TmWBank' '高达11' -0.18221 'TmWBank' '12至44' -0.038279 'TmWBank' '45至70' 0.39569 'TmWBank' '71和上升' 0.95074 'OtherCC' '否' -0.193 'OtherCC' '是' 0.15868 'AMBalance' '高达558.87' 0.3552 'AMBalance' '558.88至1597.43' -0.026797 'AMBalance' '1597.44和上升' -0.21168

点是有比例的,也经常是四舍五入的。若要四舍五入和缩放点,请使用formatpoints函数。例如,您可以设置与目标赔率水平相对应的点数目标水平,还可以设置所需的点数加倍赔率(PDO)。

TargetPoints = 500;TargetOdds = 2;Pdo = 50;%点数加倍赔率Sc = formatpoints(Sc,“PointsOddsAndPDO”,[TargetPoints targetods PDO]);P2 = displaypoints(sc);disp (p2)
预测器Bin点____________ ___________________ ______ 'CustAge' '高达36' 53.239 'CustAge' '37至39' 59.796 'CustAge' '40至45' 67.587 'CustAge' '46至57' 80.796 'CustAge' '58及以上' 99.166 'ResStatus' '租户' 62.028 'ResStatus' '房主' 73.445 'ResStatus' '其他' 91.446 'EmpStatus' '未知' 58.777 'EmpStatus' '已雇用' 86.976 'CustIncome' '高达28999' 31.497 'CustIncome' '29000至32999' 56.805 'CustIncome' '33000至41999' 69.896 'CustIncome' '42000至46999' 81.891'CustIncome' '47000和上升' 95.69 'TmWBank' '高达11' 51.142 'TmWBank' '12到44' 61.524 'TmWBank' '45到70' 92.829 'TmWBank' '71和上升' 132.87 'OtherCC' 'No' 50.364 'OtherCC' 'Yes' 75.732 'AMBalance' '高达558.87' 89.908 'AMBalance' '558.88到1597.43' 62.353 'AMBalance' '1597.44和上升' 49.016

步骤7。对数据进行评分。

使用分数函数计算训练数据的分数。你也可以传递一个可选选项数据输入分数例如,验证数据。每个客户的每个预测器的点数作为可选输出提供。

[分数,分数]=分数(sc);disp(分数(1:10)disp(点(1:10,:))
528.2044 554.8861 505.2406 564.0717 554.8861 586.1904 441.8755 515.8125 524.4553 508.3169 CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance _______ _________ _________ __________ _______ _______ _________ 80.796 62.028 62.028 58.777 95.69 92.829 75.732 61.524 75.732 62.028 86.976 69.896 92.829 50.364 62.353 80.796 73.445 86.976 95.69 61.524 75.732 89.908 99.166 73.445 86.976 95.69 61.524 75.732 73.445 86.976 95.69 92.82975.732 62.353 53.239 73.445 58.777 56.805 61.524 75.732 62.353 80.796 91.446 86.976 95.69 61.524 50.364 49.016 80.796 62.028 58.777 95.69 61.524 75.732 89.908 80.796 73.445 58.777 95.69 61.524 75.732 62.353

步骤8。计算违约的概率。

要计算违约概率,请使用probdefault函数。

Pd = probdefault(sc);

定义“好”的概率,并将预测的概率与格式化的分数绘制出来。可视化地分析目标点数和目标赔率是否匹配,以及点数与两倍赔率(PDO)关系是否成立。

ProbGood = 1-pd;PredictedOdds = ProbGood./pd;figure scatter(Scores,PredictedOdds)“预测赔率与得分”)包含(“分数”) ylabel (“预测概率”)举行xLimits = xlim;yLimits = ylim;%目标点数和赔率plot([TargetPoints TargetPoints],[yLimits(1) targetods],凯西:”plot([xLimits(1) TargetPoints],[TargetOdds TargetOdds],凯西:”%目标点加上PDOplot([TargetPoints+PDO TargetPoints+PDO],[yLimits(1) 2* targetods],凯西:”) plot([xLimits(1) TargetPoints+PDO],[2*TargetOdds 2*TargetOdds],凯西:”%目标点减去PDOplot([TargetPoints-PDO TargetPoints-PDO],[yLimits(1) targetods /2],凯西:”) plot([xLimits(1) TargetPoints-PDO],[targetods /2 targetods /2],凯西:”)举行

图预测的赔率与得分

第9步。使用CAP、ROC和Kolmogorov-Smirnov统计量验证信用记分卡模型

creditscorecard对象支持三种验证方法,累积精度剖面(CAP)、受试者工作特征(ROC)和Kolmogorov-Smirnov (KS)统计量。有关CAP、ROC和KS的更多信息,请参见validatemodel

[Stats,T] = validatemodel(sc,“阴谋”, {“帽子”“中华民国”“KS”});disp(统计)disp (T (1:15,:))
测量值______________________ _______ 'Accuracy Ratio' 0.32225 ' ROC曲线下面积' 0.66113 'KS statistic' 0.22324 'KS score' 499.18 Scores ProbDefault TrueBads FalseBads TrueGoods FalseGoods Sensitivity FalseAlarm PctObs _________________ _________________ ___________________ _____________________ __________ 369.4 0.7535 01 802 397 0 0.0012453 0.00083333 377.86 0.73107 11 802 396 0.0025189 0.0012453 0.0016667 379.78 0.7258 2 1 802 395 0.0050378 0.0012453 0.0012453 0.0025 391.81 0.69139 31 1802 394 0.0075567 0.0012453 0.0033333 394.77 0.68259 3 2 801 394 0.0075567 0.0024907 0.0041667 395.78 0.67954 4 2 801 393 0.010076 0.0024907 0.005 396.95 0.67598 5 2 801 392 0.012594 0.0024907 0.0058333 398.37 0.67167 6 2 801 391 0.015113 0.0024907 0.0066667 401.26 0.66276 7 2 801 390 0.017632 0.0024907 0.0075 403.23 0.65664 8 2 801 389 0.020151 0.0024907 0.0083333 405.09 0.65081 8 3 800 389 0.020151 0.003736 0.0091667 405.15 0.65062 11 5 798 386 0.027708 0.0062267 0.013333 405.37 0.64991 11 6 797 386 0.027708 0.007472 0.014167 406.18 0.64735 12 6 797 385 0.030227 0.007472 0.015 407.14 0.64433 13 6 797 384 0.032746 0.007472 0.015833

帽曲线

ROC曲线

钴的阴谋

另请参阅

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

相关的例子

更多关于

外部网站

Baidu
map