摘要: 随着消费信贷与互联网金融的快速发展,贷款违约风险持续攀升,传统风控手段难以应对高维非线性数据的复杂特征。为提升违约预测的准确性与实用性,本文基于Kaggle平台百万级贷款数据集,通过特征选择、数据预处理、模型训练及优化等构建预测体系。采用IV值与PSI值筛选高相关性特征,结合中位数填充、异常值剔除、数据编码与标准化完成数据清洗;运用随机搜索与交叉验证对逻辑回归、决策树、随机森林模型进行超参数调优,以AUC值为核心评价指标,结合准确率、精确率综合评估模型性能。实验结果表明,随机森林模型表现最优(AUC = 0.7149,准确率 = 0.6565,精确率 = 0.6514)。本研究为金融机构优化信贷决策、降低不良贷款率提供技术支撑,同时为金融科技领域的模型工程化应用提供参考。
Abstract: With the rapid development of consumer credit and Internet finance, the risk of loan default has been on a steady rise, and traditional risk control methods are struggling to address the complex characteristics of high-dimensional and nonlinear data. To enhance the accuracy and practicality of default prediction, this study constructs a prediction framework based on a million-scale loan dataset from the Kaggle platform, encompassing processes such as feature selection, data preprocessing, model training, and optimization. Highly relevant features are screened using the Information Value (IV) and Population Stability Index (PSI). Data cleaning is accomplished through median imputation for missing values, outlier removal, data encoding, and standardization. Hyperparameter tuning for logistic regression, decision tree, and random forest models is conducted via random search and cross-validation. The Area Under the ROC Curve (AUC) is adopted as the core evaluation metric, with accuracy and precision used as supplementary indicators to comprehensively assess model performance. Experimental results demonstrate that the random forest model achieves the optimal performance, with an AUC of 0.7149, an accuracy of 0.6565, and a precision of 0.6514. This research provides technical support for financial institutions to optimize credit decisions and reduce non-performing loan rates, while also offering a reference for the engineering application of models in the fintech field.
1. 引言
近年来,我国消费信贷市场规模持续扩张,互联网金融平台的兴起进一步拓宽了贷款服务边界,蚂蚁花呗、京东白条等产品深度融入居民生活,推动住户贷款余额稳步增长,贷款渗透率不断提升。然而,放贷条件放宽与市场规模扩大导致违约风险加剧,传统基于经验规则的风控手段在处理高维、非线性数据时存在效率低、精度不足等问题,难以满足金融机构精细化风险管控需求。在此背景下,机器学习技术凭借强大的特征提取与模式识别能力,为贷款违约预测提供新路径。本文基于Kaggle平台百万级贷款数据集,通过IV值与PSI值筛选特征,结合中位数填充、异常值剔除等完成数据预处理,对逻辑回归、决策树、随机森林模型进行超参数调优并筛选最优模型。该研究旨在构建一种高效、稳健的贷款违约预测方法,不仅丰富机器学习在金融风控领域的应用研究,也为金融机构提供可落地的风控工具,对优化信贷决策流程、降低不良贷款率、维护金融市场稳定具有重要的理论与实践意义。
2. 相关研究
贷款违约预测的研究起步较早,已存在大量的研究成果,并围绕“提高预测精度”这一目标形成了从传统统计方法到智能算法的演进脉络。
20世纪40年代是信用风险分析的早期探索阶段,数理统计方法首次被系统性引入该领域,为风险评估提供了量化分析的基础框架。Durand [1]开创性地将线性判别分析(LDA)技术应用于信用风险分析,通过构建线性判别函数将贷款用户群体划分为高风险与低风险两类,该方法首次实现了风险分类的标准化,打破了传统依赖经验判断的风控模式,为后续信用评分模型的发展奠定了方法论基础。
进入20世纪80年代,信用评分模型的构建与应用成为学术研究热点,研究者开始针对传统统计方法的局限性进行优化。Grablowsky [2]在逻辑回归模型的基础上提出改进方案,开发了Probit回归模型,通过引入正态分布函数的反函数替代传统对数函数,为信用风险评估提供了更贴合金融数据分布特征的技术路径,进一步推动了信用评分模型的工程化应用。
21世纪以来,机器学习算法的兴起为信用风险评估带来了突破性进展,其处理非线性、高维数据的能力显著优于传统统计方法。Lee [3]较早将支持向量机(SVM)应用于企业信用评级预测,通过核函数映射将非线性问题转化为高维空间中的线性分类问题,证实了该算法在复杂信用数据分类任务中的优越性,为后续机器学习在风控领域的应用提供了方法验证。随着算法技术的迭代,深度学习凭借特征自动提取能力进一步提升预测精度,Kvamme等[4]首次将卷积神经网络(CNN)用于抵押贷款违约预测,通过特征自动提取,大幅提升了复杂数据的分析效率与预测准确性;Chi等[5]则创新性地融合知识图谱技术与深度学习架构,在债券违约预测中实现多源异构数据的融合建模,为风险关联分析提供了新范式,进一步拓展了违约预测的数据源与分析维度。
近年来,机器学习在贷款违约预测中的应用研究呈现出“算法优化”与“场景适配”双轮驱动的特征。李杨等[6]聚焦集成学习算法在模型选择中的应用,系统剖析了不同集成策略对违约预测效果的影响机制,为复杂金融场景下的模型选型提供了参考;袁俊[7]与易成怡[8]分别从知识图谱与多模态机器学习的角度探索新方法,前者通过构建金融知识图谱以挖掘金融实体之间的复杂关系提出了结合知识图谱语义信息的机器学习模型,后者则利用知识图谱嵌入技术充分考虑到样本数据之间的关系提升了模型泛化能力与可解释性,为违约预测提供了多元化技术思路;张伍豪[9]研究可解释机器学习(如SHAP、LIME)在信贷违约预测中的应用,通过量化特征对预测结果的贡献度,解决了传统黑箱模型难以解释的痛点,推动模型从“精准预测”向“可解释预测”升级;赖江萍[10]则针对个人贷款数据的高维性与噪声特征,验证了随机森林模型在特征筛选与复杂关系拟合中的有效性,其研究表明该模型可有效降低过拟合风险,在实际业务场景中具有较强的实用性。
3. 模型预处理与特征工程
3.1. 数据集描述
本文采用Kaggle平台贷款违约预测新人赛数据集[11],包含100万条记录,其中训练集80万条、测试集20万条。数据集含47个特征变量,涵盖贷款信息(贷款金额、期限、利率等)、借款人基本信息(年收入、就业年限等)、信用信息(信用等级、循环额度利用率等)及15个匿名特征(n0-n14),目标变量isDefault表示是否违约(1 = 违约,0 = 未违约)。
3.2. 数据预处理
(1) 缺失值处理
为了确保模型的性能,通常对特征的缺失情况进行严格筛选。通过df_train.isnull().mean()*100分析缺失情况,发现dti (债务收入比)、revolUtil (循环额度利用率)、n2、n3、n9和n14 (匿名特征) 6个数值型特征存在缺失,缺失比例最高为5.034%。采用中位数填充缺失值,避免均值填充受异常值影响,确保数据分布稳定性。
(2) 异常值处理
本研究采用基于均方差的异常值识别方法,在统计学理论框架下对数据分布特征进行分析。在数据分布近似正态的情况下,通常遵循“68-95-99.7法则”,通过该方法识别出特征的异常值并进行删除。
(3) 数据编码
类别型特征编码:grade (贷款等级A-G)编码为1-7,subGrade (子等级A1-G5)编码为11-75;issueDate (贷款发放日期)转换为与最早日期的间隔天数,earliesCreditLine (最早信用额度开立日期)提取年份作为数值特征。
数据标准化
采用StandardScaler对数值型特征进行标准化处理,公式(1)为:
(1)
其中,mean为特征均值,σ为标准差,标准化后数据均值为0、方差为1,消除量纲差异对模型训练的影响。
3.3. 特征工程
3.3.1. 特征筛选
剔除无效特征:删除唯一取值特征policyCode (全为1)与无关特征id,减少冗余信息。
为进一步优化特征集,引入IV值(Information Value)与PSI值(Population Stability Index)作为筛选依据。IV值用于评估特征对目标变量的预测能力。PSI值则用于衡量特征分布在训练集与测试集之间的一致性。IV值筛选:计算各特征IV值,保留IV ≥ 0.02的特征,筛选出subGrade (0.499)、interestRate (0.464)、grade (0.463)等有效特征。PSI值验证:计算训练集与测试集特征PSI值,剔除PSI ≥ 0.2的revolBal (0.233),确保特征分布稳定性。
3.3.2. 特征重要性分析
通过计算输出特征重要性,top5特征为subGrade (贷款子等级)、interestRate (贷款利率)、grade (贷款等级)、term (贷款期限)、ficoRangeLow (信用评分下限),这些特征对违约预测的贡献度最高,与金融业务逻辑一致。
4. 模型构建与性能评估
本研究选用逻辑回归、决策树和随机森林三种模型进行实验设计。
4.1. 模型参数设置
每个模型都依据实验需要和模型理论选择了适用于该模型的参数范围用于后续的超参数调优,每个数值型参数均按照离散的取值范围进行设置。
4.1.1. 逻辑回归参数
正则化强度的倒数C采用loguniform (1e−5, 1e5)分布,正则化类型penalty可选l1、l2,求解器solver可选liblinear、saga,最大迭代次数max_iter = 1000。
4.1.2. 决策树参数
分类准则criterion可选gini、entropy,树最大深度max_depth范围1~30,最小样本分裂数min_samples_split = 2。
4.1.3. 随机森林参数
决策树数量n_estimators范围100~300 (步长10),树最大深度max_depth范围1~30,最小样本分裂数min_samples_split范围2~20。
各模型的具体参数如表1:
Table 1. Detailed parameters of each model
表1. 各模型的具体参数
参数 |
逻辑回归 |
决策树 |
随机森林 |
C |
loguniform (le−5, le5) |
- |
- |
penalty |
l1, l2 |
- |
- |
solver |
liblinear, saga |
- |
- |
criterion |
- |
gini, entropy |
- |
max_depth |
- |
np.arange (1, 30, 1) |
np.arange (1, 30, 1) |
min_samples_split |
- |
- |
np.arange (2, 20, 1) |
n_estimators |
- |
- |
np.arange (100, 300, 10) |
4.2. 超参数调优
采用随机搜索(Random Search)结合5折交叉验证进行调优,每种模型随机采样30组参数组合,部分参数组合及其评估结果如下表2所示。5折交叉验证将训练集分为5份,轮流使用4份训练、1份验证,确保评估结果的可靠性。调优核心目标是最大化AUC值,同时平衡准确率与精确率。
Table 2. Evaluation results of selected parameter combinations
表2. 部分参数组合及其评估结果
模型 |
参数 |
准确率 |
精确率 |
AUC |
逻辑回归 |
C: 0.000205994924076574, penalty: l1, solver: saga |
0.6418 |
0.6494 |
0.6963 |
C: 4.736703973761421e-05, penalty: l1, solver: saga |
0.6326 |
0.6353 |
0.6834 |
C: 0.034034927045213076, penalty: l1, solver: saga |
0.6485 |
0.6514 |
0.7042 |
C: 0.000907787087998, penalty: l1, solver: liblinear |
0.6478 |
0.6481 |
0.7035 |
C: 673.0752238460292, penalty: l2, solver: liblinear |
0.6486 |
0.6514 |
0.7042 |
C: 0.000389247688007, penalty: l2, solver: liblinear |
0.6501 |
0.6480 |
0.7036 |
决策树 |
max_depth: 7, criterion: gini |
0.6450 |
0.6451 |
0.7006 |
max_depth: 3, criterion: gini |
0.6326 |
0.6076 |
0.6814 |
max_depth: 2, criterion: gini |
0.6326 |
0.6076 |
0.6690 |
max_depth: 28, criterion: gini |
0.5697 |
0.5696 |
0.5664 |
max_depth: 13, criterion: entropy |
0.6357 |
0.6330 |
0.6782 |
随机森林 |
n_estimators: 260, min_samples_split: 7, max_depth: 3 |
0.6345 |
0.6111 |
0.6958 |
n_estimators: 290, min_samples_split: 6, max_depth: 20 |
0.6546 |
0.6502 |
0.7121 |
n_estimators: 220, min_samples_split: 6, max_depth: 14 |
0.6559 |
0.6506 |
0.7145 |
n_estimators: 180, min_samples_split: 8, max_depth: 14 |
0.6558 |
0.6505 |
0.7144 |
n_estimators: 250, min_samples_split: 12, max_depth: 1 |
0.6334 |
0.6091 |
0.6838 |
4.3. 模型性能对比
4.3.1. 交叉验证结果
三种模型经调优后的5折交叉验证平均性能如下表3所示。
由表3可知,随机森林模型在三项指标上均表现最优,AUC值较逻辑回归提升1.52%,较决策树提升1.91%,体现了随机森林的优势。在比较不同模型的性能时,除预测精度外,还需综合考虑计算开销、预测速度及可解释性等实际应用中的关键因素。逻辑回归模型结构简单,训练和预测速度最快,计算开销显著低于其他两种模型,且具备良好的可解释性,但其精度相对较低,在处理复杂非线性关系时存在局限。决策树模型在训练过程中需遍历所有特征寻找最优划分点,计算复杂度随数据量和特征数量增长而快速上升,预测阶段虽速度较快,但模型可解释性随着树深增加而明显下降。随机森林作为集成模型,需要构建大量决策树并进行聚合,训练过程具有最高的计算开销和最长耗时,预测阶段也因需遍历多棵树而速度最慢,且模型的可解释性最为复杂,通常需借助特征重要性等工具进行间接解释。
Table 3. Optimal parameters and evaluation results for each model
表3. 各模型最佳参数及评估结果
模型 |
参数 |
准确率 |
精确率 |
AUC |
逻辑回归 |
C: 0.24089234481201505, penalty: l1, solver: saga |
0.6486 |
0.6514 |
0.7042 |
决策树 |
max_depth: 8, criterion: entropy |
0.6458 |
0.6427 |
0.7015 |
随机森林 |
n_estimators: 280, max_depth: 19, min_samples_split: 15 |
0.6565 |
0.6514 |
0.7149 |
综合来看,三种模型在计算效率与可解释性方面呈现出明显的权衡关系:逻辑回归适合对可解释性要求高、数据量大的实时场景;决策树在中等规模数据上平衡了效率与解释性;随机森林虽在预测精度上表现最优,但其高计算成本和“黑箱”特性限制了在高频或可解释性要求严格场景中的应用。不过,在贷款违约预测中,随机森林仍是更合适的选择。尽管它在计算开销、预测速度和可解释性上并不占优,但贷款场景的核心诉求是提升预测的准确性与稳定性——从评估结果可以看到,随机森林的AUC (0.7149)是三者中最高的,精准率也与逻辑回归持平;同时,它能有效缓解决策树的过拟合问题,对于收入、负债、征信记录等因素之间的非线性关系,建模能力更强,能够更稳定地识别高违约风险的用户,从而帮助金融机构降低贷款损失,这恰恰是贷款违约预测的关键目标。
4.3.2. 最优模型参数
随机森林最优参数组合为:n_estimators = 280,max_depth = 19,min_samples_split = 15。该参数组合在平衡模型复杂度与泛化能力方面表现最佳,既避免过拟合,又保证了预测精度。
5. 结论
本文基于机器学习技术构建贷款违约预测模型,通过系统的数据分析与模型优化,得出以下结论:特征工程层面,采用IV值与PSI值结合的筛选方法可有效保留关键特征、提升模型性能,其中subGrade (贷款子等级)、interestRate (贷款利率)、grade (贷款等级)、term (贷款期限)、ficoRangeLow (信用评分下限)为对违约预测贡献度最高的五大特征;模型性能层面,随机森林模型在AUC值、准确率及稳定性上均优于逻辑回归与决策树模型,是适配贷款违约预测场景的最优选择。
该研究也存在一定局限:数据维度上,未引入社交行为、交易流水等多源异构数据,特征体系有待丰富;模型特性上,随机森林的可解释性不足,难以完全满足金融监管对模型透明度的要求;功能落地方面,相关应用尚未实现实时数据同步与风险预警推送,实用性需进一步优化。未来研究将从三方面推进:数据拓展层面,整合社交媒体数据、消费行为数据等多源信息,构建更全面的特征体系;模型优化层面,引入LSTM、图神经网络等深度学习模型处理时序与关系型数据,同时结合SHAP、LIME等工具提升模型可解释性,兼顾预测精度与监管适配性;功能升级层面,完善实时数据接口与风险预警机制,推动模型应用向更高效、智能的方向发展。
基金项目
河北省金融科技应用重点实验室项目,智能化银行数字员工构建与关键技术研究(课题号:2024007)。