基于机器学习的发债主体违约风险预测
1
目 录
一、 问题定义 ...........................................................1
二、 问题背景 ...........................................................1
三、 主要方法 ...........................................................1
(一) LassoCV ............................................................... 2
(二) LightGBM .............................................................. 2
四、 数据收集 ...........................................................5
(一) 数据获取 .............................................................. 5
(二) 数据概述 .............................................................. 6
(三) 重要数据描述性统计 .................................................... 6
五、 数据预处理 ........................................................ 11
(一) 删除无用字段 ......................................................... 11
(二) 类型特征处理 ......................................................... 11
(三) 空值数据处理 ......................................................... 11
(四) 数据不平衡问题 ....................................................... 12
(五) 特征工程 ............................................................. 12
六、 模型初步选择 ...................................................... 12
七、 特征选择方案对比 .................................................. 14
(一) 财务逻辑特征选择 ..................................................... 14
(二) 技术手段特征选择 ..................................................... 16
八、 最终模型 .......................................................... 18
(一) 特征选择 ............................................................. 19
(二) 参数调整 ............................................................. 19
(三) 模型训练及测试 ....................................................... 19
九、 总结.............................................................. 20
基于机器学习的发债主体违约风险预测
1
基于机器学习的发债主体违约风险预测
一、 问题定义
改革开放后,随着市场经济的蓬勃发展,我国债券市场经历了从无到有再到发展壮
大的过程。在债券市场中,企业债的规模和占比都不断上升。债券在帮助企业融资、促
进实体经济发展的同时也在客观上带来了违约风险,为投资者乃至整个金融市场增加不
确定性。
在这样的现实问题面前,对企业债券市场进行研究,识别发债主体的违约风险就具
备了重要的现实意义,可以对市场在债券的买入、评级、定价等环节发挥帮助作用。具
体来说,本文尝试以发债企业作为研究对象,基于债券发行主体是否发生违约行为作为
企业违约风险变量,同时利用财务逻辑和相关系数、Lasso 等技术手段对特征指标进行
有效筛选,并构建基于多种机器学习算法的发债企业违约风险概率预测模型。
二、 问题背景
近十年来,随着实体经济的不断增长,我国债券市场高速发展,在国内的战略地位
与国际的影响力都进一步提高,当前债券规模位居世界第二。债券市场快速发展的同时
也出现债券违约事件频发的问题,违约风险较以往大幅提高。从 2014 年第一只“11 超
日债”违约到 2021 年 2 月,企业债券违约总数达 737 只,违约债券发行总额 6826.37
亿元,债券余额高达 5909.03 亿元。此外,我国高信用评级债券违约明显增多,AA 级以
上债券违约占比逐年提高。2018 年,AAA 评级的沪华信发行的多只债券发生违约行为拉
开了高评级主体违约的序幕,随后,民生投资、青海盐湖、北大方正和中融新大等 AAA
发行主体也接连发生了违约行为。有效地构建出企业债券违约风险预警模型,以防范和
应对潜在的企业债券违约风险,维护中国债券市场的稳定健康发展,更好地为实体经济
的发展服务,就显得十分重要。
三、 主要方法
基于机器学习的发债主体违约风险预测
2
(一) LassoCV
Lasso 是利用压缩估计的思想,将参数估计与变量选择同时进行的一种正则化的方
法。Lasso 参数估计被定义如下:
y x
i
j
j
j
j
其中,为非负正则参数,
j
j
被称为惩罚项。
LassoCV 的损失函数及损失函数的优化方法与 Lasso 相同,区别在于验证方法。
LassoCV 对超参数 a 使用交叉验证,寻找最合适的 a。LassoCV 是进行 Lasso 回归的首
选,尤其是从高维特征中寻找主要特征时,LassoCV 优势明显。
(二) LightGBM
LightGBM(Light Gradient Boosting Machine)是 20l6 年微软亚洲研究院公布的一个
开源、快速、高效的基于决策树算法的提升(GBDT、GBRT、GBM 和 MART)框架,
被用于排序、分类、回归等多种机器学习的任务,支持高效率的并行训练。
LightGBM 的相关理论基础:
(1) Gradient Boosting。
Boosting 是用一系列子模型的线性组合来完成学习任务的,它分为两种类型:
AdaBoost 和 Gradient Boosting,LightGBM 属于 Gradient Boosting 的一种。
Gradient Boosting 的思想是:一次性迭代变量,迭代过程中,逐一增加子模型,并
且保证损失函数不断减小。假设∫:( X)为子模型,复合模型为:
损失函数为 L[F
m
(X), Y],每一次加入新的子模型后,使得损失函数不断朝着信
息含量次高的变量的梯度减小:
(2)决策树。决策树(Decision Tree)是一种分类和回归的方法,实际研究中大多
用于分类。决策树的结构呈树形结构,大多运用的是二权树,在每一个叶子节点上,根
据某一判断条件,输出“符合条件”和“不符合条件”两类,不断重复向下输出。可以把决
基于机器学习的发债主体违约风险预测
3
策树理解成众多 fthe 规则的集合,也可以认为是定义在特定空间与类空间上的条件概率
分布。决策树的创建包括 3 个主要步骤:特征选择、决策树的生成和决策树的修剪,该
方法具有可读性高、分类速度快的优点。
决策树结构
决策树的分裂方法分为两类,一类是按叶子分裂的学习方法(Leaf-wise Learning);
另一类是按层分裂的学习方法(Level-wise Learning)。按叶子分裂的学习方法是指在
分裂的过程中要不断地寻找分裂后收益最大的节点,对其进行进一步的分裂,其他非收
益最大化的结点不再继续分裂,以这样的规则生长这棵树。这样做的优点是可以使算法
更加快速有效;缺点是会忽略掉那些被舍弃的叶子上的信息,导致分裂结果不够细化。
按叶子分裂的决策树学习过程
按层分裂的学习方法与按叶子分裂的学习方法不同,它不需要挑选收益最大化的节
点,每一层的每一个结点都要进行分裂,也就是说每次迭代都要遍历整个训练数据的所
有数据。优点是每一层的叶子可以并行完成,具有天然的并行性;缺点是这样会产生很
多没有必要的分裂,需要更多的计算成本,同时,也会占用较大的运行内存。