首页 > 其他分享 >SAS数据挖掘EM贷款违约预测分析:逐步Logistic逻辑回归、决策树、随机森林|附代码数据

SAS数据挖掘EM贷款违约预测分析:逐步Logistic逻辑回归、决策树、随机森林|附代码数据

时间:2023-09-08 22:33:39浏览次数:49  
标签:EM 风险 显著 借款人 违约 Logistic 数据挖掘 贷款 决策树

全文链接:http://tecdat.cn/?p=31745

原文出处:拓端数据部落公众号

最近我们被客户要求撰写关于贷款违约预测的研究报告,包括一些图形和统计输出。

近几年来,各家商业银行陆续推出多种贷款业务,如何识别贷款违约因素已经成为各家商业银行健康有序发展贷款业务的关键。在贷款违约预测的数据的基础上,探索是否能通过借贷者的数据判断其违约风险,从而帮助商业银行提前做好应对。

解决方案

任务/目标

根据借款者的个人信息和贷款的属性,运用SAS EM软件,使用多种模型进行分析。

数据源准备

因获取数据的能力有限,并为了保证数据量足够巨大且数据质量较高,我们选择了贷款违约预测的数据。整个数据集为有800,000条数据,每条数据除了ID、是否违约isDefault该目标值,还包括loanAmnt、term、interestRate、installment、grade、employmentTitle、employmentLength、homeOwnership 29个变量,变量的具体情况在数据探索中进行描述。

特征转换

为了进一步探究issueDate和earliesCreditLine这两个时间ID的时间久远性是否会对我们的预测产生影响,另外增加了两个变量,分别是interval_issueDate和Interval_earliesCreditLine,都是用2020减去issueDate和earliesCreditLine的年份得到的。对缺失数据进行补缺,修改年份变量为区间型变量并对其进行分箱处理,对偏正态分布的变量进行对数处理,拒绝单值型变量。

划分训练集和测试集

划分数据集的50%为训练集,50%为验证集。

建模

使用逐步Logistic回归

回归结果显示,贷款违约风险与年收入负相关,与债务收入比正相关,与利率正相关,与贷款金额正相关;对于分类变量,贷款年限3年的贷款违约风险显著小于贷款5年,2013-2015年的贷款违约风险显著大于2015-2017年等等。

决策树

使用二分支和三分支决策树进行分析,结果显示影响贷款违约的重要因素有homeOwnership、ficoRangeHigh、dti、grade、term、issueDate等。

随机森林

调参后设置最大树个数为100,最大深度为50,显著性水平为0.05,结果显示训练误分类率为0.1964,验证误分类率为0.1974,根据Gini缩减,对分类准确度影响较大的变量为grade、interestRate、term、dti、ficoRangeHigh等。

模型比较

通过比较发现,Logistic回归具有最小的验证误分类率,为0.1965,其次是三分支决策树和随机森林,最差的为二分支决策树。

image.png

在累积提升度和ROC曲线上,Logistic回归和随机森林表现相近,二分支决策树和三分支决策树表现相近,但是Logistic回归和随机森林模型表现明显优于两个决策树模型。

1111.png

image.png

逐步回归模型的验证误分类率低于决策树1、决策树2和随机森林模型,这表明在这四个模型中,逐步回归模型相比其他模型对于新样本具有更强的泛化能力,在对新样本违约概率的预测上更加准确。

根据结果,就数值型变量而言,违约风险与借款人的债务收入比dti、循环额度利用率revolUtil、贷款利率interestRate、贷款金额loanAmnt、借款人信用档案中未结信用额度的数量openAcc显著正相关;与就业职称employmentTitle、年收入annualIncome、借款人在贷款发放时的FICO所属的下限范围ficoRangeLow、分期付款金额installment、信贷周转余额合计revolBal、借款人信用档案中当前的信用额度总数totalAcc显著负相关。

对于贷款发放年份issueDate,相较于2017年6月之后发放的贷款,2013年6月之前发放的贷款违约风险显著更大,贷款发放年份在2013.6-2015.6年的违约风险稍低,在2015.6-2017.6年的贷款则显著更小。

申请类型applicationType为0时,其违约风险显著小于其值为1时。

相对于贷款等级G,贷款等级为A、B、C时,其违约风险显著更大,贷款等级为D、E、F时,违约风险则显著更小。

相对于房屋所有权状况homeOwnership为5时,homeOwnership为1时,违约风险显著更小,homeOwnership为0,2,3时,违约风险减小,但其结果在统计学上不显著;homeOwnership为4时,违约风险升高,但在统计学上仍然不显著。

