主要内容

分数

计算给定数据的信用评分

描述

例子

分数=分数(sc计算的信用评分creditscorecard对象的训练数据。该数据可以是“训练”数据集,也可以是“实时”数据集。如果数据Input参数没有显式提供,则分数功能决定了现有的分数creditscorecard对象的数据。

formatpoints支持多个选项来修改分数的缩放,还可用于控制分数和分数的舍入,以及基准点是单独报告还是分布在多个预测器中。缺失的数据转化为对应的值,因此为总分。使用formatpoints修改缺少数据行的评分行为。

例子

分数=分数(sc,数据计算给定输入的信用分数数据.该数据可以是“训练”数据集,也可以是“实时”数据集。

formatpoints支持多个选项来修改分数的缩放,还可用于控制分数和分数的舍入,以及基准点是单独报告还是分布在多个预测器中。缺失的数据转化为对应的值,因此为总分。使用formatpoints修改缺少数据行的评分行为。

例子

分数=分数(sc计算给定数据的信用分数和积分。如果数据Input参数没有显式提供,则分数功能决定了现有的分数creditscorecard对象的数据。

formatpoints支持多个选项来修改分数的缩放,还可用于控制分数和分数的舍入,以及基准点是单独报告还是分布在多个预测器中。缺失的数据转化为对应的值,因此为总分。使用formatpoints修改缺少数据行的评分行为。

例子

分数=分数(sc数据计算给定输入的信用分数和积分数据.该数据可以是“训练”数据集,也可以是“实时”数据集。

formatpoints支持多个选项来修改分数的缩放,还可用于控制分数和分数的舍入,以及基准点是单独报告还是分布在多个预测器中。缺失的数据转化为对应的值,因此为总分。使用formatpoints修改缺少数据行的评分行为。

例子

全部折叠

这个例子展示了如何使用分数为训练数据获得分数。

创建一个creditscorecard对象使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。使用“IDVar”论点creditscorecard为了表明“CustID”包含ID信息,不应作为预测变量。

负载CreditCardDataSc =信用记分卡(数据,“IDVar”“CustID”);

对所有预测器执行自动分箱到分箱。

Sc = autobinning(Sc);

使用默认参数拟合线性回归模型。

Sc = fitmodel(Sc);
1.添加CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08添加TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-063 .添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601。5.添加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257。添加CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306添加ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078。添加OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769广义线性回归模型:状态~[7个预测因子中有8项的线性公式]分布=二项式估计系数:估计SE tStat pValue ________ ________ ______ __________(拦截)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观测值,1192误差自由度离散度:1 Chi^2统计与常数模型:89.7, p-value = 1.4e-16

对训练数据进行评分分数函数,没有可选的输入数据.默认情况下,它返回未缩放的分数。为简洁起见,只显示前十个分数。

分数=分数(sc);disp(分数(1:10))
1.0968 1.4646 0.7662 1.5779 1.4535 1.8944 -0.0872 0.9207 1.0399 0.8252

缩放分数并显示训练数据中每个人的分数和分数(为简洁起见,只显示前十行)。有关其他缩放方法和格式化分数的其他选项,请使用formatpoints函数。

Sc = formatpoints(Sc,“WorstAndBestScores”850年[300]);[分数,分数]=分数(sc);disp(分数(1:10))
602.0394 648.1988 560.5569 662.4189 646.8109 702.1398 453.4572 579.9475 594.9064 567.9533
disp(点(1:10,:))
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance _______ _________ _________ __________ _______ _______ _________ 95.256 62.421 56.765 121.18 116.05 86.224 64.15 93.256 62.421 105.81 121.18 62.107 86.224 64.15 93.256 105.81 121.18 60.719 86.224 110.96 126.46 82.276 105.81 126.46 82.276 105.81 114.15 48.727 82.276 56.765 53.208 62.107 86.224 64.15 95.256 113.58 105.81 121.1862.107 42.287 39.729 95.256 62.421 56.765 121.18 62.107 86.224 110.96 95.256 82.276 56.765 121.18 62.107 86.224 64.15

时,为缺失数据分配点数“BinMissingData”选项设置为真正的

  • 训练集中缺少数据的预测器有一个显式的bin< >失踪在最后的记分卡上有相应的分数。的证据权重(WOE)值计算这些点< >失踪Bin和logistic模型系数。为了评分,这些点被分配给缺失的值和超出范围的值。

  • 训练集中没有缺失数据的预测器没有< >失踪bin,因此从训练数据中无法估计WOE。默认情况下,缺失值和超出范围值的点被设置为,这就导致了分数运行时分数.对于没有显式的预测器< >失踪Bin,使用name-value参数“失踪”formatpoints说明如何处理缺失数据以达到评分目的。

创建一个creditscorecard对象使用CreditCardData.mat文件来加载dataMissing缺少值。

负载CreditCardData.mat头(dataMissing, 5)
CustID CustAge TmAtAddress ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance UtilRate status ______ _______ ___________ ___________ _________ __________ _______ _______ _________ ________ ______ 1 53 62  Unknown 50000 55 Yes 1055.9 0.22 0 2 61 22 Home Owner Employed 52000 25 Yes 1161.6 0.24 0 3 47 30 Tenant Employed 37000 61 No 877.23 0.29 0 4 NaN 75 Home Owner Employed 53000 20 Yes 157.37 0.08 05 68 56 Home Owner Employed 53000 14 Yes 561.84 0.11 0
流('行数:%d\n'、高度(dataMissing))
行数:1200
流(CustAge: %d\n总和(ismissing (dataMissing.CustAge)))
缺少值的数量CustAge: 30
流(ResStatus: %d\n总和(ismissing (dataMissing.ResStatus)))
ResStatus: 40

使用creditscorecard使用name-value参数“BinMissingData”设置为真正的将缺失的数字或类别数据收纳到单独的收纳箱内。应用自动装箱。

sc =信用记分卡(数据丢失,“IDVar”“CustID”“BinMissingData”,真正的);Sc = autobinning(Sc);disp (sc)
带属性的creditscorecard: GoodLabel: 0 responsear: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {1x6 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 1 IDVar: 'CustID' PredictorVars: {1x9 cell} Data: [1200x11 table]

的最小值设置为零CustAge而且CustIncome.这样,任何消极的年龄或收入信息都变得无效或“超出范围”。出于评分目的,超出范围的值与缺失值给予相同的分数。

Sc = modifybins(Sc,“CustAge”“MinValue”, 0);Sc = modifybins(Sc,“CustIncome”“MinValue”, 0);

的数值数据显示和绘制bin信息“CustAge”这包括丢失的数据在一个单独的箱子标记< >失踪

[bi,cp] = bininfo(sc,“CustAge”);disp (bi)
Bin Good Bad Odds WOE InfoValue _____________ _____________ ________ __________ {'[0,33)'} 69 52 1.3269 -0.42156 0.018993 {'[33,37)'} 63 45 1.4 -0.36795 0.012839 {'[37,40)'} 72 47 1.5319 -0.2779 0.0079824 {'[40,46)'} 172 89 1.9326 -0.04556 0.0004549 {'[44,51)'} 59 25 2.36 0.15424 0.0016199 {'[44,51)'} 99 41 2.4146 0.17713 0.0035449 {'[51,58)'} 157 62 2.5323 0.22469 0.0088407 {''} 19 11 1.7273 -0.15787 0.00063885{'合计'}803 3972.0227 NaN 0.087112
plotbins (sc,“CustAge”

{

显示和绘制分类数据的bin信息“ResStatus”这包括丢失的数据在一个单独的箱子标记< >失踪

[bi,cg] = bininfo(sc,“ResStatus”);disp (bi)
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 {''} 27 13 2.0769 0.026469 2.3248e-05 {'Totals'} 803 397 2.0227 NaN 0.0092627
plotbins (sc,“ResStatus”

{

“CustAge”而且“ResStatus”预测者,有缺失的数据(年代和<定义>),分箱过程估计的WOE值为-0.15787而且0.026469分别为这些预测器中缺失的数据,如上所示。

EmpStatus而且CustIncome对于缺失值,没有显式的bin,因为训练数据没有这些预测器的缺失值。

Bi = bininfo(sc,“EmpStatus”);disp (bi)
本好不好悲哀InfoValue几率  ____________ ____ ___ ______ ________ _________ {' 未知的}396 239 1.6569 -0.19947 0.021715{“雇佣”}407 158 2.5759 0.2418 0.026323{“总数”}803 397 0.048038 2.0227南
Bi = bininfo(sc,“CustIncome”);disp (bi)
Bin Good Bad Odds WOE InfoValue _________________ ______________ _________ __________ {'[0,29000)'} 53 58 0.91379 -0.79457 0.06364 {'[29000,33000)'} 74 49 1.5102 -0.29217 0.0091366 {'[33000,35000)'} 68 36 1.8889 -0.06843 0.00041042 {'[35000,40000)'} 193 98 1.9694 -0.026696 0.00017359 {'[40000,42000)'} 68 34 2 -0.011271 1.0819e-05 {'[42000,47000)'} 164 66 2.4848 0.20579 0.0078175 {'[47000,Inf]'} 183 56 3.2679 0.47972 0.041657 NaN 0.12285

使用fitmodel利用证据权重(WOE)数据拟合逻辑回归模型。fitmodel内部将所有预测变量转换为WOE值,使用自动装箱过程中找到的箱子。fitmodel然后使用逐步方法(默认)拟合逻辑回归模型。对于缺少数据的预测器,有一个显式的< >失踪bin,并从数据中计算出相应的WOE值。当使用fitmodel,对应的WOE值为< >失踪bin在执行WOE转换时被应用。

[sc,mdl] = fitmodel(sc);
1.添加CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08添加TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-063 .添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601。5.添加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257。添加CustAge, Deviance = 1442.8477, Chi2Stat = 4.4974731, PValue = 0.0339449797.添加ResStatus, Deviance = 1438.9783, Chi2Stat = 3.86941, PValue = 0.049173805。添加OtherCC, Deviance = 1434.9751, Chi2Stat = 4.0031966, PValue = 0.045414057广义线性回归模型:状态~[7个预测因子中有8项的线性公式]分布=二项估计系数:估计SE tStat pValue ________ ________ ______ __________(拦截)0.70229 0.063959 10.98 4.7498e-28 CustAge 0.57421 0.25708 2.2335 0.025513 ResStatus 1.3629 0.66952 2.0356 0.04179 EmpStatus 0.88373 0.2929 3.0172 0.002551 CustIncome 0.73535 0.2159 3.406 0.00065929 TmWBank 1.1065 0.23267 4.7556 1.9783e-06 OtherCC 1.0648 0.52826 2.0156 0.043841 AMBalance 1.0446 0.32197 3.2443 0.0011775 1200观测值,1192误差自由度离散度:1 Chi^2统计与常量模型:88.5, p-value = 2.55e-16

通过“分数、赔率和使赔率翻倍的分数(PDO)”方法缩放记分卡分数“PointsOddsAndPDO”的观点formatpoints.假设你想要500分的概率是2(好概率是坏概率的两倍),并且概率每50分翻一番(所以550分的概率是4)。

显示计分卡,显示拟合模型中保留的预测因子的缩放点。

Sc = formatpoints(Sc,“PointsOddsAndPDO”,[500 2 50]);积分信息= displaypoints(sc)
PointsInfo =38×3表预测本点  _____________ ______________ ______ {' CustAge’}{[0,33)的54.062}{‘CustAge}{[33岁,37)的56.282}{‘CustAge}{[37、40)的60.012}{‘CustAge}{[40岁,46)的69.636}{‘CustAge}{[46岁,48)的77.912}{‘CustAge}{[48, 51)的78.86}{‘CustAge}{[51岁,58)的80.83}{‘CustAge}{[58岁的Inf]的}96.76{‘CustAge}{‘失踪> <}64.984{‘ResStatus}{“租户”}62.138{‘ResStatus}{‘业主’}73.248{‘ResStatus}{‘其他’}90.828{‘ResStatus}{“失踪> <”}74.125{'EmpStatus'} {'Unknown'} 58.807 {'EmpStatus'} {'Employed'} 86.937 {'EmpStatus'} {''} NaN `

注意这些点< >失踪本为CustAge而且ResStatus显式显示(如64.9836而且74.1250分别)。的WOE值计算这些点< >失踪Bin和logistic模型系数。

对于训练集中没有缺失数据的预测器,没有显式的< >失踪箱子默认情况下,这些点被设置为因为数据缺失,他们会被判运行时分数.对于没有显式的预测器< >失踪Bin,使用name-value参数“失踪”formatpoints说明如何处理缺失数据以达到评分目的。

出于说明的目的,从原始数据中选取几行作为测试数据,并引入一些缺失的数据。还要引入一些无效的或超出范围的值。对于数字数据,低于允许的最小值(或高于允许的最大值)的值被认为是无效的,例如年龄的负值(回想一下“MinValue”之前被设定为0CustAge而且CustIncome).对于分类数据,无效值是没有明确包含在记分卡中的类别,例如,先前没有映射到记分卡类别的居住状态,如“House”,或无意义的字符串,如“abc123”。

tdata = dataMissing(11:18, mll . predictornames);只保留模型中保留的预测因子设置一些缺失的值tdata.CustAge(1) = NaN;tdata.ResStatus (2) =' <定义> ';tdata.EmpStatus (3) =' <定义> ';tdata.CustIncome(4) = NaN;设置一些无效值tdata.CustAge(5) = -100;tdata.ResStatus (6) =“房子”;tdata.EmpStatus (7) =“自由职业者”;tdata.CustIncome(8) = -1;disp (tdata)
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance _______ ___________ ___________ __________ _______ _______ _________ NaN Tenant Unknown 34000 44 Yes 119.8 48  Unknown 44000 14 Yes 403.62 65 Home Owner  48000 6 No 111.88 44其他未知NaN 35 No 436.41 -100 Other Employed 46000 16 Yes 162.21 33 House Employed 36000 36 Yes 845.02 39 Tenant Freelancer 34000 40 Yes 756.26 24 Home Owner Employed -1 19 Yes 449.61

对新数据进行评分,并查看如何为缺失分配分数CustAge而且ResStatus,因为我们有一个显式的bin< >失踪.然而,对于EmpStatus而且CustIncome分数函数将点设置为

[Scores,Points] = score(sc,tdata);disp(分数)
481.2231 520.8353 NaN NaN 551.7922 487.9588 NaN NaN
disp(分)
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance _______ _________ _________ __________ _______ _______ _________ 64.984 62.138 58.807 67.893 61.858 75.622 89.922 74.125 82.439 61.061 75.622 96.922 73.248 NaN 96.969 51.132 50.914 89.922 69.636 90.828 58.807 NaN 61.858 50.914 89.922 64.984 90.828 86.937 82.439 61.061 75.922 56.282 74.125 86.937 75.622 63.028 60.012 62.138 NaN 67.893 61.858 75.622 63.028 54.062 73.248 86.937 NaN 61.061 75.62289.922

使用name-value参数“失踪”formatpoints选择如何将点分配给没有显式参数的预测器的缺失值< >失踪箱子在本例中,使用“MinPoints”选项。“失踪”论点。最低得分EmpStatus在记分卡上面显示的都是58.8072,以及CustIncome最小值是29.3753

Sc = formatpoints(Sc,“失踪”“MinPoints”);[Scores,Points] = score(sc,tdata);disp(分数)
481.2231 520.8353 517.7532 451.3405 551.7922 487.9588 449.3577 470.2267
disp(分)
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance _______ _________ _________ __________ _______ _______ _________ 64.984 62.138 58.807 67.893 61.858 75.622 89.922 78.86 74.125 58.807 82.439 75.622 89.922 96.76 73.248 58.807 29.375 61.858 50.914 89.922 69.636 90.828 58.807 29.375 61.858 50.914 89.922 64.984 90.828 86.937 82.439 61.061 75.622 89.922 56.282 74.125 86.937 70.107 75.622 63.028 60.012 62.138 58.807 67.893 61.858 75.622 63.028 54.062 73.248 86.937 29.37561.061 75.622 89.922

这个例子展示了如何使用分数若要获取新数据集(例如,验证数据集或测试数据集)的分数,请使用可选选项“数据”输入分数函数。

创建一个creditscorecard对象使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。使用“IDVar”论点creditscorecard为了表明“CustID”包含ID信息,不应作为预测变量。

负载CreditCardDataSc =信用记分卡(数据,“IDVar”“CustID”);

对所有预测器执行自动分箱到分箱。

Sc = autobinning(Sc);

使用默认参数拟合线性回归模型。

Sc = fitmodel(Sc);
1.添加CustIncome, Deviance = 1490.8527, Chi2Stat = 32.588614, PValue = 1.1387992e-08添加TmWBank, Deviance = 1467.1415, Chi2Stat = 23.711203, PValue = 1.1192909e-063 .添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601。5.添加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257。添加CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306添加ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078。添加OtherCC, Deviance = 1433.707, Chi2Stat = 4.1686018, PValue = 0.041179769广义线性回归模型:状态~[7个预测因子中有8项的线性公式]分布=二项式估计系数:估计SE tStat pValue ________ ________ ______ __________(拦截)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观测值,1192误差自由度离散度:1 Chi^2统计与常数模型:89.7, p-value = 1.4e-16

为了便于说明,假设原始数据中的几行是我们的“新”数据。使用可选的数据中的Input参数。分数属性的分数newdata

Newdata = data(10:20,:);Scores = score(sc,newdata)
成绩=11×10.8252 0.6553 1.2443 0.9478 0.5690 1.6192 0.4899 0.3824 0.2945 1.4401

输入参数

全部折叠

信用记分卡模型,指定为creditscorecard对象。使用creditscorecard要创建creditscorecard对象。

(可选)要评分的数据集,指定为MATLAB®表中每一行对应单独的观察结果。的数据中的每个预测符都必须包含列creditscorecard对象。

输出参数

全部折叠

每个观察的分数,作为向量返回。

每个预测器对每个观察结果的得分,以表格形式返回。

算法

分数:个人的分数是由公式给出的

分数(i) = Shift +坡* (b0 + b1 * WOE1 (i) + b2 * WOE2(我)+…+ bp * WOEp(我))

在哪里bj的系数是j-th变量在模型中,WOEj)是证据的重量(WOE)价值-th个体对应于thej-th模型变量。转变而且缩放常数可以被控制吗formatpoints

如数据为个人-第一行的给定数据集,计算一个分数,数据(j)使用现有的分箱图进行分箱,并转换为相应的证据权重值有祸了j).使用模型系数,未缩放分数计算为

s = b0 + b1*WOE1(i) +…+ bp * WOEp(我)。

为简单起见,在上面的描述中假设j模型中的-th变量是j-th列的数据输入,尽管,在一般情况下,一个给定的数据集中的变量的顺序不需要匹配的变量在模型中的顺序,并且数据集可以有额外的变量没有在模型中使用。

格式化选项可以使用formatpoints

参考文献

[1]安德森信用评分工具包。牛津大学出版社,2007年。

[2] Refaat, M。信用风险记分卡:使用SAS开发和实现。lulu.com, 2011。

版本历史

在R2014b中引入

Baidu
map