540 likes | 733 Views
第三讲:信用评级模型. 主讲:梁满发. 工作目标. 信用评级就是对 贷款 申请者进行信用评估,目的是减少贷方(银行、投资公司、信用卡公司)的金融风险。 信用评级模型还可用于人才甄聘、绩效考核、投资风险评估、犯罪识别等工作中。. 现在我们以某金融机构对客户信用卡申请审批工作为背景,运用数据挖掘方法建立信用评分的模型,对申请者给以信用评分,产生一个自动决策系统帮助决定接受或拒绝信用申请。.
E N D
第三讲:信用评级模型 主讲:梁满发
工作目标 信用评级就是对贷款申请者进行信用评估,目的是减少贷方(银行、投资公司、信用卡公司)的金融风险。 信用评级模型还可用于人才甄聘、绩效考核、投资风险评估、犯罪识别等工作中。 现在我们以某金融机构对客户信用卡申请审批工作为背景,运用数据挖掘方法建立信用评分的模型,对申请者给以信用评分,产生一个自动决策系统帮助决定接受或拒绝信用申请。 我们把信用合格者视为响应,不合格者视为非响应。我们要作信用评级就是寻找信用合格者与不合格者之间的行为模式或社会背景的差别,以此来判别某种特定的申请者信用。因此,我们必须要有足够的高质量的客户信用观察数据,既要包括足够的响应和非响应,以及相应的客户金融行为信息和社会背景信息,这些信息可是区别不同信用者因素。
在此,我们有某德国银行的客户信用的历史数据,数据文件名为SAMPSIO.DMAGECR。数据含有1000个申请者观察,其中有21个变量, good_bad是表示信用的二值响应变量。它是从银行内部一个更大的数据库中抽样出来的,原数据库中仅有10%的响应(信用不合格者),为了有足够的响应数据供分析,才取了重抽样方式,抽取的样本中响应占样本数的30%。 除good_bad变量外的其它20变量意义如下: • 个人和金融变量 • Checking:银行帐户情况 • Savings:存款数量 • History:使用信用卡情况 • Property:财富、保险情况 • Coapp:担保情况 • Job:职业类型 • Employed:工作年限 • Foreign:是否是外国职员 • 具体贷款变量 • Amount:信用卡保证金 • Purpose:贷款目的 • Duration:贷款期 • Installp:可支配收入情况 • Other:其它资产 • 社会人口变量 • Marital:性别与婚姻状况 • Age:年龄 • Resident:在现住所的居住年数 • Telephon:电话号码 • 债权人财产变量 • Housing:房产情况 • Depends:动产数 • Existcr:在本银行是否有信用卡
具体工作目标: (1)找出影响信用重要因素,决定信用评级考查的重要内容; (2)建立信用评分模型,找出信用高或信用低的人群特征; (3)编写信用评分模型程序代码; (4)计算申请者的信用得分,并完成准批还是拒绝工作。
数据抽样 • 插入input data source节点,选取SAMPSIO库中的DMAGECR 数据文件; • 因全部的数据文件仅为1000个观察样本,所以选择全部的数据建模; • 数据集设为RAW角色; • 在数据中,good_bad变量反映了客户信用的响应变量,因此,预备选择good_bad为建模模型的目标变量,修改good_bad变量为Target角色。
Interval变量有三个(durations、 amount和age),其它均为分类变量。 观察good_bad变量直方图: 从图中看出,不可信任的客户有“bad”表示,即响应。而我们习惯把响应值定为“1”,因此,需要把doog_bad变量重编码,即“bad”对应”1“,“good”对应“0”。新变量命名为good_badn。 另外,从图中知目标变量响应比例为30%,这个比例不符合一般申请人群响应的比例。这是由于为了得到足够的响应来分析响应行为,以重抽样方式得到的样本。虽然不影响建模,但建模时应加以注意。经调查,申请者总体中约为10%人为有信用风险,90%为没有信用风险。
数据变换 • 插入Create Variable节点作数据变换; • 定义反映信用响应的新响应变量good_badn,作为建模的目标变量。
我们观察Duration变量的分布: 从直方图中知, Duration变量值从4~72,值太多,不利于信用模型的解释。因此,为了简化分析,即使丢失一点信息,我们还是应该将Duration变量化为二值变量。 一方面,因Duration变量的平均值为20左右,分布偏左态;另一方面,金融行业习惯将贷款分为”长期贷款“和”短期贷款“的概念。因此,决定将“贷款期”超过18月的称为“长期贷款”,变量值对应为“1”;将“贷款期”低于18月的称为“短期贷款”,变量值对应为“0”。新变量命名为“deadline”。
因为Checking变量有四个值,信息冗余,不利解释响应变量,因此,我们将Checking拆分为两个变量,即 因为Checking变量有四个值,信息冗余,不利解释响应变量,因此,我们将Checking拆分为两个变量,即 good_Checking表示”好帐户“,即“余额大于200马克”为1,其它为0; bad_Checking表示”坏帐户“,即“负余额”为1,其它为0。
因marital变量含有性别和婚姻的信息,这两个信息都是个人基本信息,如果将它们提出为独立变量,可能对响应预测有利,因此,我们将marital分为两个变量,即 因marital变量含有性别和婚姻的信息,这两个信息都是个人基本信息,如果将它们提出为独立变量,可能对响应预测有利,因此,我们将marital分为两个变量,即 sex表示客户性别 maritals表示客户婚姻状况
设置变量角色 信用评级就是要用申请者个人信息预测响应,这里good_badN就是样本的响应变量,即设置为target角色,其它设为input角色。但创建的新变量的信息代替了旧变量信息,所以在后面建模中要去掉旧变量,即把good_bad、checking、duration、marital设置为rejected角色。 good_badN、good_checking、bad_checking、sex、martials五变量New Measurement设为binary。
数据探测 • 首先,我们要初步了解目标变量和其它变量的分布,目的是: • 数据是否存在大量的缺失值; • 数据是否可能存在严重影响建模稳定性的奇异数据; • 变量服从的分布是否适合模型条件。 • 其次,我们要作一般变量与目标变量的交叉分析,以了解其它变量与目标变量的相关性和优势率。目的是: • 选择建模重要变量,减少参与建模的变量,提高计算效力; • 检查变量间的共线性性,提高模型精度; • 为模型解释作好准备。
因数据文件仅有三个区间变量,没有缺失值,DURATION和AGE没有明显奇异值,仅需观察AMOUNT变量的分布。 因数据文件仅有三个区间变量,没有缺失值,DURATION和AGE没有明显奇异值,仅需观察AMOUNT变量的分布。 偏态 数据作对数变换后(即LOG(AMOUNT)), 数据表现出正态分布,奇异值也仅为最小值。
变量变换 将AMOUNT变量作对数变换,变换后的变量命名为LAMOUNT, 并把它角色设置为input,而AMOUNT变量角色设置为rejected。
变量筛选 下面我们探索其它变量与目标变量的关联强度,这是寻找变量在识别响应中的效果的工作。虽然,一元分析不能完全提示变量间的关系,但它是建立多元分析模型的重要基本步骤。 为了了解调查响应变量和22个探索性变量中每个变量的关联,我们插入variableselection节点,选择TargetAssociations栏作优势率分析。选择卡方Pearson统计量作为判别量,其它参数默认。
运行结果:变量筛选树状结构图 从图中可看出:前面部分变量是与目标变量有显著相关性,后面没有。
设置目标函数信息 在实际中,如果我们正确地识别出不可信顾客,减少的损失将远远大于正确识别出可信顾客带来的收益,因此,我们要定义一个适合实际需要的决策损失矩阵,以损失最小化为决策目标,决定顾客信用级别等级的判别阀值。 • 本例分析假设: • 接受一个有信誉的申请者将获得1美元赢利,但拒绝他将平均损失1美元; • 接受一个没有信誉的申请者将平均损失5美元,拒绝就没有损失; • 目标函数选择以损失最小化; • 申请者的总体中响应比例是10%,即响应的先念概率为0.1。
操作参数选择如下: • 目标选择:最小损失; • “接受”一个“不可信者”则损失5元;“接受”一个“可信者”则损失-1元。 • 响应先验概率为0.1,非响应先验概率为0.9。
数据过滤 数据过滤是发现和处理数据中的奇异值,以免奇异值影响建模。插入Filter Outliers节点来完成这项工作。 操作参数如下(默认选择)
建模数据集划分 由于样本数据较少,我们将以随机抽样的方式,把原数据的60%样本划分为训练集,40%分为效验集。
回归预测模型 大多数定性变量响应模型的基本元素是logistic回归模型。设 一个logistic回归模型说明事件拟合概率的一个合适函数是现有解释变量观测值的线性函数: 左边定义拟合概率的logit函数,即
选择Logstic回归模型 • 选择逐步回归法 • 不选择交互项 • 其它用默认选项
影响因子得分(Effect T-scores )是参数的估计值除以估计量的标准差。 参数估计值
从结果中可看出:history=1( 这家银行的所有信用卡都超时还贷), history=0( 没有信用卡或所有的信用卡都超时还贷), savings=1(存款小于100马克)是响应最大正相关的前三个因素。savings=4(存款大于1000马克),BAD_CHECKING=0(支票帐户余额大于0), history=2( 到现在为止,这家银行的所有信用卡都未超时还贷)是响应最大负相关的前三个因素。
神经元模型: w1j 2 w2j 1 wnj 1 电位 2 激活的函数 神经网络预测模型 神经网络模型适合处理描述性和预测性数据挖掘。尽管还在争议神经网络的真实智能,但是现在它已毫无疑问地成为了有用的统计模型,而且神经网络显示了显著的拟合观察数据的能力,尤其是对于带有不完整信息,错误和不准确信息的高维数据库和数据集。 神经元j的电位:
第j人神经元的输出: 阶梯激活函数(还有线性和Sigmoid激活函数): 神经网络以层次方式组织,它有三种类型的层:输入、输出或隐层。神经网络有多层加权神经元,称为多层感知器。一个两层的网络有一个隐层,输入层有n个神经元,隐层有h个神经元,输出层有p个神经元。权重wik(i=1,…,n;k=1,…,h)连接输入层节点和隐层节点;权重zkj(k=1,…,h;j=1,…,p) 连接隐层节点和输出节点。
有监督学习的网络: 假定每一个观测数据(xi,ti)描述,神经网络输出yi=f(xi),使距离d(yi,ti)的各最小。 无监督学习的网络: 假定每一个观测数据xi描述,将数据集D分成子集,使得属于同一子集的xi比较接近,它是一个分类问题。
决策树预测模型 树模型是先将观测数据分到不同组中,再获得每组的得分。树模型分成回归树和分类树,回归树的响应变量是连续的;分类树的响应变量是离散型定量变量或定性变量。 回归树生成的拟合值: 分类树生成的拟合概率:
划分规则:选择划分规则意味着从现有的方法中选择了一个分类器,选择最好的划分。划分规则:选择划分规则意味着从现有的方法中选择了一个分类器,选择最好的划分。 错分不纯性 Gini不纯性 熵不纯性
剪枝: 当没有停机准则时,根据因变量的数值和级别值、树模型可以一直增长直到每一个节点都包含相同的观测数据,这显然不是一个简约的划分。因此,当树达到一定规模时,很有必要停止树的增长,最终得到的理想树模型应既简约又准确。 CART剪枝方法:首先树构成最大尺寸,这可能使树的叶子个数很多。然后根据成本复杂度原则,对树进行修剪或剪枝。剪枝原则是从优化的方式生成子树,它使损失函数最小。
模型评估测度选择“平均损失最小”,其它选择默认项。模型评估测度选择“平均损失最小”,其它选择默认项。 保证模型的稳健性 结论:3层树为最佳模型
模型评估 三个模型的拟合的总均方误接近,从最小损决策原则来看,决策树模型最差,回归模型和神经网络模型各有千秋,可以考虑综合两模型。
整合模型 整合模型(Ensemble mode)就是对前续模型,以平均后验概率(分类目标变量)或平均预测值(区间目标变量)作为响应预测值而建立的模型。 整合回归模型和神经网络模型,选择“combined”模型。选择验效数据集训练模型。
模型评估 模型响应率
模型响应捕获率始终优于随机抽样 模型提升率始终优于随机抽样
使用模型预测单位样本的平均损失始终好于随机抽样。若于总损失来说,得分前50%左右的观测值为拒绝者。 使用模型预测单位样本的平均损失始终好于随机抽样。若于总损失来说,得分前50%左右的观测值为拒绝者。
从边际响应来看(非累积响应率),得分在30%前的观测为拒绝者为佳。从边际响应来看(非累积响应率),得分在30%前的观测为拒绝者为佳。 决策最佳区间
我们可以改变目标决策函数,即重新编辑Target Proflie,可以进行模拟运算。
ROC曲线是一个测量模型预测准确率的图。 • 敏感性(Sensitivity):指正确捕获响应的比率。 • 特异性(Specificity):指正确捕获非响应的比率。
取前20%预测得分值申请者接受,则回报期望最大。取前20%预测得分值申请者接受,则回报期望最大。 交互式利润分析
预测 以SAMPSIO.DMAGESCR数据集为预测数据集,选择为“SCORE”角色。在SCORE节点中选择“EMDATA.VIEW_MLX”数据应用预测程序。
浏览预测结果 预测响应概率,即某个观察是响应的概率值,或不是响应的概率值。
插入Distribution Explorer节点,设置EL_GOOD_BADN_ (期望损失)为X轴。