CreditsCorecard.

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

描述

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

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

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

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

  3. 使用数据autobinning

  4. 使用以下公式拟合逻辑回归模型:Fitmodel.fitConstrainedModel

  5. 检查和格式化信用记分卡点数使用显示点格式点. 此时,在工作流中,如果您拥有“风险管理工具箱”许可证,则可以选择创建CompactCreditScorecard.对象(csc) 使用袖珍的功能。然后可以使用以下功能显示点分数,及probdefault.风险管理工具箱中的csc对象。

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

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

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

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

创建

描述

例子

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

例子

sc=信用记分卡(___名称、值属性使用名称-值对和前面语法中的任何参数。例如sc=信用记分卡(数据,'GoodLabel',0,'IDVar','ResponseVar','status','PredictVars',{'CustAge','CustIncome','WeightsVar','RowWeights','BinMissingData',true). 可以指定多个名称-值对。

笔记

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

输入参数

全部展开

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

  • 数字的

  • 逻辑

  • 字符向量单元数组

  • 字符数组

  • 分类

  • 细绳

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

数据类型:桌子

名称-值对参数

指定可选的逗号分离对名称、值论点。的名字是参数名称和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:name1,value1,...,namen,valuen

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

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

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

如果响应变量是... Goodlabel.必须……
数字 数字
逻辑 逻辑的还是数字的
字符向量的单元格数组 特征向量
字符数组 特征向量
分类 特征向量

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

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

数据类型:char|双倍的

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

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

例子:sc.IDVar = ' CustID '

数据类型:char

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

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

数据类型:char

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

掌权值在信用记分卡工作流程中使用autobinning宾FO.Fitmodel.,及viewatemodel.. 有关详细信息,请参阅使用观察重量的信用记分卡建模

数据类型:char

指示丢失数据是否被删除或显示为单独的垃圾箱,指定为包含的逗号分隔对“BinMissingdata”和具有值的逻辑标量真的错误的.如果BinMissingData真的,预测器的缺失数据显示在标记为单独的bin中<缺失>

数据类型:逻辑

属性

全部展开

用于创建的数据CreditsCorecard.对象,在创建CreditsCorecard.对象。在里面数据属性,分类预测器作为分类阵列存储。

例子:sc.data(1:10,:)

数据类型:桌子

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

例子:sc.IDVar = ' CustID '

数据类型:char

此属性是只读的。

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

数据类型:细胞

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

数据类型:char

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

数据类型:char

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

如果响应变量是... Goodlabel.必须:
数字 数字
逻辑 逻辑的还是数字的
字符向量的单元格数组 特征向量
字符数组 特征向量
分类 特征向量

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

数据类型:char|双倍的

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

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

数据类型:细胞

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

数据类型:char

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

数据类型:char

指示丢失数据是否被删除或显示为单独的垃圾箱,指定为包含的逗号分隔对“BinMissingdata”和具有值的逻辑标量真的错误的.如果BinMissingData真的,预测器的缺失数据显示在标记为单独的bin中<缺失>.有关使用缺失数据的更多信息,请参阅缺少值的信用记分卡建模

数据类型:逻辑

CreditsCorecard.财产 从命令行使用中设置/修改属性CreditsCorecard.作用 使用点表示法修改属性 属性不是用户定义的,值是内部定义的
数据 是的,副本数据输入
idvar. 是的 是的 否,但用户指定了此选项
varnames. 是的
ResponseVar 是的 如果未指定,请设置为上列数据输入
掌权 是的
Goodlabel. 是的 如果未指定,则设置为具有最高计数的响应值
预测变量 是的(也可以修改使用Fitmodel.功能) 是的 是的,但用户可以修改此
numericpredictors. 没有(只能修改使用modifypredictor.功能) 是的,但用户可以修改此
分类预测器 没有(只能修改使用modifypredictor.功能) 是的,但用户可以修改此
BinMissingData 是的 默认情况下为False,但用户可以修改此选项

对象功能

autobinning 执行给定预测器的自动装箱
宾FO. 返回预测格的箱信息
predictorinfo 信用记分卡预测因素属性摘要
modifypredictor. 设置信用记分卡预测器的属性
ModifierBins. 修改预测器的箱子
bindata. Binned Predictor变量
绘图赛 绘制直方图计数预测变量
Fitmodel. 适合逻辑回归模型,以证据重量(WOE)数据
fitConstrainedModel 适合逻辑回归模型,以对模型系数的约束进行限制的证据重量(WOE)数据
模型 设置模型预测因子和系数
显示点 每个料仓每个预测器的返回点
格式点 格式化记分卡点和缩放
分数 计算给定数据的信用分数
probdefault. 给定数据集的默认可能性
viewatemodel. 验证信用记分卡模型的质量
袖珍的 创建紧凑的信用记分卡

例子

全部崩溃

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

加载CreditCardData.sc=信用记分卡(数据)
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:'varnames:{1x11 cell} numericpredictors:{1x7 cell} cateCoricalpricictors:{'resstatus'empstatus''overcc'} binmissingdata:0 idvar:''predictorvars:{1x10小区}数据:[1200x11表]

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

加载CreditCardData.

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

sc=信用记分卡(数据权重,“WeightsVar”“划船重量”
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的数据集)。

加载CreditCardData.sc=信用记分卡(数据)
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:'varnames:{1x11 cell} numericpredictors:{1x7 cell} cateCoricalpricictors:{'resstatus'empstatus''overcc'} binmissingdata:0 idvar:''predictorvars:{1x10小区}数据:[1200x11表]

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

