使用分类树评估信用风险ITELLIN2005-11-29这是SPSS帮助菜单中个案研究的一个例子。假设银行有一个记载客户取得贷款交易信息的数据库,包括客户偿还或拖欠贷款的记录。使用分类树技术,银行方面可以分析及时还贷和有拖欠行为的客户特征,并能建立模型预测后续的贷款申请者拖欠银行贷款的可能性。信用数据文件名为tree_credit.sav。一、建立模型分类树过程提供几种不同的方法用来建立树模型。本案例使用的是预设的方法:CHAID——卡方自动交互检验。在计算的每一步中,CHAID选择与因变量交互作用最强的自变量(预测因子)。如果某些自变量与因变量没有很强的显著性差别,这些自变量的分类将被合并。1.建立CHAID树模型从菜单中选择:选择信用等级做因变量。将所有剩余变量做自变量。(程序将自动排除对最终模型没有显著贡献的变量。)到这一步就可以运行程序产生基本的树模型,但是对最终模型我们打算选择一些附加输出并做一些小的调整。2.选择分类目标点选因变量下方的Categories按钮。打开分类对话框,在这里就可以指定感兴趣的目标分类。目标分类自身不影响树模型,但是如果你选择了目标分类,部分输出和选项就可使用。在分类为Bad的目标复选框中打勾。具有不良信用等级(拖欠贷款)的客户将按感兴趣的目标分类来对待。点击继续。3.定义的生成标准本例中,我们准备生成一个相当简单的树,所以要提高父结点和子节点的最小数量来限制树的生长。在分类树对话框中点击Criteria。在MinimumNumberofCases组中,父结点处键入400,子结点处键入200。点击继续。4.选择附加输出在分类树对话框中点击Output。出现一个多页对话框,在这里可以选择各种附加输出类型。勾选Tree页的Treeintableformat项。然后点击Plots页,勾选Gain和Index项。点击继续。注意:这些图需要为因变量指定目标分类。本例中,直到指定一个或多个目标分类,Plots页才可以激活。5.保存预测值保存包含模型预测信息的变量。例如,保存每个个案预测的信用等级,然后与实际信用等级进行比较。在分类树对话框中点击Save按钮。勾选Terminalnodenumber,Predictedvalue,和Predictedprobabilities。点击继续。在分类树对话框中点击OK运行该过程。二、模型评估本案例中,模型结果包括:•提供有关模型信息的表格。•树形图•提供模型性能指示的图表。•将模型的预测变量添加到当前工作的数据文件中。1.模型汇总表模型汇总表提供有关建立模型的一些信息。•Specifications部分提供产生树模型设置的信息,包括生成方法为CHAID,因变量为信用等级,自变量为年龄,收入,信用卡数,教育及汽车贷款。有效性验证为没有,最大树深度是3,父节点中最小个案是400,子节点中最小个案是200。•Results部分显示在最终模型中选入的自变量为年龄,收入和信用卡数。总节点数为10,端点数为6,树的深度(根节点下的树叶数)为3。有五个自变量被选入,但是最终模型只选中三个。变量教育和汽车贷款对模型没有显著的贡献,所以它们自动地从最终模型中排出。2.树形图树形图是树模型的图解表示。树模型显示如下:•使用CHAID方法,收入水平是信用等级的最佳预测因子。•看低收入那一枝(节点1),收入水平是与信用等级唯一有显著意义的因子。在这个类别中有82%银行客户(Bad)拖欠贷款。只有18%的客户(Good)按时还贷。由于节点1下面没有子节点,节点1就是端点。•中高收入客户群(节点2和节点3),信用卡数是它的最佳因子。•节点4为有5张以上信用卡的中等收入客户群,它还包括另一个预测因子:年龄。年龄在28岁以下的80.8%的客户有不良信用等级,它几乎是28岁以上组的不良信用等级数(43.7%)的两倍。可以使用TreeEditor隐藏和显示选择的树枝,改变颜色和字体,依据选择的节点选择个案的子集。要了解更多信息见SelectingCasesinNodes。3.树表如它的名字一样,树表以表格的形式提供大部分实用的树形图信息。对每个节点,表的显示如下:•因变量在每个分类中个案的数量和百分比。•因变量的预测分类。在本例中,预测分类标准是按照所在节点的个案数的超过50%来进行信用等级分类,因为只有两个可能的信用等级,将个案数的百分率低于50%划归Bad组,高于50%划归Good组。如节点1,不良对良好组的比例是82.1%对17.9%,所以节点1的预测分类为Bad。节点2,不良对良好组的比例是42%对58%,所以节点2的预测分类为Good。依此类推。•parentnode表示树中每个节点的父节点。注意节点1—低收入节点—不是任何节点的父节点。因为它是端点,没有子节点。节点4,节点5的父节点是2,节点6,节点7的父节点是3,节点8,节点9的父节点是4。•自变量用来划分节点。如节点1,2,3由收入水平划分,节点4,5,6,7由信用卡数来划分,节点8,9由年龄来划分。•卡方值(因为树是由CHAID方法产生),自由度和显著性水平。在很多实际的场合,你可能只对有显著性水平的值感兴趣,在模型中它们的值小于0.0001。•所在节点的自变量值。如节点1为低收入组,节点2为中收入组,节点3为高收入组。节点4为信用卡数多于5张,节点5为信用卡数少于5张。注意:对次序和尺度自变量,可以在树和树表中将它们的范围表示成如(value1,value2]的形式,基本的意思是“大于value1并小于等于value2。”在这个例子中,收入水平只有三个可能值—低,中,高—(低,中]意味着中。类似的表达方式为中既是高。4.节点的增益节点表的增益提供了模型中端点的汇总信息。•只有端点——树停止生长的节点——在这张表中列出。通常你只对端点感兴趣,因为它们表达了模型中最好的分类预测。•因为增益值提供有关目标分类的信息,这张表只有在指定一个或多个目标分类时才可用。本例中,只有一个目标分类,所以节点表只有一个增益。•节点N表示每个端点的总个案数,节点百分数是每个节点总个案数除以根节点的总个案数。如节点1的总个案数为553,节点百分数为553/2464=22.4%。•GainN是每个端点在目标分类中所标记的个案数。GainPercent是目标分类的个案数除以该类在总分类中的个案数—本例中,由于选择不良信用等级为感兴趣的分类,所以增益就表示具有不良信用等级的个案的数和百分数。如节点1Bad组的个案数为454,节点8Bad组的个案数为211,而根节点Bad组的总个案数是1020,所以节点1的百分数是454/1020=44.5%,节点8的百分数是211/1020=20.7%。•对分类因变量而言,Response为目标分类中个案的百分数。本例中,我们感兴趣的Bad,所以显示各端点的Bad组的百分数。如节点1为82.1%,节点2为80.8%。•索引是目标分类的响应百分比除以总样本中该类的响应百分比。如节点1Bad组的百分比为82.1%,根节点中Bad组的百分比为41.39%,所以节点1的索引为82.1/41.39=198.3%,节点8的索引为80.8/41.39=195.3%。索引值表示所在节点观测目标分类百分比与期望目标分类百分比相差多少的程度。即各节点的Bad组的百分比与根节点的Bad组的百分比的差别。在没有考虑自变量的影响之前,根节点中目标分类百分比表示期望百分比。即根节点的Bad组的百分比。索引值大于100%意味着各端点的Bad组的百分比大于根节点的Bad组的百分比。与此相反,索引值小于100%意味着各端点的Bad组的百分比少于根节点的Bad组的百分比。5.增益图增益图显示模型相当好。累计增加图总是从0%开始到达100%结束。好的模型,增加图开始向100%方向陡峭上升然后慢慢变平整。没有信息提供的模型为对角线方向的直线。6.索引图索引图也显示该模型是一个的良好模型。累计索引图从100%以上开始,渐渐地下降直到它们达100%处。对一个好模型来讲,索引值应该从100%轴的上面开始,沿移动方向保持高原平坦,然后快速地向100%下降。对没有提供信息的模型,整个图是围绕100%盘整的直线。7.风险评估与分类风险和分类表可以对模型进行快速评估。•0.205的风险估计表示按照模型(良好和不良信用等级),预测分类错误率为20.5%。所以错分客户的风险大约为21%。•分类表中给出的结果与风险估计一致。分类表显示客户正确地分类大约是79.5%。然而,对这个模型,分类表揭示一个潜在的问题:对不良信用等级的客户,它只预测了不良信用等级的65%,这就意味着具有不良信用等级的客户有35%被不正确地划为信用“良好”的客户。8.预测值四个新变量已经在当前工作数据文件中建立:NodeID.每个个案的端点数。PredictedValue.每个个案的预测值。因为因变量的编码是0=Bad和1=Good,预测值0意味着个案被预测为不良信用等级。PredictedProbability.属于每个分类的概率。因为因变量只有两个可能值,所以建立两个变量:•PredictedProbability_1.属于不良信用等级分类个案的概率。•PredictedProbability_2.属于良好信用等级分类个案的概率。在包含个案端点的因变量分类中,预测概率是简单的个案比例。例如,节点1有82%的个案是不良信用等级,18%具有良好信用等级,结果是两组预测概率分别是0.82和0.18。对分类因变量来讲,预测值划分的标准依据个案端点中具有个案最高比例。例如,第一个个案,预测值是1(良好信用等级),因为它的端点中大约有56%的个案有良好信用等级。与此相反,对第二个个案,预测值是0(不良信用等级),因为它的端点中大约有81%的个案具有不良信用等级。然而,如果你定义了成本,预测分类与预测概率间的关系就不是这样简单了。要了解更多的信息,见AssigningCoststoOutcomes。三、精炼模型总之,模型的正确分类率只有一个低于80%。这可以从大多数端点中反映出来,预测分类——节点中反显的分类——与实际分类相同,正确率为80%或更高。然而,有一个端点,个案在良好信用等级与不良信用等级间几乎是平分的。在节点9中,预测信用等级是“良好”,但是该节点实际只有56%的个案有良好信用等级。这就意味着在节点9有几乎一半的个案(44%)有错误的预测分类。如果主要关心的是识别不良信用等级,这个节点不能令人满意。1.在节点中选择个案考察一下节点9中的个案看看数据是否揭示一些有用的附加信息。在Viewer中双击树模型打开树编辑窗口。选择节点9。(如果想要选择多个节点,使用Ctrl-click)。从树编辑菜单中选择:RulesFilterCases...筛选个案对话框用于建立筛选变量和基于所选变量的值设置一个筛选。预设的筛选变量名是filter_$。•来自所选节点的个案筛选后赋予值1。•所有其他的个案赋予值0并在后续的分析中被排除直到改变筛选条件为止。本例中,从现在开始不是节点9的个案将被筛选掉(不是删除)。要建立筛选变量并应用筛选条件,点击OK。在数据编辑窗口中,被筛选掉的个案在行数上有一个斜对角线。没有标示节点9的个案已经筛选掉了。节点9的个案没有被筛选掉,所以后续的分析只包括来自节点9的个案。2.检查选择的个案作为检查节点9中个案的第一步,你也许想看看模型中没有使用的变量。在这个例子中,数据文件中的所有变量包含在分析中,但是有两个变量不在最终模型中:教育和汽车贷款。为什么程序将它们从最终模型中去掉?也许有好的理由,模型不可能告诉我们很多,但是无论如何我们要看一看究竟。从菜单中选择:AnalyzeDescriptiveStatisticsCrosstabs...选择信用等级作为行变量。选择教育和汽车贷款作为列变量。点击Cells.在百分比组选择(打勾)行。然后点击继续,在主交叉对话框中点击OK运行该过程。检查交叉表,可以看出不再模型中的两个变量,在良好信用等级和不良信用等级间的个案数没有太大的差别。•对教