主要内容

validatemodel

验证信用记分卡模型的质量

描述

例子

统计数据= vievateModel(SC.验证产品的质量CreditsCorecard.模型。

默认情况下,用于构建的数据CreditsCorecard.对象被使用。您还可以提供应用验证的输入数据。

例子

统计数据= vievateModel(SC.数据验证产品的质量CreditsCorecard.使用可选参数指定的给定数据集的模型数据

例子

[统计数据T.] = validateModel(SC.名称、值验证产品的质量CreditsCorecard.使用可选的名称-值对参数建模,并返回统计数据T.输出。

例子

[统计数据T.高频] = validateModel(SC.名称、值验证产品的质量CreditsCorecard.模型使用可选的名称值对参数,并返回图形句柄高频到CAP,ROC和KS图。

例子

全部崩溃

创建一个CreditsCorecard.对象使用CreditCardData.mat.文件加载数据(使用来自Refaat 2011的数据集)。

负载CreditCardData.sc = creditscorecard(数据,“IDVar”“CustID”
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:''varnames:{1x11 cell} numericpredictors:{1x6 cell} cateCoricalpricictors:{'resstatus''empstatus'''其他} binmissingdata:0 idvar:'custid'predictorvars:{1x9 cell}数据:[1200x11表]

使用默认选项执行自动分箱。默认情况下,autobinning用来单调算法。

sc=自动绕线(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.039696一种mBalance 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

格式化未划分的点。

sc = formatopoints(sc,“PointsOddsAndPDO”,[500,2,50]);

得分数据。

分数=分数(sc);

通过生成帽,ROC和KS图来验证信用记分卡模型。

[stats,t] = validatemodel(sc,'阴谋',{“帽子”‘中华民国’'ks'});

显示(统计)
测量值{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
disp (T (1:15)):
考试分数,考试分数,考试考试分数,考试分数,考试考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,考试分数,词词词词词词词条,词词词词词词条,假假假商品商品,假商品商品,假商品商品商品,假商品商品商品商品,商品商品商品商品敏感度假假假商品,假商品,假商品,假商品商品商品商品敏感度,词词词词词词词词词词词词词词词词词词条,对对对对对对对对对对对对假假假假假假假词词词词词词词词词词词词词词词条,词词词词词词词词词词词词词词条,对对对对对对对对对对对对对对对对对对对假假假假假假假假假假假假假假假假假假_uuuu369.54 0.75313 0 1 802 397 0.0012453 0.00083333 378.19 0.73016 1 802 396 0.0025189 0.0012453 0.0016667 380.28 0.72444 2 1 802 395 0.0050378 0.0012453 0.0025 391.490.69234 3 1 802 394 0.0075567 0.0012453 0.0033333 395.57 0.68017 4 1 802 393 0.010076 0.0012453 0.0041667 396.14 0.67846 4 2 801 393 0.010076 0.0024907 0.005 396.45 0.67752 5 2 801 392 0.012594 0.0024907 0.0058333 398.61 0.67094 6 2 801 391 0.015113 0.0024907 0.0066667 398.68 0.67072 7 2 801 390 0.017632 0.0024907 0.0075 401.33 0.66255 8 2 801 389 0.020151 0.0024907 0.0083333 402.66 0.65842 8 3 800 389 0.020151 0.003736 0.0091667 404.25 0.65346 9 3 800 388 0.02267 0.003736 0.01 404.73 0.65193 9 4 799 388 0.02267 0.0049813 0.010833 405.53 0.64941 11 4 799 386 0.027708 0.0049813 0.0125 405.7 0.64887 11 5 798 386 0.027708 0.0062267 0.013333

使用CreditCardData.mat.文件加载数据(dataWeights)包含列(rowweights.)对于权重(使用来自Refaat 2011的数据集)。

负载CreditCardData.

创建一个CreditsCorecard.使用可选名称值对参数的对象“WeightsVar”

sc=信用记分卡(数据权重,“IDVar”“CustID”“WeightsVar”“划船重量”
sc = creditscorecard带有属性:goodlabel:0 responsevar:'status'fightsvar:'Rowweights'varnames:{1x12 Cell} NumericPredictors:{1x6 Cell}分类预测器:{'Resstatus''empStatus''Ottuccc'} BinmissingData:0 IDVAR:'CustId'predictorvars:{1x9 cell}数据:[1200x12表]

执行自动排放。

sc = autobinning(sc)
sc = creditscorecard带有属性:goodlabel:0 responsevar:'status'fightsvar:'Rowweights'varnames:{1x12 Cell} NumericPredictors:{1x6 Cell}分类预测器:{'Resstatus''empStatus''Ottuccc'} BinmissingData:0 IDVAR:'CustId'predictorvars:{1x9 cell}数据:[1200x12表]

符合模型。

sc = fitmodel (sc);
1.加CustIncome, Deviance = 764.3187, Chi2Stat = 15.81927, PValue = 6.968927e-05添加TmWBank, Deviance = 751.0215, Chi2Stat = 13.29726, PValue = 0.0002657942广义线性回归模型:logit(status) ~ 1 + CustIncome + TmWBank + AMBalance Distribution = Binomial Estimated Coefficients:Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 0.70642 0.088702 7.964 1.6653e-15 CustIncome 1.0268 0.25758 3.9862 6.7132e-05 TmWBank 1.0973 0.31294 3.5063 0.0004543 AMBalance 1.0039 0.37576 2.6717 0.0075464 1200个观测值,1196个误差自由度36.4, p-value = 6.22e-08

格式化未划分的点。

sc = formatopoints(sc,“PointsOddsAndPDO”,[500,2,50]);

得分数据。

分数=分数(sc);

通过生成帽,ROC和KS图来验证信用记分卡模型。当可选的名称值对参数时“WeightsVar”用于指定观察(样本)重量,T.表使用加权计数的统计信息、总和和累积总和。

[stats,t] = validatemodel(sc,'阴谋',{“帽子”‘中华民国’'ks'});

统计数据
统计=4×2表测量值___________________________ {'准确率'} 0.28972 {'roc curve'} 0.64486 {'ks统计'} 0.23215 {'ks得分'} 505.41
T (1:10,:)
ans =.10×9表分数ProbDefault TrueBads FalseBads TrueGoods FalseGoods灵敏度误报警PctObs ______ ___________ ________ _________ _________ __________ ___________ __________ _________ 401.34 0.66253 1.0788 0 411.95 201.95 0.0053135 0 0.0017542 407.59 0.64289 4.8363 1.2768 410.67 198.19 0.023821 0.0030995 0.0099405 413.79 0.62292 6.9469 4.6942 407.25 196.08 0.034216 0.011395 0.018929 420.04 0.60236 18.459 9.3899 402.56184.57 0.090918 0.022794 0.045285 437.27 0.544 18.459 10.514 401.43 184.57 0.090918 0.025523 0.047113 442.83 0.52481 18.973 12.794 399.15 184.06 0.093448 0.031057 0.051655 446.19 0.51319 22.396 14.15 397.8 180.64 0.11031 0.034349 0.059426 449.08 0.50317 24.325 14.405 397.54 178.71 0.11981 0.034968 0.062978 449.73 0.50095 28.246 18.049 393.9 174.78 0.13912 0.04381​​3 0.075279 452.440.49153 31.511 23.565 388.38 171.52 0.1552 0.057204 0.089557

此示例描述了丢失数据的分配'binmissingdata'选项设置为真的以及模型验证统计数据的相应计算。

  • 训练集中有缺失数据的预测器有一个显式的容器< >失踪在最后的记分卡上有相应的分数。这些点数是根据证据权重(WOE)值计算的< >失踪垃圾箱和逻辑模型系数。为了评分目的,这些点被分配给缺少值以及超出范围的值,并且最终得分用于计算模型验证统计数据validatemodel

  • 在培训集中没有缺少数据的预测器没有< >失踪垃圾箱,因此可以从训练数据估算没有祸患。默认情况下,丢失和超出范围值的点设置为,这导致得分跑步时分数.对于没有明确的预测器< >失踪Bin,使用name-value参数'失踪'在里面格式点说明应如何处理缺失数据以进行评分。最后的分数用于计算模型验证统计数据validatemodel

创建一个CreditsCorecard.对象使用CreditCardData.mat.文件加载数据缺失缺少值。

负载CreditCardData.mat.头(dataMissing, 5)
ans =.5×11表的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租户雇用37000 61否877.23 0.29 0 4纳米75家雇主采用53000 20是157.37 0.08 0 5 68 56家主人使用53000 14是561.84 0.11 0

使用CreditsCorecard.使用name-value参数'binmissingdata'设置为真的在单独的箱中禁止缺少的数字或分类数据。涂上自动分箱。

sc=信用记分卡(数据缺失,“IDVar”“CustID”'binmissingdata',真正的);sc = autobinning (sc);disp (sc)
creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:''varnames:{1x11 cell} numericpredictors:{1x6 cell} cateCoricalpricictors:{'resstatus''empstatus''overcc'} binmissingdata:1 idvar:'custid'predictorvars:{1x9 cell}数据:[1200x11表]

设置最小值为零CustAge缅因一.有了这个,任何负面年龄或收入信息都无效或“超出范围”。对于默认计算的评分和概率,超出范围的值被赋予与缺失值相同的点。

sc = modifybins (sc,“守护”'minvalue', 0);sc = modifybins (sc,“缅因”'minvalue', 0);

显示箱信息以获取数字数据“守护”包括在单独的容器中丢失的数据< >失踪

bi = bininfo(sc,“守护”); 显示(bi)
本好不好悲哀InfoValue几率  _____________ ____ ___ ______ ________ __________ {'[ 0, 33) 52} 69 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{'[46岁,48)}59 25 2.36 0.15424 0.0016199{[48,51)}99年41 2.4146 0.17713 0.0035449{'[51,58)'} 157 62 2.5323 0.22469 0.0088407 {'[58,Inf]'} 93 25 3.72 0.60931 0.032198 {''} 19 11 1.7273 -0.15787 0.00063885 {' total '} 803 397 2.0227 NaN 0.087112

显示的分类数据的bin信息'resstatus'包括在单独的容器中丢失的数据< >失踪

bi = bininfo(sc,'resstatus'); 显示(bi)
垃圾箱好赔率悲伤___________ _______ ______________________________________________________________________________} 27 13 2.0769 0.026469 2.3248E-05 {'总计'} 803 397 2.0227 NaN 0.0092627

“守护”'resstatus'预测者,有缺失的数据(年代和<未定义>)在培训数据中,融合过程估计了一个祸患-0.157870.026469分别在这些预测器中缺少数据,如上所示。

empstatus.缅因一没有用于缺失值的显式箱,因为培训数据没有缺少这些预测器的值。

bi = bininfo(sc,'empstatus'); 显示(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,“缅因”); 显示(bi)
宾好差赔率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)'} 16466 2.4848 0.20579 0.0078175 { '[47000,天道酬勤]'} 183 56 3.2679 0.47972 0.041657 { '总计'} 803 397 2.0227的NaN 0.12285

使用fitmodel使用证据权重(WOE)数据拟合逻辑回归模型。fitmodel在内部将所有预测变量转换为祸值,使用自动装箱过程中找到的箱子。fitmodel然后使用逐步方法(默认情况下)拟合逻辑回归模型。对于具有缺失数据的预测器,有一个明确的< >失踪bin,并根据数据计算出相应的WOE值。使用时fitmodel,在执行WOE转换时应用<缺失>箱的相应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-06添加AMBalance, Deviance = 1455.5715, Chi2Stat = 11.569967, PValue = 0.00067025601增加EmpStatus, Deviance = 1447.3451, Chi2Stat = 8.2264038, PValue = 0.0041285257 5。加CustAge, Deviance = 1442.8477, Chi2Stat = 4.4974731, PValue = 0.033944979添加ResStatus, Deviance = 1438.9783, Chi2Stat = 3.86941, PValue = 0.049173805广义线性回归模型:status ~[7个预测因子中8项的线性公式]Distribution = Binomial Estimated Coefficients:Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 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一种mBalance 1.0446 0.32197 3.2443 0.0011775 1200 observations, 1192 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 88.5, p-value = 2.55e-16

使用“点,赔率,指向赔率(PDO)”方法缩放记分卡点数“PointsOddsAndPDO”争论格式点.假设你想要获得500分的概率是2(好的概率是坏的概率的两倍),概率每50分翻一倍(所以550分的概率是4)。

显示显示在拟合模型中保留的预测器按比例缩放的点数的记分卡。

sc = formatopoints(sc,“PointsOddsAndPDO”,[500 2 50]);diotninfo = displaypoints(sc)
PointsInfo =38×3表预测器垃圾桶点_____________ __________________________________________________________________________________________________________________________________________________________60.012 {'守护者'} {'[40,46)'} 69.636 {'守护者'{'[46,48)'} 77.912 {'守护者'} 78.86 {'监护人'} {'[51,58)'} 80.83 {'catere'} {'[58,inf]'} 96.76 {'custage'} {'<缺失>'} 64.984 {'Resstatus'} {'租户'} 62.138{'Resstatus'} {'归属主人'} 73.248 {'Resstatus'} {'其他'} 90.828 {'resstatus'} {'<缺少>'} 74.125 {'empstatus'} {'未知'} 58.807 {'empstatus'} {'雇用'} 86.937 {'empstatus'} {'<缺少>'} nan⋮

注意这个点< >失踪垃圾箱CustAgeresstatus明确显示(如64.983674.1250分别)。这些点是根据该地区的WOE值计算出来的< >失踪和logistic模型系数。

对于训练集中没有缺失数据的预测器,没有显式的< >失踪垃圾箱。默认情况下,该点设置为因为缺少数据,他们会得到分数跑步时分数.对于没有明确的预测器< >失踪Bin,使用name-value参数'失踪'在里面格式点表示如何处理缺少数据以获得评分目的。

为了便于说明,从原始数据中选取几行作为测试数据,并引入一些缺失的数据。还引入了一些无效或超出范围的值。对于数字数据,低于允许的最小值(或高于最大值)的值被视为无效,例如年龄为负值(回忆)'minvalue'之前设置为0CustAge缅因一).对于分类数据,无效值是在记分卡中未明确包含的类别,例如,未以前映射到记分卡类别的住宅状态,例如“House”,或诸如“ABC123”之类的无意义的字符串。

这是一个非常小的验证数据集,只用于说明具有缺失和超出范围值的行的评分,以及与模型验证的关系。

tdata = datamissing(11:18,mdl.predictornames);%只保留模型中的预测器tdata.status = datamissing.status(11:18);%复制响应变量值,需要验证目的%设置一些缺少的值tdata.CustAge(1) =南;tdata.ResStatus (2) ='<未定义>';tdata.empstatus(3)='<未定义>';TDATA.CUSTINCOME(4)= NAN;%设置一些无效值tdata.Custage(5)= -100;tdata.resstatus(6)='房子'; tdata.EMP状态(7)=“自由职业者”;TDATA.CUSTINCOME(8)= -1;DISP(TDATA)
CustAge ResStatus EmpStatus CustIncome TmWBank OtherCC AMBalance地位  _______ ___________ ___________ __________ _______ _______ _________ ______ 南租户未知34000 44是的119.8 - 1 48 <定义>未知44000 14是的403.62 0 65房主<定义> 48000年6没有其它未知南35 111.88 0 44 436.41 0 -100其他雇用了46000名16岁是的162.21 0 33 House Employed 36000 36 Yes 845.02 0 39 Tenant Freelancer 34000 40 Yes 756.26 1 24 Home Owner Employed -1 19 Yes 449.61 0

为新数据打分,并查看如何为缺失数据分配分数CustAgeresstatus,因为我们有一个显式的为< >失踪.然而,对于empstatus.缅因一分数函数将点设置为

验证结果不可靠,分数为保持值(参见验证表ValTable以下),但目前尚不清楚这些影响是什么值在验证统计数据中(ValStats).这是一个非常小的验证数据集,但在更大的数据集上,分数仍然可以影响验证结果。

[得分,得分]=得分(sc,tdata);显示(分数)
481.2231 520.8353南纳551.7922 487.9588南楠
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
[Valstats,Valtable] = ValidateModel(SC,TDATA);DISP(VALSTATS)
测量值___________________________ {'准确率'} 0.16667 {'roc curve'} 0.58333 {'ks统计'} 0.5 {'ks得分'} 481.22
DISP(VALTABLE)
分数ProbDefault TrueBads FalseBads TrueGoods FalseGoods敏感性FalseAlarm PctObs  ______ ___________ ________ _________ _________ __________ ___________ __________ ______ 南南5 0 1 2 0 0 0.16667 0.125南南2 4 2 0 0.33333 0.25南南1 2 4 1 0.5 0.33333 0.375南南1 3 3 1 0.5 0.5 0.5 481.22 0.39345 - 2 3 3 0 1 0.5 0.625 487.960.3714 2 4 20 1 0.66667 0.75 520.84 0.2725 25 1 0 1 0.83333 0.875 551.79 0.19605 2 60 0 1 1 1 1

使用名称值参数'失踪'在里面格式点选择如何为没有显式指示的预测器的缺失值分配点< >失踪箱子在本例中,使用'minpoints'选择'失踪'争论。最低点empstatus.在上面显示的记分卡中58.8072.而对于缅因一最小值点是29.3753

验证结果不再受影响值,因为现在所有行都有一个分数。

sc = formatopoints(sc,'失踪''minpoints');[得分,得分]=得分(sc,tdata);显示(分数)
481.2231 520.8353 517.7532 451.3405 551.7922 487.9588 479.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
[Valstats,Valtable] = ValidateModel(SC,TDATA);DISP(VALSTATS)
测量值{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
DISP(VALTABLE)
Scores Probdefault TrueBads FalseGabs Truegoods FalseGoods敏感性Falsealarm Pctobs _______________ _______________________________________________________________________________________________________________________________________0.30 0.3333 1 2 4 1 0.5 0.33331 0.375 481.22 0.39345 2 2 40 1 0.33333 0.5 487.96 0.3714 2 3 3 0 1 0.5 0.625 517.75 0.28105 2 4 2 0 1 0.6667 0.75 520.84 0.2725 2 5 1 0 1 0.8333 0.875 501.79 0.19605 2 6 0 0 1 1 1 1

输入参数

全部崩溃

信用记分卡模型,指定为CreditsCorecard.目的。要创建此对象,请使用CreditsCorecard.

(可选)验证数据,指定为MATLAB®表,其中每个表行对应于单个观察值。这个数据必须包含信用记分卡模型中每个预测值的列。数据列可以是以下任意一种数据类型:

  • 数字的

  • 逻辑

  • 字符向量单元数组

  • 字符数组

  • 分类

  • 细绳

  • 字符串数组

此外,该表必须包含一个二进制响应变量。

笔记

使用可选选项定义观测权重时掌权名称-值对参数CreditsCorecard.对象,存储在中的权重掌权在验证训练数据上验证模型时使用列。如果使用可选提供不同的验证数据集数据验证数据的输入、观察权值必须包含在名称匹配的列中掌权,否则单位权重用于验证数据。有关更多信息,请参见使用带权重的validatemodel

数据类型:桌子

名称-值对参数

指定可选的逗号分隔的对名称、值论点。名称参数名和价值是对应的值。名称必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家

例子:sc=validatemodel(sc,数据,'AnalysisLevel','Deciles','Plot','CAP')

分析级别的类型,指定为由逗号分隔的对组成“AnalysisLevel”和具有下列值之一的字符向量:

  • “分数”-返回统计数据(统计数据)在观察水平。分数是从最安全的最安全的分类,并删除重复。

  • '十分档'-返回统计数据(统计数据)在十分位。分数从最危险到最安全进行排序,并与相应的统计数据合并为10个十分位数(10%,20%,…,100%)。

数据类型:char

图的类型,指定为逗号分隔对,由'阴谋'和具有下列值之一的字符向量:

  • “没有”—未显示任何图形。

  • “帽子”-累积精度简介。绘制出得分在s以上的借款人比例与得分在s以上的违约者比例('pctobs'“敏感性”列的T.可选输出参数)。有关更多详细信息,请参阅累积准确性概况(帽)

  • ‘中华民国’-接收机工作特性。绘制得分为“s”的未违约者的比例与得分为“s”的违约者的比例(“FalseAlarm”“敏感性”列的T.可选输出参数)。有关更多详细信息,请参阅接收机工作特性(ROC)

  • 'ks'——Kolmogorov-Smirnov。将每个分数“s”与得分为“s”的违约者的比例,以及得分为“s”的非违约者的比例(“分数”和两个“敏感性”“FalseAlarm”可选输出参数的列T.).有关更多详细信息,请参阅Kolmogorov-Smirnov统计数据(KS)

    小费

    对于Kolmogorov-Smirnov统计选项,您可以输入'ks'要么“K-S”

数据类型:char|细胞

输出参数

全部崩溃

验证措施,作为一个返回4.-经过-2桌子第一栏,,“测量”,包含以下措施的名称:

  • 精度比(AR)

  • ROC曲线下面积(AUROC)

  • KS统计信息

  • ks得分

第二列,'价值',包含与这些度量值对应的值。

验证统计数据,返回为N-经过-9.验证统计数据表,按分数排序,从最危险到最安全。什么时候分析水平被设置为'十分档'N等于10.. 否则,,N等于唯一分数的总数,即没有重复的分数。

T.按此顺序包含以下九列:

  • “分数”- 从最安全的最安全的分数排序。此行中的数据对应于所有观察到,包括此行中的分数。

  • 'probdefault'- 默认值为此行的观察概率。对于十分件,报告了给定的十字架中所有观察的违约的平均概率。

  • “TrueBads”-累计的“坏”数达到并包括相应的分数。

  • 'falsebads'-“商品”的累计数量达到并包括相应的分数。

  • “TrueGoods”-高于相应分数的“货物”累计数量。

  • '虚假oods'- 相应得分高于相应分数的“坏人”的累积数量。

  • “敏感性”-违约者的比例(或“坏”的累计数量除以“坏”的总数量)。这是“坏”的分布,包括相应的分数。

  • “FalseAlarm”-非违约者的比例(或“货物”的累计数量除以“货物”的总数量)。这是“商品”的分配,包括相应的分数。

  • 'pctobs'- 借款人的分数,或累计观察次数,除以达到和包括相应得分的总数。

笔记

在创建CreditsCorecard.反对CreditsCorecard.,如果可选的名称值对参数掌权用于指定观察(样本)权重,则T.表使用加权计数的统计信息、总和和累积总和。

图形句柄绘制措施,作为图形手柄或手柄数组返回。什么时候情节被设置为“没有”高频是一个空数组。

更多关于

全部崩溃

累积准确性概况(帽)

CAP通常是一条凹曲线,也被称为基尼曲线、幂曲线或洛伦兹曲线。

给定的观察结果的分数按照风险从最高到最安全的顺序排列。对于一个给定的分数m(0%至100%)在总借款人中,上限曲线的高度是分数小于或等于该分数最大分数的违约者分数m,也称为“敏感性”。

然后将被称为阳涂的帽曲线下的区域与完美或“理想”模型的区域进行比较,导致称为精度比的摘要指数的定义(AR.)或基尼系数:

一种 R. = 一种 R. 一种 P.

在哪里一种R.帽曲线和对角线之间的区域是一种P.是完美模型和对角线之间的区域。这表示“随机”模型,其中分数随机分配,因此违规者和非违规者的比例与分数无关。完美的模型是所有默扣员分配最低分数的模型,因此,在默认员和非默认之间完全辨别。因此,彼此仔细AR.是,评分模型越好。

接收机工作特性(ROC)

为了找到接受者工作特征(ROC)曲线,需要计算在给定分数或敏感度范围内的违约者的比例。

这种比例被称为真正的阳性率(TPR)。此外,还计算了不可思议的不评分“S”或“误报率”的比例。该比例也称为假阳性率(FPR)。ROC曲线是“敏感性”与“误报率”的曲线。计算ROC曲线类似于计算每个得分水平的相同的相应矩阵。

与CAP类似,ROC有一个汇总统计数据,称为ROC曲线下面积(AUROC)。越接近统一,得分模型就越好。准确度比(AR.)通过以下公式与曲线下的面积相关:

一种 R. = 2 一种 R. O. C - 1

Kolmogorov-Smirnov统计数据(KS)

Kolmogorov-Smirnov(KS)绘图也称为鱼眼图,是用于测量记分卡的预测力的常见统计信息。

KS图显示了违约者和非违约者在同一图上的分布。对于违约者的分布,每一个“s”都被绘制出来,与违约者在“s”或“敏感度”以下的比例。对于非违约者的分布,每一个“s”都被绘制在“s”或“错误警报”之前的非违约者的比例上。感兴趣的统计量称为KS统计量,它是这两个分布之间的最大差异(“灵敏度”减去“假警报”)。达到这个最大值的分数也是很有趣的。

使用validatemodel与重量

模型验证统计信息包含用户提供的观察权重。

没有权重,验证统计数据基于多少好的和坏观察结果低于特定分数。另一方面,当提供观察权重时,累积重量(不是计数),用于低于特定分数的良好和不良观察。

使用可选选项定义观测权重时掌权名称-值对参数CreditsCorecard.对象,存储在中的权重掌权在验证训练数据上验证模型时使用列。当使用可选提供不同的验证数据集时数据验证数据的输入、观察权值必须包含在名称匹配的列中掌权,否则单位权重用于验证数据集。

不仅验证统计量,而且信用记分卡本身的分数也依赖于训练数据的观测权值。有关更多信息,请参见使用FitModel重量利用观测权建立信用记分卡模型

参考文献

[1]“巴塞尔银行监管委员会:内部评级系统验证研究。”2005年2月14日的工作文件。

[2] 雷法特,M。信用风险记分卡:使用SAS开发和实施。露露网,2011年。

Loeffler, G.和Posch, P. N。使用Excel和VBA的信用风险建模。威利金融,2007年。

在R2015A介绍