sc.预测变量
ans =.1x10单元格阵列列1到4 {'custid'} {'custage'} {'tmataddress'} {'resstatus'}列5到8 {'empstatus'} {'cortumome'} {'tmwbank'} {'tmwbank'} {'overcc'}列9通过10 {'Ambalance'} {'Utilerrate'}
sc.VarNames
ans =.1 x11单元阵列第1列至第4列{'CustID'}{'CustAge'}{'TmAtAddress'}{'ResStatus'}第5列至第8列{'EmpStatus'}{'custinenue'}{'TmWBank'}{'OtherCC'}第9列至第11列{'AMBalance'}{'UtilRate'}{'status'}

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

加载CreditCardData.sc=信用记分卡(数据)
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:'varnames:{1x11 cell} numericpredictors:{1x7 cell} cateCoricalpricictors:{'resstatus'empstatus''overcc'} binmissingdata:0 idvar:''predictorvars:{1x10小区}数据:[1200x11表]

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

sc.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表]

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

加载CreditCardData.sc=信用记分卡(数据)
sc = creditscorecard具有属性:goodlabel:0 responsevar:'status'weightsvar:'varnames:{1x11 cell} numericpredictors:{1x7 cell} cateCoricalpricictors:{'resstatus'empstatus''overcc'} binmissingdata:0 idvar:''predictorvars:{1x10小区}数据:[1200x11表]

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

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

sc.预测变量
ans =.1x10单元格阵列列1到4 {'custid'} {'custage'} {'tmataddress'} {'resstatus'}列5到8 {'empstatus'} {'cortumome'} {'tmwbank'} {'tmwbank'} {'overcc'}列9通过10 {'Ambalance'} {'Utilerrate'}
sc.VarNames
ans =.1 x11单元阵列第1列至第4列{'CustID'}{'CustAge'}{'TmAtAddress'}{'ResStatus'}第5列至第8列{'EmpStatus'}{'custinenue'}{'TmWBank'}{'OtherCC'}第9列至第11列{'AMBalance'}{'UtilRate'}{'status'}

自从idvar.预测变量如果具有公共访问权限,则可以在命令行中更改其值。

sc.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表]
sc.vars={“CustIncome”'resstatus''余距'}
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{'CustIncome''AMBalance'}分类预测值:{'ResStatus'}BinMissingData:0 IDVar:'CustID'预测值:{'ResStatus''CustIncome AMBalance'}数据:[1200x11表格]
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

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

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

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

加载CreditCardData.头(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
fprintf('行数:%d \ n',高度(Datamissing))
行数:1200
fprintf('缺少值的数量汇编:%d \ n',总和(ismissing(Datamissing.Custage)))
缺失值的数量汇编:30
fprintf(restatus: %d\n总和(ismissing (dataMissing.ResStatus)))
缺失值的数目:40

使用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表]

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

bi = bininfo(sc,“守护”); 显示(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
绘图仪(sc,“守护”

显示垃圾箱信息,用于分类数据'resstatus'包括在单独的容器中丢失的数据<缺失>

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

参考

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

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

[3] Refaat,M。信用风险记分卡:使用SAS开发和实现。露露网,2011年。

R2014b中引入