主要内容

probdefault

给定数据集的默认可能性

描述

例子

pd= probdefault (sc计算以下各项的违约概率:sc,用来建立creditscorecard对象。

例子

pd= probdefault (sc数据计算使用可选参数指定的给定数据集的默认概率数据

默认情况下,用于构建creditscorecard对象被使用。您还可以提供输入数据,对其应用相同的违约概率计算。

例子

全部崩溃

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

负载信用卡数据sc=信用记分卡(数据,“IDVar”“CustID”
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x6 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'CustID'预测值:{1x9 cell}数据:[1200x11表格]

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

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

计算违约概率。

pd = probdefault (sc);disp (pd (1:15)):
0.2503 0.1878 0.3173 0.1711 0.1895 0.1307 0.5218 0.2848 0.2612 0.3047 0.3418 0.2237 0.2793 0.3615 0.1653

这个例子描述了丢失数据的赋值“BinMissingData”选项设置为真正的,以及相应的违约概率的计算。

  • 训练集中有缺失数据的预测器有一个显式的容器< >失踪在最终记分卡中有相应的分数。这些点是根据该事件的证据权重(WOE)值计算得出的< >失踪Bin和logistic模型系数。出于记分的目的,这些分数被分配给缺失的值和超出范围的值,最后的分数被映射到使用时默认值的概率probdefault

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

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

负载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

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

sc=信用记分卡(数据缺失,“IDVar”“CustID”“BinMissingData”,对);sc=自动绕线(sc);高级惩教主任(高级惩教主任)
具有属性的creditscorecard:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x6 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:1 IDVar:'CustID'预测值:{1x9 cell}数据:[1200x11表格]

设置最小值为0CustAgeCustIncome。这样,任何负年龄或收入信息都将无效或“超出范围”。对于评分和违约概率计算,超出范围的值将与缺失值得到相同的分数。

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

显示bin信息的数字数据“保管”这包括在一个单独的标签箱中丢失的数据< >失踪

bi = bininfo (sc,“保管”);disp (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”);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

“保管”“ResStatus”预测者,有缺失的数据(年代和<未定义>)在训练数据中,如上图所示,对于这些预测值中缺失的数据,binning过程估计的WOE值分别为-0.15787和0.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在内部将所有预测变量转换为祸值,使用自动装箱过程中找到的箱子。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-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.043841AMBalance 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”的观点formatpoints.假设你想要获得500分的概率是2(好的概率是坏的概率的两倍),概率每50分翻一倍(所以550分的概率是4)。

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

sc = formatpoints (sc,“PointsOddsAndPDO”,[500 2 50]);点信息=显示点(sc)
点信息=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'}{'⋮

注意这个点< >失踪垃圾箱CustAgeResStatus显式显示(如64.983674.1250分别为)。这些点是根据bin的WOE值和逻辑模型系数计算的。

对于训练集中没有丢失数据的预测器,没有显式的 bin。默认情况下,这些点被设置为因为缺少数据,他们会得到分数运行时分数. 对于没有显式bin的预测值,请使用name-value参数“失踪”在里面formatpoints以指示如何处理缺失的数据进行评分。

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

tdata = dataMissing (11:18 mdl.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  _______ ___________ ___________ __________ _______ _______ _________ 南租户未知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

对新数据进行评分,并查看如何为缺失打分CustAgeResStatus,因为我们有一个显式的为< >失踪.然而,对于EmpStatusCustIncome分数函数将点设置为. 相应的违约概率也设置为

[分数,分数]=分数(sc,tdata);显示(分数)
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
pd = probdefault (sc, tdata);disp (pd)
0.3934 0.2725 NaN 0.1961 0.3714 NaN

使用name-value参数“失踪”在里面formatpoints选择如何为没有显式指示的预测器的缺失值分配点< >失踪箱子在本例中,使用“MinPoints”选择“失踪”论点。最低分数EmpStatus在上面显示的记分卡中58.8072,对于CustIncome最小值点是29.3753.现在所有的行都有一个分数和相应的违约概率。

sc = formatpoints (sc,“失踪”“MinPoints”);[分数,分数]=分数(sc,tdata);显示(分数)
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
pd = probdefault (sc, tdata);disp (pd)
0.3934 0.2725 0.2810 0.4954 0.1961 0.3714 0.5022 0.4304

输入参数

全部崩溃

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

(可选)应用默认规则的概率数据集,指定为MATLAB®表,其中每一行对应于单个观察。属性中的每个预测器的数据必须包含列creditscorecard对象。

数据类型:桌子

输出参数

全部崩溃

违约概率,返回为NumObs——- - - - - -1默认概率的数值数组。

更多关于

全部崩溃

违约概率

计算无标度分数后(参见计算和缩放分数的算法),则得分为“好”的概率为:

ProbGood = 1。/ (1 + exp (-UnscaledScores))

因此,违约概率为

pd = 1 - ProbGood

参考文献

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

介绍了R2015a