主要内容

creditscorecard

创建creditscorecard对象来构建信用记分卡模型

描述

通过创建creditscorecard对象并以表格格式指定输入数据。

在创建一个creditscorecard对象,您可以使用关联的对象函数对数据进行装箱并执行逻辑回归分析,以开发信用记分卡模型来指导信用决策。此工作流显示了如何开发信用记分卡模型。

  1. 使用屏幕预测器(风险管理工具箱)来自风险管理工具箱™ 将一组可能较大的预测值缩减为最能预测信用评分卡响应变量的子集。在创建预测时使用此预测子集creditscorecard对象。

  2. 创建一个creditscorecard对象(请参见创建creditscorecard性质).

  3. 使用自动投球

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

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

  6. 使用以下方法对数据进行评分分数

  7. 使用。计算数据的违约概率probdefault

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

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

创造

描述

例子

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

例子

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

请注意

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

输入参数

全部展开

数据为creditscorecard对象,指定为MATLAB®表,其中每列数据可以是下列任意一种数据类型:

  • 数字

  • 逻辑

  • 字符向量的单元格数组

  • 字符数组

  • 明确的

  • 字符串

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

数据类型:表格

名称-值对的观点

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

例子:sc=creditscorecard(数据,'GoodLabel',0,'IDVar','ResponseVar','status','PredictVars',{'CustID','CustIncome','WeightsVar','RowWeights','BinMissingData',true)

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

当指定GoodLabel,请遵守这些指引。

如果响应变量为。。。 GoodLabel必须是。。。
数字的 数字的
逻辑 逻辑或数字
字符向量单元数组 特征向量
字符数组 特征向量
明确的 特征向量

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

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

数据类型:烧焦|双重的

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

可选参数creditscorecard函数或在命令行使用点表示法,如下所示。

例子:sc.IDVar='CustID'

数据类型:烧焦

“Good”或“Bad”指示符的响应变量名,指定为逗号分隔对组成“ResponseVar”和一个字符向量response variable data must be binary. The应答器名称-值对参数设置应答器财产。

如果不指定,应答器设置为数据输入的最后一列。应答器只能在创建creditscorecard对象使用creditscorecard函数。应答器是区分大小写的。

数据类型:烧焦

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

WeightsVar值在信用记分卡工作流中由自动投球,bininfo,fitmodel,validatemodel. 有关详细信息,请参阅基于观察权重的信用记分卡建模

数据类型:烧焦

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

数据类型:逻辑

性质

全部展开

用于创建creditscorecard对象时指定为表creditscorecard对象。在数据属性时,类别预测器存储为类别数组。

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

数据类型:表格

用作观察的ID或标记的变量的名称,指定为字符向量。可在创建creditscorecard对象,或在命令行中使用点表示法。IDVar是区分大小写的。

例子:sc.IDVar='CustID'

数据类型:烧焦

此属性是只读的。

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

数据类型:细胞

响应变量的名称,“好”或“坏”指示器,指定为字符向量。响应变量数据必须为二进制。如果未指定,应答器设置为数据输入的最后一列。此属性只能在创建creditscorecard对象。应答器是区分大小写的。

数据类型:烧焦

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

数据类型:烧焦

响应变量中的两个可能值对应于“良好”观测值的指标。当指定GoodLabel,请遵循以下准则:

如果响应变量为。。。 GoodLabel必须是:
数字的 数字的
逻辑 逻辑或数字
字符向量单元数组 特征向量
字符数组 特征向量
明确的 特征向量

如果不指定,GoodLabel设置为具有最高计数的响应值。此属性只能在创建creditscorecard对象。无法使用点表示法设置此属性。

数据类型:烧焦|双重的

预测器变量名,使用包含名称的字符向量单元格数组指定。默认情况下,当您创建creditscorecard对象,除IDVar应答器.属性的名称-值对参数可以修改此属性fitmodel函数或使用点符号。PredictorVars区分大小写,并且预测器变量名称不能与IDVar应答器

例子:sc.predictvars={'CustID','custinenue'}

数据类型:细胞

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

数据类型:烧焦

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

数据类型:烧焦

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

数据类型:逻辑

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

对象的功能

自动投球 对给定的预测器执行自动分类
bininfo 返回预测器的bin信息
预测信息 总结信用记分卡预测属性
修正预测器 设置信用记分卡预测器的属性
填充物缺失 替换缺少的信用记分卡预测值
modifybins 修改预测的垃圾箱
bindata 组合预测变量
绘图仪 预测变量的柱状图计数
fitmodel 将logistic回归模型与证据权重(WOE)数据拟合
fitConstrainedModel 根据模型系数的约束条件,将逻辑回归模型与证据权重(WOE)数据拟合
setmodel 集模型预测器和系数
displaypoints 返回点每个预测器每箱
formatpoints 格式记分卡点数和缩放
分数 计算给定数据的信用分数
probdefault 给定数据集的默认可能性
validatemodel 验证信用记分卡模型的质量
契约 创建紧凑的信用记分卡

例子

全部折叠

创建一个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)包含一列的(赛艇重量)的权重(使用来自Refaat 2011的数据集)。

负载信用卡数据

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

sc = creditscorecard (dataWeights,“WeightsVar”,“RowWeights”
sc = creditscorecard with properties: GoodLabel: 0 ResponseVar: 'status' WeightsVar: 'RowWeights' VarNames: {1x12 cell} NumericPredictors: {1x7 cell} CategoricalPredictors: {'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData: 0 IDVar: " PredictorVars: {1x10 cell} Data: [1200x12 table]

创建一个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 =1 x10单元格第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]

在本例中,属性的默认值应答器,PredictorVarsGoodLabel在创建此对象时指定。默认情况下,属性应答器设置为输入数据最后一列中的变量名(“地位”在本例中)PredictorVars包含中所有变量的名称VarNames,但不包括IDVar应答器。此外,在上一个示例中,默认情况下,GoodLabel设置为0,因为它是响应变量中的值(应答器)以最高的计数。

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

sc.PredictorVars
ans =1 x10单元格第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'}

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

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 = {“收入”,“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:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{'CustIncome''AMBalance'}分类预测值:{'ResStatus'}BinMissingData:0 IDVar:'CustID'预测值:{'ResStatus''CustIncome AMBalance'}数据:[1200x11表格]

创建一个creditscorecard对象使用CreditCardData.mat要加载的文件数据(使用Refaat 2011的数据集)。然后使用名称-值对参数creditscorecard定义GoodLabel应答器

负载信用卡数据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应答器只能在创建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
流('行数:%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表格]

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

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

图中包含一个Axis对象。标题为CustAge的Axis对象包含3个bar、line类型的对象。这些对象表示好、坏。

显示的分类数据的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
plotbins (sc,“ResStatus”

图中包含一个轴对象。标题为ResStatus的axis对象包含三个类型为bar, line的对象。这些对象代表好和坏。

参考文献

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

[2] Refaat, M。SAS数据挖掘的数据准备。2006年摩根考夫曼。

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

介绍了R2014b