【数据分享】简化的评分卡、Smote采样和随机森林的信贷违约预测

简介: 【数据分享】简化的评分卡、Smote采样和随机森林的信贷违约预测

查看全文:http://tecdat.cn/?p=27949


作者:Youming Zhang

随着互联网经济的迅猛发展,个人信贷规模在近年来呈现了爆炸式增长。信用风险 管控一直是金融机构研究的热点问题。信贷违约预测目标包括两个方面。其一是为了使 债务人通过模型来进行财务方面良性的决策。其二是债权人可以通过模型预测贷款人是 否会贷款后陷入财务方面的困境。我们以信贷平台上的数据查看文末了解数据获取方式作为信贷数 据样本,构造一个经典的传统信贷申请评分卡模型和随机森林预测模型帮助我们决策是否放贷。其中数据集24万条数据,59个特征。


解决方案


任务/目标


根据申请贷款人的各项指标数据,我们通过机器学习算法解决放贷与不放贷的二分类问题。


数据源准备


在着手处理数据之前,我们先了解一下基本的数据情况,为接下来的数据预处理,

特征工程和建模做准备。首先我们明确目标特征为 loan_status,原数据集中fully paid 表示贷款完全结清,charged off 表示坏账注销。为了后期运用逻辑回归算法的方便,我们直接将其转换成数值变量,用 1 来表示违约,0 表示正常偿还。


数据探索


因为我们使用的算法为基于逻辑回归的评分卡和随机森林模型,特征之间的线性相关性会对模型建立的环节有所影响,所以利用热力图展示一下特征之间的相关性。

图中颜色越浅的部分,对应两两元素的相关性越强。我们在预处理和特征工程步骤对其需要着重处理。


数据预处理


对于缺失值,我们选择删除缺失值超过80%的特征,没有超过阈值的用众数补充。对于同值性变量,我们选择将大于95%的变量删除。因为异常值不多,所以那一行数据选择直接删除。由下图可以看出这是一个不平衡样本。

我们使用Smote上采样算法,使其平衡。

最后我们将数值型特征emp_length,home_ownership,verification_status,term,addr_state,purpose进行LabelEncoder编码。


点击标题查阅往期内容


R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测


01

02

03

04

特征工程


我们知道特征之间存在共线性,利用VIF和COR两个系数筛选,我们得到新的热力图如下。可见共线性情况有很好的改善。

接着对特征进行最大IV值分箱,同时删除IV值较小的特征。最后得到部分连续特征的分箱结果如下。

将分箱结果WOE化,这样可以得知分箱之间的实质性间隔距离。

划分训练集和测试集


我们使用 sklearn 中算法将数据集进行划分,训练集用来模型的拟合.验证集用来回归调参数,测试集用来测试模型的预测能力。


建模


简化评分卡模型


此处的创新点在于简化评分卡模型思想的构建,我们简化的部分在于不去生成评分卡,而是利用评分卡模型中对特征进行WOE变换的一个核心思想,将它和逻辑回归模型相结合,从而得到一个简化评分卡模型。

特征处理的方式有很多,我们选择WOE变换,这是因为WOE变换后的变量和逻辑回归线性表达式成单调关系,这样更加好的衡量组与组之间的数量联系。


随机森林


用随机的方式建立一个森林,森林由很多决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。


简化评分卡


我们将分箱得到的每个特征 woe 值替代数据集中特征本身的值。并用逻辑回归模型进行分类,得到的模型结果准确率达到了 0.7 以上,AUC = 0.78,ks=0.41 说明模型预测能力强。同时我们在验证集上实现了学习曲线,发现并没有显著提升模型的准确率,在十次调用后只将准确率提升了 0.02。

随机森林


随机森林是以决策树为弱学习模型通过 bagging 方法构造出的强学习模型。它能容纳更多的信息,同时通过多模型的投票很好的避免了过拟合的影响。这一模型作为评分卡的参考。我们用 n 表示底层决策树的个数,一般来说,树的个数越多,模型的稳定性越强,但对计算性能也有很高的要求。在这里我们构建的树的个数为 41 棵,得到模型的结果准确率达到了 90.9%,AUC 达到了 0.93,ks 达到了0.82,分类结果非常好。

关于作者


在此对Youming Zhang对本文所作的贡献表示诚挚感谢,他擅长机器学习、特征工程、数据预处理。


相关文章
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
|
6月前
|
存储 数据挖掘
R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列
R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列
|
6月前
|
机器学习/深度学习 安全
R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证
R语言逻辑回归Logistic选股因素模型交易策略及沪深300指数实证
|
6月前
|
机器学习/深度学习 人工智能
SAS用梯度提升回归树(GBDT)迁移学习预测抵押贷款拖欠风险和垃圾电子邮件数据
SAS用梯度提升回归树(GBDT)迁移学习预测抵押贷款拖欠风险和垃圾电子邮件数据
|
6月前
|
机器学习/深度学习 算法 数据可视化
【视频】从决策树到随机森林:R语言信用卡违约分析信贷数据实例|数据分享
【视频】从决策树到随机森林:R语言信用卡违约分析信贷数据实例|数据分享
|
6月前
|
机器学习/深度学习 传感器 自然语言处理
时间序列预测的零样本学习是未来还是炒作:TimeGPT和TiDE的综合比较
最近时间序列预测预测领域的最新进展受到了各个领域(包括文本、图像和语音)成功开发基础模型的影响,例如文本(如ChatGPT)、文本到图像(如Midjourney)和文本到语音(如Eleven Labs)。这些模型的广泛采用导致了像TimeGPT[1]这样的模型的出现,这些模型利用了类似于它们在文本、图像和语音方面获得成功的方法和架构。
124 1
|
6月前
|
vr&ar
时间序列和ARIMA模型预测拖拉机销售的制造案例研究
时间序列和ARIMA模型预测拖拉机销售的制造案例研究
时间序列和ARIMA模型预测拖拉机销售的制造案例研究
|
6月前
|
机器学习/深度学习 算法
R语言用随机森林模型的酒店收入和产量预测误差分析
R语言用随机森林模型的酒店收入和产量预测误差分析
|
6月前
|
安全 vr&ar
R语言非线性动态回归模型ARIMAX、随机、确定性趋势时间序列预测个人消费和收入、用电量、国际游客数量
R语言非线性动态回归模型ARIMAX、随机、确定性趋势时间序列预测个人消费和收入、用电量、国际游客数量
|
6月前
|
机器学习/深度学习 数据采集 算法
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析