贷款用途purpose为0,4,5,8,12时,违约风险显著大于用途为13,用途为1,7,9时,违约风险显著更小,用途为2,3,6,10,11时,其违约风险相对于13没有统计学意义。

贷款期限term为3年时,其违约风险显著小于贷款期限为5年。

验证状态verificationStatus为0时,相对于其值为2时违约风险显著更大。其值为1时则相对于2违约风险显著更小。

因此,建议贷款发放机构在评估借款人的违约风险时,重点关注借款人的负债收入比、就业职称、年收入、房屋所有权状况等个人信息,并分析借款人的借款行为,包括其申请贷款的金额、利率、分期付款金额、用途、申请类型、贷款等级、贷款期限、验证状态,调查借款人的历史借款记录,包括循环额度利用率、借款人信用档案中未结信用额度的数量、贷款发放时的FICO所属的下限范围、信贷周转余额合计、信用档案中当前的信用额度总数。

对于已经发放的贷款,如果贷款行为发生于2013年6月之前,贷款发放机构应该尽快追回并做好坏账准备。

the-secret-to-great-health-1339038575-thumb-1536x1536.webp

关于分析师

在此对Jiasong Xue对本文所作的贡献表示诚挚感谢,他在中山大学完成了管理科学专业的学位,专注商业数据分析领域。擅长SPSS、R语言、Python。

标签:EM,风险,显著,借款人,违约,Logistic,数据挖掘,贷款,决策树
From: https://www.cnblogs.com/tecdat/p/17688687.html

相关文章

  • FAILED: SemanticException Unable to determine if hdfs://localhost.localdomain:90
    问题描述在hive数据库里面,使用select语句对表的数据进行查找,就出现了这个错误:问题解决这怎么说呢?就是说,本来想先放一放,之后再解决,在解决了namenode的问题之后,再次打开hive,执行select语句,发现莫名其妙地好了;本人也很是莫名其妙;......
  • Confluence的Excel插件Elements Spreadsheet安装
    背景Confluence是现在广泛使用的团队协作文档系统。虽然自身带了一些表格编辑功能,但表格的整体功能较弱,比如不能通过Excel文件进行导入导出,表格在复制到Excel时格式会比较奇怪等等。对于未完全整合流程到Confluence上的团队,信息从Excel到在线文档系统的流转是个巨大的工作量。介......
  • Alembic:Python数据库迁移工具
    Alembic是一款轻量型的数据库迁移工具,它与SQLAlchemy一起共同为Python提供数据库管理与迁移支持。Alembic的应用Alembic使用SQLAlchemy作为数据库引擎,为关系型数据提供创建、管理、更改和调用的管理脚本,协助开发和运维人员在系统上线后对数据库进行在线管理。同任何P......
  • AI之gpt_academic
    为ChatGPT/GLM提供实用化交互界面,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm2等本地模型。兼容文心一言,moss,llama2,rwkv,claude2,通义千问......
  • all+temp
      Allimportrequestsimportrefrombs4importBeautifulSoupimportcsv#发起GET请求获取网页源码#url='https://www.blackview.hk/'#提示用户输入网址,并进行格式验证whileTrue:url=input("请输入网址:")pattern=r'^https?://[\w\-]+(\.[\w......
  • mupdf实用操作demo,C++操作PDF文件
    前文:最近有个项目,需要读写PDF,本来想着挺简单的,读写PDF有那么多的库可以使用,唰唰的就完成了。忘记了我写C++的,还是在国产系统上开发的。所以一般的东西还不好使,因为项目需要在多个架构的电脑上使用,所以必须要开源,还要支持读写才行。 找了很多个PDF库(libharu、mupdf、pdfium、......
  • 导入Demo工程
            ......
  • 导入Demo数据
              ......
  • C# 信号量 Semaphore
    ///<summary>///信号量,类似于占坑机制,初始设为5个空的坑位,且最大5个位置///</summary>staticreadonlySemaphoresemaphore=newSemaphore(5,5);staticvoidTest(){Task.Run(AAA);BBB();......
  • 使用GlobeMapper下载谷歌影像
    1谷歌图源1.1有路网标注无偏移 http://gac-geo.googlecnapps.cn/maps/vt?lyrs=s,h&gl=CN&h1=zh-CN&x=%x&y=%y&z=%z1.2无标注无偏移  http://gac-geo.googlecnapps.cn/maps/vt?lyrs=s&x=%x&y=%y&z=%z2下载步骤2.1添加相应的数据源-点击连接到联机数据......