主要内容

信用记分卡

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

描述

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

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

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

  2. 创建一个信用记分卡对象(见创建信用记分卡属性).

  3. 使用autobinning

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

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

  6. 使用分数

  7. 使用以下公式计算数据的默认概率:probdefault

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

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

创建

描述

实例

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

实例

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

笔记

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

输入参数

展开全部

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

  • 数字

  • 必然的

  • 字符向量的单元格数组

  • 字符数组

  • 明确的

  • 一串

此外,该表必须包含一个二进制响应变量。在创建一个信用记分卡对象,执行数据准备任务以具有适当的结构数据作为输入提供给信用记分卡对象这个数据输入设置数据所有物

数据类型:表格

名称-值对的观点

指定可选的逗号分隔的字符对名称,值参数。的名字是参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

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

指示器为这在响应变量对应于“好”的观察,指定为逗号分隔的一对组成的两个可能值的“GoodLabel”以及数字标量、逻辑或字符向量。这个好标签名称-值对参数设置好标签所有物

当指定好标签,请遵循以下指导方针。

如果响应变量是... 好标签必须……
数字 数字
必然的 逻辑或数字
字符向量的单元格数组 特征向量
字符数组 特征向量
分类 特征向量

如果没有规定,好标签设置为具有最高计数的响应值。但是,如果是可选的权重参数在创建时提供信用记分卡对象,然后计数被替换为加权的频率。有关更多信息,请参见信用评分卡模型验证观察权重

好标签只能在创建信用记分卡对象。此参数不能使用点表示法设置。

数据类型:char|双倍的

用作观察的ID或标记的变量名,指定为逗号分隔对,由'IDVar'一个字符向量。这个IDVar数据可以是序号(例如,1,2,3…),也可以是社会保险号。这是为了方便从预测变量中删除此列。IDVar是区分大小写的。这个IDVar名称-值对参数设置IDVar所有物

可选参数信用记分卡函数或在命令行中使用点表示法,如下所示。

例子:sc.IDVar = ' CustID '

数据类型:char

“Good”或“Bad”指示符的响应变量名称,指定为逗号分隔对,由“ResponseVar”和一个字符向量。响应变量数据必须是二进制的。这个ResponseVar名称-值对参数设置ResponseVar所有物

如果没有规定,ResponseVar设置为数据输入的最后一列。ResponseVar只能在创建信用记分卡使用信用记分卡函数。ResponseVar是区分大小写的。

数据类型:char

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

这个权重值在信用记分卡的工作流程所使用autobinning,bininfo,fitmodel,验证模型.有关更多信息,请参见信用评分卡模型验证观察权重

数据类型:char

指示是否丢失的数据被去除或在单独的箱显示,指定为逗号分隔的一对组成的“BinMissingdata”和一个值为的逻辑标量真正的错误的.如果BinMissingData真正的,对于预测缺少的数据被显示在标记为一个单独的箱<缺失>

数据类型:必然的

属性

展开全部

用于创建信用记分卡对象时指定为表信用记分卡对象。在里面数据属性,分类预测值存储为分类数组。

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

数据类型:表格

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

例子:sc.IDVar = ' CustID '

数据类型:char

此属性是只读的。

VarNames是包含在数据中的所有变量的名称字符向量的单元阵列。这个VarNames直接从数据输入到信用记分卡对象。VarNames是区分大小写的。

数据类型:细胞

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

数据类型:char

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

数据类型:char

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

如果响应变量是... 好标签必须是:
数字 数字
必然的 逻辑或数字
字符向量的单元格数组 特征向量
字符数组 特征向量
分类 特征向量

如果没有规定,好标签设置为具有最高计数的响应值。此属性只能在创建信用记分卡对象。不能使用点表示法设置此属性。

数据类型:char|双倍的

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

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

数据类型:细胞

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

数据类型:char

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

数据类型:char

