分数

计算给定数据的信用分数

描述

例子

分数=分数(sc计算的信用分数creditscorecard对象的训练数据。这些数据可以是“训练”数据集,也可以是“活动”数据集。如果数据未显式提供输入参数,则分数函数确定现有对象的分数creditscorecard对象的数据。

formatpoints金宝app支持多种可选方案来修改分数的缩放,也可用于控制分数和分数的舍入,以及基准点是单独报告还是分散在各个预测器上。缺失数据转化为值对应的分数,因此为总分数。使用formatpoints修改数据缺失行的得分行为。

例子

分数=分数(sc,数据计算给定输入的信用分数数据.这些数据可以是“训练”数据集,也可以是“活动”数据集。

formatpoints金宝app支持多种可选方案来修改分数的缩放,也可用于控制分数和分数的舍入,以及基准点是单独报告还是分散在各个预测器上。缺失数据转化为值对应的分数,因此为总分数。使用formatpoints修改数据缺失行的得分行为。

例子

分数要点]=得分(sc计算给定数据的信用评分和分数。如果数据未显式提供输入参数,则分数函数确定现有对象的分数creditscorecard对象的数据。

formatpoints金宝app支持多种可选方案来修改分数的缩放,也可用于控制分数和分数的舍入,以及基准点是单独报告还是分散在各个预测器上。缺失数据转化为值对应的分数,因此为总分数。使用formatpoints修改数据缺失行的得分行为。

例子

分数要点]=得分(sc数据计算给定输入的信用分数和分数数据.这些数据可以是“训练”数据集,也可以是“活动”数据集。

formatpoints金宝app支持多种可选方案来修改分数的缩放,也可用于控制分数和分数的舍入,以及基准点是单独报告还是分散在各个预测器上。缺失数据转化为值对应的分数,因此为总分数。使用formatpoints修改数据缺失行的得分行为。

例子

全部折叠

此示例演示如何使用分数获取训练数据的分数。

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

负载信用卡数据sc = creditscorecard(数据,“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-06添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601增加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257 5。添加CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306添加ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078广义线性回归模型:状态~[7个预测因子中8项的线性公式]分布=二项式估计系数: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.039696AMBalance 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

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

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

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

sc = formatpoints (sc,“最佳分数”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 126.46 82.276 105.81 122.18 62.107 86.224 64.15 93.256 62.421 105.81 76.585 116.05 42.287 64.15 95.256 82.276 105.81 121.18 60.719 86.224 110.96 126.46 82.276 105.81 121.1860.719 86.224 64.15 126.46 82.276 105.81 121.18 116.05 86.224 64.15 48.727 82.276 56.765 53.208 62.107 86.224 64.15 95.256 113.58 105.81 121.18 62.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在最终记分卡中有相应的分数。这些分数是根据bin和逻辑模型系数。为了评分,这些点被分配给缺失值和超出范围的值。

  • 训练集中没有缺失数据的预测器没有缺失数据bin,因此不能从训练数据中估计出WOE。默认情况下,缺失值和超出范围值的点被设置为,这就导致了一系列的运行时分数.对于没有明确定义的预测值bin,使用name-value参数“失踪”formatpoints以指示如何处理缺失的数据进行评分。

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

负载CreditCardData.mat头(dataMissing, 5)
ans=5×11表(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌乌77.23 0.29 0 4南75业主雇佣53000 20是157.37 0.08 0 5 68 56业主雇佣53000 14是561.84 0.11 0
流('行数:%d\n'、高度(dataMissing))
行数:1200
流('缺少的值的数量CustAge: %d\n'总和(ismissing (dataMissing.CustAge)))
CustAge: 30
流('缺少值的数目状态:%d\n'总和(ismissing (dataMissing.ResStatus)))
ResStatus: 40

使用creditscorecard使用name-value参数“BinMissingData”设置为真正的将丢失的数字或分类数据存储在单独的存储箱中。应用自动存储箱。

sc = creditscorecard (dataMissing,“IDVar”“CustID”“BinMissingData”,真正的);sc = autobinning (sc);disp (sc)
具有属性的creditscorecard:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x6 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:1 IDVar:'CustID'预测值:{1x9 cell}数据:[1200x11表格]

设置最小值为零保管CustIncome.这样,任何负年龄或收入信息都将失效或“超出范围”。出于评分目的,超出范围的值与缺失值给出相同的分数。

sc = modifybins (sc,“保管”“MinValue”, 0);sc = modifybins (sc,“CustIncome”“MinValue”, 0);

显示和绘图箱信息的数字数据“保管”这包括在一个单独的标签箱中丢失的数据

(bi, cp) = bininfo (sc,“保管”);disp (bi)
(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU46)“172891.9326-0.04556 0.0004549{'[46,48'}59 25 2.36 0.15424 0.0016199{'[48,51'}99 41 2.4146 0.17713 0.0035449{”[51,58)}15762.53230.224690.0088407{'[58,Inf]}93253.720.609310.032198{'}1911.7273-0.15787 0.00063885{'Totals'}8033972.0227 NaN 0.087112
plotbins (sc,“保管”

显示和绘图的分类数据的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 {' total '} 803 397 2.0227 NaN 0.0092627
plotbins (sc,“ResStatus”

对于“保管”“ResStatus”预测,缺少数据(s和<定义>)在训练数据中,binning过程估计的WOE值为-0.157870.026469分别针对这些预测值中的缺失数据,如上所示。

EmpStatusCustIncome由于训练数据中没有这些预测器的缺失值,因此没有明确的缺失值存放。

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)
本好不好悲哀InfoValue几率  _________________ ____ ___ _______ _________ __________ {'[ 0, 29000)} 53 58 0.91379 -0.79457 0.06364{[29000、33000)}74年49 1.5102 -0.29217 0.0091366{[33000、35000)的36}68 1.8889 -0.06843 0.00041042{[35000、40000)的}193 98 1.9694 -0.026696 0.00017359{[40000、42000)}68 2 -0.011271 - 1.0819 e-05 34{'[42000,47000)'} 164 66 2.4848 0.20579 0.0078175 {'[47000,Inf]'} 183 56 3.2679 0.47972 0.041657 {' total '} 803 397 2.0227 NaN 0.12285

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

(sc, mdl) = fitmodel (sc);
1.加上CustIncome,偏差=1490.8527,Chi2Stat=32.588614,PValue=1.1387992e-08 2。添加TmWBank,偏差=1467.1415,Chi2Stat=23.711203,PValue=1.1192909e-06 3。添加AMBalance,偏差=1455.5715,Chi2Stat=11.569967,PValue=0.00067025601 4。添加EmpStatus,偏差=1447.3451,Chi2Stat=8.2264038,PValue=0.0041285257 5。加上保管费,偏差=1442.8477,Chi2Stat=4.4974731,PValue=0.033944979 6。加上ResStatus,偏差=1438.9783,Chi2Stat=3.86941,PValue=0.049173805 7。加上其他Cc,偏差=1434.9751,Chi2Stat=4.0031966,PValue=0.045414057广义线性回归模型:状态~[7个预测值中包含8项的线性公式]分布=二项式估计系数:估计统计PValue uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu0.70229 0.063959 10.98 4.7498e-28保管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保管收入0.73535 0.2159 3.406 0.00065929 TmWBank 1.1065 0.23267 4.7556 1.9783e-06其他CC 1.0648 0.52826 2.0156 0.043846安巴兰斯1.2497观察结果,1192误差自由度离散度:1 Chi^2-统计与常数模型:88.5,p值=2.55e-16

通过“点数、几率和几率加倍(PDO)”方法来衡量记分卡点数“PointsOddsAndPDO”论据formatpoints.假设你想要获得500分的概率是2(好的概率是坏的概率的两倍),概率每50分翻一倍(所以550分的概率是4)。

显示记分卡,显示拟合模型中保留的预测值的缩放点。

sc = formatpoints (sc,“PointsOddsAndPDO”,[500 2 50]);点信息=显示点(sc)
PointsInfo =38×3表UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢卢{'[48,51'}78.86{'[51,58'}80.83{''CustAge'}{'[58,Inf]'}96.76{'CustAge'}{}64.984{'ResStatus'}{'ResStatus'}{'Tenant'}62.138{'ResStatus'}{'Home Owner'}73.248{'ResStatus'}{'Other'}90.828{'ResStatus'}{'missing>}74.125{'EmpStatus'}{'Unknown'}58.807{'EmpStatus'}{'EmpStatus'}{'EmpStatus'}{'⋮

注意这个点垃圾箱保管ResStatus显式显示(如64.983674.1250分别)。这些点是根据该地区的WOE值计算出来的和logistic模型系数。

对于在训练集中没有缺失数据的预测值,没有明确的定义箱子默认情况下,点设置为因为缺少数据,他们会导致运行时分数.对于没有明确定义的预测值bin,使用name-value参数“失踪”formatpoints以指示如何处理缺失的数据进行评分。

出于演示的目的,从原始数据中提取几行作为测试数据,并引入一些缺失的数据。还要引入一些无效的或超出范围的值。对于数字数据,低于允许的最小值(或高于允许的最大值)的值被认为是无效的,例如年龄的负值(回忆一下)“MinValue”早些时候被设定为0保管CustIncome).对于分类数据,无效值是没有显式地包含在记分卡中的类别,例如,以前没有映射到记分卡类别的居住状态,如“House”,或没有意义的字符串,如“abc123”。

tdata = dataMissing (11:18 mdl.PredictorNames);%仅在模型中保留预测值%设置一些缺失的值tdata.CustAge(1) =南;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  _______ ___________ ___________ __________ _______ _______ _________ 南租户未知34000 44是的119.8 48 <定义>未知44000 14是的403.62 65房主<定义> 48000年6没有其它未知南35 111.88 44 436.41 -100其他雇用了46000名16是的162.21 33家36000 36 Yes 845.02 39 Tenant Freelancer 34000 40 Yes 756.26 24 Home Owner Employed -1 19 Yes 449.61

对新数据进行评分,并查看如何为缺失打分保管ResStatus,因为我们有一个带有点的显式bin.但是EmpStatusCustIncome分数函数将点设置为

(分数,分)=分数(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 78.86 74.125 58.807 82.439 61.061 75.622 89.922 96.76 73.248 NaN 96.969 51.132 50.914 89.922 69.636 90.828 58.807 61.858 50.914 89.922 64.984 90.828 86.937 82.43961.061 75.622 89.922 56.282 74.125 86.937 70.107 61.858 75.622 63.028 60.012 62.138 NaN 67.893 61.858 75.622 63.028 54.062 73.248 86.937

使用name-value参数“失踪”formatpoints选择如何为没有明确定义的预测值的缺失值指定点箱子在本例中,使用“明点”选择“失踪”论点。最低分数EmpStatus在上面显示的记分卡中58.8072,及CustIncome最低分数为29.3753

sc = formatpoints (sc,“失踪”“明点”);(分数,分)=分数(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 61.061 75.622 89.922 96.76 73.248 58.807 96.969 51.132 50.914 89.922 69.636 90.828 58.807 29.375 61.858 50.914 89.922 64.984 90.828 86.93782.439 61.061 75.622 89.922 56.282 74.125 86.937 70.107 61.858 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.375 61.061 75.622 89.922

此示例演示如何使用分数使用可选参数获取新数据集(例如,验证或测试数据集)的分数“数据”输入的分数函数。

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

负载信用卡数据sc = creditscorecard(数据,“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-06添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601增加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257 5。添加CustAge, Deviance = 1441.994, Chi2Stat = 5.3511754, PValue = 0.020708306添加ResStatus, Deviance = 1437.8756, Chi2Stat = 4.118404, PValue = 0.042419078广义线性回归模型:状态~[7个预测因子中8项的线性公式]分布=二项式估计系数: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.039696AMBalance 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

为了便于说明,假设原始数据中的几行是我们的“新”数据。使用可选的数据分数函数获取新数据

: newdata =数据(20);newdata分数=分数(sc)
得分=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变量,以及j)是证据权重(WOE)的价值-对应于jth模型变量。转变缩放常数是可以控制的吗formatpoints

如果数据为单个-给定数据集的第行,为了计算分数(j)使用现有的装箱映射进行装箱,并转换为证据值的相应权重有祸了j).使用模型系数,未标度分数计算如下:

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

为简单起见,在上面的描述中假设j模型中的第一个变量为j-th列,但是,一般来说,给定数据集中变量的顺序不必与模型中变量的顺序相匹配,而且数据集中可能有模型中没有使用的其他变量。

可以使用以下方法控制格式选项formatpoints

工具书类

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

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

介绍了R2014b