主要内容

CreditsCorecard.

创建CreditsCorecard.对象构建信用记分卡模型

描述

创建一个信用记分卡模型CreditsCorecard.对象,并以表格格式指定输入数据。

创建A后CreditsCorecard.对象,您可以使用相关的对象函数来存放数据并执行逻辑回归分析,以开发一个信用记分卡模型来指导信用决策。这个工作流展示了如何开发一个信用记分卡模型。

  1. 使用屏幕预测器(风险管理工具箱)从风险管理工具箱™中将潜在的大量预测因素缩减为最能预测信用评分卡响应变量的子集。在创建CreditsCorecard.对象。

  2. 创建一个CreditsCorecard.对象(请参见创建CreditsCorecard.属性).

  3. 使用数据autobinning

  4. 拟合逻辑回归模型使用fitmodelfitConstrainedModel

  5. 检查和格式化信用记分卡点数使用displaypoints格式点.在工作流的这一点上,如果您有风险管理工具箱的许可证,您可以选择创建一个信用记分卡对象(csc) 使用契约函数。然后可以使用以下函数displaypoints(风险管理工具箱)分数(风险管理工具箱),probdefault(风险管理工具箱)风险管理工具箱中的csc对象。

  6. 使用数据进行评分分数

  7. 计算使用默认值的概率probdefault

  8. 使用验证信用记分卡模型的质量viewatemodel.

有关此工作流的详细信息,请参阅信用记分卡建模工作流程

创建

描述

例子