指示是否丢失的数据被去除或在单独的箱显示,指定为逗号分隔的一对组成的“BinMissingdata”和一个值为的逻辑标量真正的错误的.如果BinMissingData真正的,对于预测缺少的数据被显示在标记为一个单独的箱<缺失>.有关使用丢失的数据的详细信息,请参阅缺失值的信用记分卡建模

数据类型:必然的

信用记分卡财产 从命令行使用中设置/修改属性信用记分卡函数 使用点符号修改属性 属性不是用户定义的,值是内部定义的
数据 没有 没有 是的,复制的数据输入
IDVar 是的 是的 没有,但是用户指定了这个
VarNames 没有 没有 是的
ResponseVar 是的 没有 如果没有指定,设定的最后一列数据输入
权重 没有 没有 是的
好标签 是的 没有 如果未指定,则设置为具有最高计数的响应值
PredictorVars 是的(也可以修改使用fitmodel功能) 是的 是的,但用户可以修改此
NumericPredictors 没有(只能修改使用modifypredictor功能) 没有 是的,但用户可以修改此
CategoricalPredictors 没有(只能修改使用modifypredictor功能) 没有 是的,但用户可以修改此
BinMissingData 是的 没有 默认为False,但用户可以修改此值

目标函数

autobinning 对给定的预测器执行自动分类
bininfo 返回预测器的bin信息
predictorinfo 信用记分卡预测属性摘要
modifypredictor 设置信用记分卡预测器的属性
fillmissing 替换信用记分卡预测器的缺失值
改装箱 修改预测的垃圾箱
宾达 分级预测变量
plotbins 绘制直方图计数预测变量
fitmodel 符合逻辑回归模型重量证据(WOE)数据
fitConstrainedModel 适合logistic回归模型证据重量(WOE)数据受到上模型系数的约束
setmodel 设置模型预测因子和系数
displaypoints 返回点每个预测器每箱
格式点 设置记分卡点数和比例
分数 计算给定数据的信用分数
probdefault 给定数据集的默认可能性
验证模型 验证信用记分卡模型的质量
袖珍的 创建紧凑的信用记分卡

例子

全部折叠

创建一个信用记分卡使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。

负载CreditCardDatasc = creditscorecard(数据)
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x7 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'Predictor Vars:{1x10 cell}数据:[1200x11表格]

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

负载CreditCardData

创建一个信用记分卡对象的可选名称-值对参数“WeightsVar”

sc = creditscorecard (dataWeights,“WeightsVar”,“RowWeights”)
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'RowWeights'变量名:{1x12 cell}数值预测值:{1x7 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'PredictorVars:{1x10 cell}数据:[1200x12表格]

创建一个信用记分卡使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。

负载CreditCardDatasc = creditscorecard(数据)
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x7 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'Predictor Vars:{1x10 cell}数据:[1200x11表格]

来显示信用记分卡对象属性,使用点表示法。

sc.PredictorVars
ans =1x10电池列1至4 { '的CustID'} { 'CustAge'} { 'TmAtAddress'} { 'ResStatus'}列5至8 { 'EmpStatus'} { 'CustIncome'} { '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'}

创建一个信用记分卡使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。

负载CreditCardDatasc = creditscorecard(数据)
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x7 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'Predictor Vars:{1x10 cell}数据:[1200x11表格]

IDVar酒店公共访问,你可以在命令行中改变它的值。

sc.IDVar =“卡斯蒂德”
SC = creditscorecard与属性:GoodLabel:0 ResponseVar: '状态' WeightsVar: '' VarNames:{1x11细胞} NumericPredictors:{1X6细胞} CategoricalPredictors:{ 'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData:0 IDVar:“的CustID'PredictorVars:{1X9细胞}数据:[1200x11表]

创建一个信用记分卡使用CreditCardData.mat文件来加载数据(使用Refaat 2011的数据集)。

负载CreditCardDatasc = creditscorecard(数据)
sc=creditscorecard,属性:GoodLabel:0 ResponseVar:'status'WeightsVar:'VarNames:{1x11 cell}数值预测值:{1x7 cell}分类预测值:{'ResStatus''EmpStatus''OtherCC'}BinMissingData:0 IDVar:'Predictor Vars:{1x10 cell}数据:[1200x11表格]

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

显示信用记分卡使用点符号对象属性。

sc.PredictorVars
ans =1x10电池列1至4 { '的CustID'} { 'CustAge'} { 'TmAtAddress'} { 'ResStatus'}列5至8 { 'EmpStatus'} { 'CustIncome'} { '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 =“卡斯蒂德”
SC = creditscorecard与属性:GoodLabel:0 ResponseVar: '状态' WeightsVar: '' VarNames:{1x11细胞} NumericPredictors:{1X6细胞} CategoricalPredictors:{ 'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData:0 IDVar:“的CustID'PredictorVars:{1X9细胞}数据:[1200x11表]
sc.PredictorVars = {“CustIncome”,“雷斯塔特斯”,'AMBalance'}
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]

创建一个信用记分卡使用CreditCardData.mat文件来加载数据(使用2011年Refaat的数据集)。然后使用名称-值对参数信用记分卡定义好标签ResponseVar

负载CreditCardDatasc=信用记分卡(数据,'IDVar',“卡斯蒂德”,“GoodLabel”,0,“ResponseVar”,“状态”)
SC = creditscorecard与属性:GoodLabel:0 ResponseVar: '状态' WeightsVar: '' VarNames:{1x11细胞} NumericPredictors:{1X6细胞} CategoricalPredictors:{ 'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData:0 IDVar:“的CustID'PredictorVars:{1X9细胞}数据:[1200x11表]

好标签ResponseVar只能在创建时设置(强制)信用记分卡对象使用信用记分卡

创建一个信用记分卡使用CreditCardData.mat文件来加载dataMissing缺少值。

负载CreditCardData头部(数据缺失,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的NaN房主业53000 20是157.37 0.08 0 5 68 56房主业53000 14是561.84 0.11 0
fprintf('行数:%d \ n',高度(数据缺失))
行数:1200
fprintf('缺少值的数量保管:%d\n',总和(ismissing(dataMissing.CustAge)))
缺少值的数量保管:30
fprintf(restatus: %d\n总和(ismissing (dataMissing.ResStatus)))
ResStatus: 40

使用信用记分卡使用name-value参数“BinMissingData”着手真正的将丢失的数据装入单独的容器中。

sc = creditscorecard (dataMissing,'IDVar',“卡斯蒂德”,“BinMissingData”,对);sc=自动绕线(sc);高级惩教主任(高级惩教主任)
creditscorecard与属性:GoodLabel:0 ResponseVar: '状态' WeightsVar: '' VarNames:{1x11细胞} NumericPredictors:{1X6细胞} CategoricalPredictors:{ 'ResStatus' 'EmpStatus' 'OtherCC'} BinMissingData:1个IDVar: '的CustID' PredictorVars:{1X9细胞}数据:[1200x11表]

显示数值数据仓信息'CustAge'这包括在一个单独的标签箱中丢失的数据<缺失>

BI = bininfo(SC,'CustAge');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,'CustAge')

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

显示的分类数据的bin信息“雷斯塔特斯”这包括在一个单独的标签箱中丢失的数据<缺失>

BI = bininfo(SC,“雷斯塔特斯”);disp (bi)
(UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU27 13 2.0769 0.026469 2.3248e-05{‘总计}803 397 2.0227 NaN 0.0092627
plotbins (sc,“雷斯塔特斯”)

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

参考

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

[2] Refaat, M。使用SAS为数据挖掘做数据准备。摩根·考夫曼,2006年。

[3] 雷法特,M。信用风险记分卡:制定和实施使用SAS。lulu.com, 2011。

介绍了R2014b