sc= creditscorecard (数据创建一个CreditsCorecard.通过指定对象数据.信用记分卡模型,作为一个返回CreditsCorecard.对象,包含一个或多个预测器的分类映射或规则(切点或类别分组)。

例子

sc= creditscorecard (___名称,值属性使用前面语法中的名称-值对和任何参数。例如,sc = creditscorecard(数据,“GoodLabel”,0,‘IDVar’,‘CustID’,‘ResponseVar’,‘身份’,‘PredictorVars’,{‘CustAge’,‘CustIncome},‘WeightsVar’,‘RowWeights’,‘BinMissingData’,真的).可以指定多个名称-值对。

笔记

要在信用记分卡工作流中使用观察(示例)权重,请在创建CreditsCorecard.对象,则必须使用可选的名称-值对掌权中定义的列数据包含权重。

输入参数

全部展开

数据CreditsCorecard.对象,指定为matlab®表,其中每列数据列可以是以下任何一种数据类型:

  • 数字

  • 逻辑

  • 字符向量的单元格数组

  • 字符数组

  • 绝对的

  • 细绳

此外,该表必须包含一个二进制响应变量。在创建一个CreditsCorecard.对象,执行数据准备任务以具有适当的结构数据作为输入到CreditsCorecard.对象。这数据输入设置资料财产。

数据类型:表格

名称-值对的观点

指定可选的逗号分离对名称,值论据。的名字是参数名称和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:sc = creditscorecard(数据,“GoodLabel”,0,‘IDVar’,‘CustAge’,‘ResponseVar’,‘身份’,‘PredictorVars’,{‘CustID’,‘CustIncome},‘WeightsVar’,‘RowWeights’,‘BinMissingData’,真的)

响应变量中两个可能值中的哪一个对应于“良好”观察值的指示器,指定为逗号分隔对,包括“好标签”以及数字标量、逻辑或字符向量。这Goodlabel.名称-值对参数设置Goodlabel.财产。

指定时Goodlabel.,请遵循以下指导方针。

如果响应变量为。。。 Goodlabel.必须……
数字的 数字的
逻辑 逻辑或数字
字符向量的单元格数组 特征向量
字符数组 特征向量
绝对的 特征向量

如果未指定,Goodlabel.设置为具有最高计数的响应值。但是,如果是可选的掌权参数在创建时提供CreditsCorecard.对象,则计数将替换为加权频率。有关更多信息,请参阅基于观察权重的信用记分卡建模

Goodlabel.只能在创建CreditsCorecard.对象。此参数不能使用点表示法设置。

数据类型:烧焦|双重的

用作观察的ID或标记的变量名,指定为逗号分隔对,由“IDVar”一个字符向量。这idvar.数据可以是序号(例如,1,2,3 ...),社会安全号码。提供从预测变量中删除此列的方便。idvar.是区分大小写的idvar.名称-值对参数设置idvar.财产。

可选参数CreditsCorecard.功能或通过在命令行使用点表示法,如下所示。

例子:sc.IDVar='CustID'

数据类型:烧焦

响应变量名称为“良好”或“坏”指示符,指定为逗号分隔对“ResponseVar”一个字符向量。响应变量数据必须是二进制的。这ResponseVar名称-值对参数设置ResponseVar财产。

如果未指定,ResponseVar设置为数据输入的最后一列。ResponseVar只能在创建CreditsCorecard.对象使用CreditsCorecard.函数。ResponseVar是区分大小写的。

数据类型:烧焦

权重变量名,指定为逗号分隔对,由“WeightsVar”和一个字符向量,以指示数据表包含行权重。掌权是区分大小写的掌权名称-值对参数设置掌权属性,且此属性只能在创建CreditsCorecard.对象。如果名称值对参数掌权在创建CreditsCorecard.对象,默认情况下,观察权重设置为单位权重。

掌权值在信用记分卡工作流中由autobinningbininfofitmodel,viewatemodel..有关更多信息,请参见基于观察权重的信用记分卡建模

数据类型:烧焦

指示丢失的数据是否已删除或显示在单独的存储箱中,指定为逗号分隔对,由“BinMissingdata”和一个值为的逻辑标量真正的错误的.如果BinMissingData真正的,预测器的缺失数据显示在单独的标有

数据类型:逻辑

属性

全部展开

用于创建的数据CreditsCorecard.对象时指定为表CreditsCorecard.对象。在资料属性,分类预测器作为分类阵列存储。

例子:sc.数据(1:10,:)

数据类型:表格

用作观察的ID或标签的变量的名称,指定为字符向量。创建时,可以将此属性设置为可选参数CreditsCorecard.对象或在命令行使用点表示法。idvar.是区分大小写的。

例子:sc.IDVar='CustID'

数据类型:烧焦

此属性是只读的。

VarNames是包含数据中所有变量名称的字符向量的单元格数组VarNames直接从数据输入到CreditsCorecard.对象。VarNames是区分大小写的。

数据类型:细胞

响应变量的名称,“Good”或“Bad”指示器,指定为字符向量。响应变量数据必须是二进制的。如果未指定,ResponseVar设置为数据输入的最后一列。只有在创建时,才能在可选参数中设置此属性CreditsCorecard.对象。ResponseVar是区分大小写的。

数据类型:烧焦

作为ID或标记使用的变量的名称,用于指示数据表包含作为字符向量指定的行权重。此属性可以设置为可选参数(掌权)创建一个时CreditsCorecard.对象。掌权是区分大小写的。

数据类型:烧焦

响应变量中的两个可能值中的哪一个指示符对应于“良好”观察。指定时Goodlabel.,请遵循以下指导方针:

如果响应变量为。。。 Goodlabel.必须是:
数字的 数字的
逻辑 逻辑或数字
字符向量的单元格数组 特征向量
字符数组 特征向量
绝对的 特征向量

如果未指定,Goodlabel.设置为具有最高计数的响应值。只有在创建时,才能在可选参数中设置此属性CreditsCorecard.对象。不能使用点表示法设置此属性。

数据类型:烧焦|双重的

使用包含名称的字符向量的单元数组指定预测值变量名称。默认情况下,当您创建一个时CreditsCorecard.对象中,所有变量都是预测器,除了idvar.ResponseVar.属性的名称-值对参数可以修改此属性fitmodel功能或使用点表示法。PredictorVars区分大小写,并且预测器变量名称不能与idvar.ResponseVar

例子:sc.PredictorVars ={‘CustID’,‘CustIncome}

数据类型:细胞

数字预测器的名称,指定为字符向量。不能在命令行中使用点表示法设置此属性。只能使用修正预测器函数。

数据类型:烧焦

类别预测器的名称,指定为字符向量。不能在命令行使用点表示法设置此属性。只能使用修正预测器函数。

数据类型:烧焦

指示丢失的数据是否已删除或显示在单独的存储箱中,指定为逗号分隔对,由“BinMissingdata”和一个值为的逻辑标量真正的错误的.如果BinMissingData真正的,预测器的缺失数据显示在单独的标有。有关处理缺失数据的详细信息,请参阅缺失值的信用记分卡建模

数据类型:逻辑

CreditsCorecard.财产 从命令行使用中设置/修改属性CreditsCorecard.函数 使用点符号修改属性 属性不是用户定义的,值是内部定义的
资料 没有 没有 是的,复印件数据输入
idvar. 是的 是的 没有,但是用户指定了这个
VarNames 没有 没有 是的
ResponseVar 是的 没有 如果未指定,则设置为的最后一列数据输入
掌权 没有 没有 是的
Goodlabel. 是的 没有 如果未指定,则设置为具有最高计数的响应值
PredictorVars 是(也可以使用fitmodel功能) 是的 是的,但是用户可以修改它
数值预报器 没有(只能修改使用修正预测器功能) 没有 是的,但是用户可以修改它
分类预测因子 没有(只能修改使用修正预测器功能) 没有 是的,但是用户可以修改它
BinMissingData 是的 没有 默认为False,但用户可以修改此值

对象功能

autobinning 对给定的预测器执行自动分类
bininfo 返回预测格的箱信息
predictorinfo 信用记分卡预测因素属性摘要
修正预测器 设置信用记分卡预测器的属性
fillmissing 替换信用记分卡预测器的缺失值
ModifierBins. 修改预测的垃圾箱
bindata. 组合预测变量
绘图仪 绘制直方图计数预测变量
fitmodel 将logistic回归模型与证据权重(WOE)数据拟合
fitConstrainedModel 根据模型系数的约束条件,将逻辑回归模型与证据权重(WOE)数据拟合
setmodel 设置模型预测因子和系数
displaypoints 返回点每个预测器每箱
格式点 格式化记分卡点和缩放
分数 计算给定数据的信用分数
probdefault 给定数据集的默认可能性
viewatemodel. 验证信用记分卡模型的质量
契约 创建紧凑的信用记分卡

例子

全部折叠

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

加载信用卡数据sc = creditscorecard(数据)
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {1x7 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 0 IDVar: " PredictorVars: {1x10 cell} Data: [1200x11 table]

使用CreditCardData.mat载入数据的文件(DataWeights.),其中包含列(RowWeights)对于权重(使用来自Refaat 2011的数据集)。

加载信用卡数据

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

sc = creditscorecard (dataWeights,“WeightsVar”“RowWeights”
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'fightsvar:'Rowweights'varnames:{1x12 Cell} NumericPredictors:{1x7 Cell}分类预测器:{'Resstatus'empstatus'Altuccc'} BinmissingData:0 IDVAR:''预测orvars:{1x10 Cell}数据:[1200x12表]

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

加载信用卡数据sc = creditscorecard(数据)
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {1x7 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 0 IDVar: " PredictorVars: {1x10 cell} Data: [1200x11 table]

来显示CreditsCorecard.对象属性,使用点表示法。

sc.PredictorVars
ans =1x10细胞第1列至第4列{'CustID'}{'CustAge'}{'TmAtAddress'}{'ResStatus'}第5列至第8列{'EmpStatus'}{'custinenue'}{'TmWBank'}{'OtherCC'}第9列至第10列{'AMBalance'}{'UtilRate'}
sc.VarNames
ans =1x11电池列1到4 {'CustID'} {'CustAge'} {'TmAtAddress'} {'ResStatus'}列5到8 {'EmpStatus'} {'CustIncome'} {'TmWBank'} {'OtherCC'}列9到11 {'AMBalance'} {'UtilRate'} {'status'}

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

加载信用卡数据sc = creditscorecard(数据)
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {1x7 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 0 IDVar: " PredictorVars: {1x10 cell} Data: [1200x11 table]

idvar.属性具有公共访问权限,可以在命令行中更改其值。

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表格]

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

加载信用卡数据sc = creditscorecard(数据)
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {1x7 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 0 IDVar: " PredictorVars: {1x10 cell} Data: [1200x11 table]

在本例中,属性的默认值ResponseVarPredictorVarsGoodlabel.在创建此对象时分配。默认情况下,属性ResponseVar设置为输入数据的最后一列中的变量名(“状态”在本例中)PredictorVars包含中所有变量的名称VarNames,但不包括idvar.ResponseVar。此外,在上一个示例中,默认情况下,Goodlabel.设置为0.,因为它是响应变量中的值(ResponseVar)的最高计数。

显示CreditsCorecard.使用点表示法的对象属性。

sc.PredictorVars
ans =1x10细胞第1列至第4列{'CustID'}{'CustAge'}{'TmAtAddress'}{'ResStatus'}第5列至第8列{'EmpStatus'}{'custinenue'}{'TmWBank'}{'OtherCC'}第9列至第10列{'AMBalance'}{'UtilRate'}
sc.VarNames
ans =1x11电池列1到4 {'CustID'} {'CustAge'} {'TmAtAddress'} {'ResStatus'}列5到8 {'EmpStatus'} {'CustIncome'} {'TmWBank'} {'OtherCC'}列9到11 {'AMBalance'} {'UtilRate'} {'status'}

自从idvar.PredictorVars具有公共访问权限,您可以在命令行更改它们的值。

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表格]
sc.PredictorVars = {“CustIncome”'resstatus'“大使”}
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {'CustIncome' 'AMBalance'} CategoricalPredictors: {'ResStatus'} BinMissingData: 0 IDVar: 'CustID' PredictorVars: {'ResStatus' 'CustIncome' 'AMBalance'} Data: [1200x11 table]
DISP(SC)
creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: " VarNames: {1x11 cell} NumericPredictors: {'CustIncome' 'AMBalance'} CategoricalPredictors: {'ResStatus'} BinMissingData: 0 IDVar: 'CustID' PredictorVars: {'ResStatus' 'CustIncome' 'AMBalance'} Data: [1200x11 table]

创建一个CreditsCorecard.对象使用CreditCardData.mat要加载的文件数据(使用来自Refaat 2011的数据集)。然后使用名称值对参数CreditsCorecard.定义Goodlabel.ResponseVar

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

Goodlabel.ResponseVar只能在创建时设置(强制执行)CreditsCorecard.物体使用CreditsCorecard.

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

加载信用卡数据头(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
fprintf('行数:%d\n',高度(Datamissing))
行数:1200
fprintf('缺少值的数量汇编:%d \ n',总和(ismissing(Datamissing.Custage)))
缺失值的数量汇编:30
fprintf('缺少值的数目状态:%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表格]

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

bi=bininfo(sc,“保管”);disp (bi)
本好不好悲哀InfoValue几率  _____________ ____ ___ ______ ________ __________ {'[- 正无穷,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
plotbins (sc,“保管”

图中包含一个坐标轴。标题监护的轴包含3个类型栏的对象,线。这些物体代表好,坏。

显示垃圾箱信息,用于分类数据'resstatus'这包括在一个单独的标签箱中丢失的数据

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

图中包含一个坐标轴。标题为ResStatus的轴包含3个类型为bar, line的对象。这些物体代表好,坏。

参考文献

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

[2] Refaat, M。使用SAS进行数据挖掘的数据准备。摩根Kaufmann,2006。

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

介绍了R2014b