首页> 中国专利> 基于类别不平衡机器学习框架的债券违约预测方法和装置

基于类别不平衡机器学习框架的债券违约预测方法和装置

摘要

本公开提供了一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品,所述方法包括:获取发债主体的相关数据;对获取的所述发债主体的相关数据进行预处理;从发债主体的相关数据中选择对模型训练贡献度最高的特征;使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型;部署所述最优模型,并使用所述最优模型进行债券违约预测。本公开通过选择对模型训练贡献度最高的特征并使用Self Paced Ensemble方法来训练预测模型,实现更加准确的债券违约预测。

著录项

  • 公开/公告号CN114676932A

    专利类型发明专利

  • 公开/公告日2022-06-28

    原文格式PDF

  • 申请/专利权人 工银瑞信基金管理有限公司;

    申请/专利号CN202210407035.1

  • 发明设计人 李孜;杨帆;吴皓;孙彦杰;

    申请日2022-04-18

  • 分类号G06Q10/04;G06Q10/06;G06Q40/02;G06N20/20;G06N5/00;G06K9/62;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人张琛

  • 地址 100033 北京市西城区金融大街5号新盛大厦A座

  • 入库时间 2023-06-19 15:47:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及金融科技技术领域,尤其涉及一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品。

背景技术

伴随着我国债券市场的高速发展,债券市场的信用风险也在不断累积,债券违约事件发生频率逐年增多,已经步入常态化。2014年“11超日债”未按期付息是公认的首次信用债违约事件,违约债券数量和金额从2014年的6只13.40亿元,增长到2020年的155只1757.72亿元。违约发债主体也从小微企业向大中型企业、国企、上市公司扩散。高评级违约主体也在增多,2020年首次违约主体AA级占首次违约主体27.59%,已经超过BBB及以下等级的占比17.20%。违约主体的地域分布从东南沿海地区到了中西部地区,所在行业也囊括了多领域控股、石油与天然气的炼制和销售、综合类行业、建筑与工程、食品加工与肉类、房地产开发等。

固定收益类资产占资产管理行业投资标的很大一部分比例,债券违约会造成持有人的本金或利息遭到损失,并且违约发债主体的所有债券中债估值飙升,从而影响产品净值,引发部分委托人的赎回。委托人赎回产品会让产品管理者卖出流动性好的资产,但先赎回的投资者能得到资产变现的现金,后赎回的投资者只能承担低流动性资产带来的损失,这种不公平会加速投资者的赎回,增加资管产品的流动性压力,引发产品净值进一步下跌。为了预防这种情况发生,有必要对债券违约进行预测,提前避开有可能“暴雷”的债券。

业界已经研发出了一些基于机器学习的债券违约预测方法,这些方法通常利用发债主体的财务、征信、信用评级、公司公告等数据,经过数据清洗和特征工程后,训练机器学习模型并找到最优参数。但是,上述方法存在数据类别严重不平衡的问题,违约债券发债主体占全部信用债发债主体的比例很低,只有大约1%的发债主体有过债券违约,这造成了训练机器学习模型的数据类别不平衡,使得模型训练时会产生对多类样本的倾向性,影响预测效果。

发明内容

鉴于上述训练机器学习模型的数据类别不平衡带来的债券违约预测效果不佳的问题,本公开提供了一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品,通过选择对模型训练贡献度最高的特征并使用Self Paced Ensemble方法来训练预测模型,实现更加准确的债券违约预测。

本公开的第一个方面提供了一种基于类别不平衡机器学习框架的债券违约预测方法,所述预测方法包括:

从发债主体的相关数据中选择对模型训练贡献度最高的特征,所述相关数据包括发债主体的年度财务报表数据和违约情况数据;

使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型;

部署所述最优模型,并使用所述最优模型进行债券违约预测。

根据本公开的实施例,在所述从发债主体的相关数据中选择对模型训练贡献度最高的特征之前,所述方法还包括:

获取发债主体的相关数据;

对获取的所述发债主体的相关数据进行预处理。

根据本公开的实施例,所述获取发债主体的相关数据,具体包括:

从数据库中获取发债主体的资产负债表、利润表、现金流量表、财务指标、债券违约报表、债券分类板块、债券概念板块、中债登收益率曲线,筛选出全部信用债发债主体,从中剔除城投债,并获取所述信用债发债主体的年度财务报表数据,判断信用债发债主体是否违约,对信用债发债主体是否违约进行标记,同时设置所属发债主体的首次违约标签。

根据本公开的实施例,所述对获取的所述发债主体的相关数据进行预处理,包括:

统计所述发债主体的相关数据的特征的缺失率、去除所述发债主体的相关数据的特征的异常值、对所述发债主体的相关数据的特征进行分箱处理。

根据本公开的实施例,所述从发债主体的相关数据中选择对模型训练贡献度最高的特征,具体包括:

计算所述发债主体的相关数据的特征的单变量相关性、多变量相关性、IV值、信息熵和基尼系数,结合业务经验,从中选择对模型训练贡献度最高的特征。

根据本公开的实施例,所述构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型,具体包括:

确定集成学习框架中的基分类器;

将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集;

基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练;

选择最优模型。

根据本公开的实施例,所述确定集成学习框架中的基分类器,具体包括:具体包括:将LightGBM二分类分类器确定为集成学习框架中的基分类器,所述LightGBM二分类分类器包含了多棵决策树。

根据本公开的实施例,所述将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

根据本公开的实施例,所述使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:

将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集随机划分为5份,每一次选取其中的4份作为训练集,剩余的1份作为测试集,重复上述选取步骤五次,每次选取的训练集是不同的。

根据本公开的实施例,所述基于所述训练集和测试集并使用Self PacedEnsemble集成学习方法来进行模型训练,具体包括:

1)初始化训练集D中的少数样本P和多数样本N;

2)使用所述多数样本N中随机欠采样的子集N

3)将到目前为止所有基分类器的和作为集成模型F

其中,i表示已经训练的基分类器的总数,其最大值为n;

4)将所述多数样本N根据分类硬度分箱成k组B

5)计算每个分箱的平均分类硬度,第1个分箱的平均硬度为

6)更新自步因子

7)根据分类硬度和自步因子计算每个分箱的采样权重p

8)基于采样权重p

9)在新的欠采样样本集上训练基分类器f

10)返回上述步骤3)继续新的迭代,直到步骤3)中完成了n 轮迭代;

11)在n轮迭代完成后,将所有基分类器整合为集成分类器。

根据本公开的实施例,所述选择最优模型具体包括:

将每个超参数设定好候选值,组合成超参数矩阵,使用Grid Search在所述划分的训练集上进行5次模型训练,观测模型在测试集上的指标,根据5次模型训练的结果评估模型质量,并选择最优模型。

根据本公开的实施例,所述评估模型质量所使用的评估指标包括准确率、精确率、召回率、F1或ROC-AUC。

根据本公开的实施例,所述超参数包括Self Paced Ensemble分类器的超参数和LightGBM基分类器的超参数,其中:

所述Self Paced Ensemble分类器的超参数包括:基分类器数量、分箱数量、分类硬度函数;

所述LightGBM基分类器的超参数包括:叶子数量、叶子最小数据量、最大深度、决策树数量、学习率、决策树类型、L1正则化系数、L2正则化系数。

根据本公开的实施例,所述部署所述最优模型,具体包括:将训练好的所述最优模型用Python fastapi封装为HTTP服务,部署到生产环境服务器中。

根据本公开的实施例,所述使用所述最优模型进行债券违约预测,具体包括:

定期产生用于模型预测的预测数据,将加工好的所述预测数据转化为JSON格式,发送到封装为HTTP服务的所述最优模型中进行债券违约预测,预测完毕后取回预测结果,并将所述预测结果推送到下游应用系统中进行展示。

本公开的第二个方面提供了一种基于类别不平衡机器学习框架的债券违约预测装置,所述预测装置包括特征选择模块、模型训练模块和违约预测模块,其中:

所述特征选择模块,用于从发债主体的相关数据中选择对模型训练贡献度最高的特征,所述相关数据包括发债主体的年度财务报表数据和违约情况数据;

所述模型训练模块,用于使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型;

所述违约预测模块,用于部署所述最优模型,并使用所述最优模型进行债券违约预测。

根据本公开的实施例,所述装置还包括数据获取模块和数据预处理模块,其中:

所述数据获取模块,用于获取发债主体的相关数据;

所述数据预处理模块,用于对获取的所述发债主体的相关数据进行预处理。

根据本公开的实施例,所述获取发债主体的相关数据,具体包括:

从数据库中获取发债主体的资产负债表、利润表、现金流量表、财务指标、债券违约报表、债券分类板块、债券概念板块、中债登收益率曲线,筛选出全部信用债发债主体,从中剔除城投债,并获取所述信用债发债主体的年度财务报表数据,判断信用债发债主体是否违约,对信用债发债主体是否违约进行标记,同时设置所属发债主体的首次违约标签。

根据本公开的实施例,所述对获取的所述发债主体的相关数据进行预处理,包括:

统计所述发债主体的相关数据的特征的缺失率、去除所述发债主体的相关数据的特征的异常值、对所述发债主体的相关数据的特征进行分箱处理。

根据本公开的实施例,所述从发债主体的相关数据中选择对模型训练贡献度最高的特征,具体包括:

计算所述发债主体的相关数据的特征的单变量相关性、多变量相关性、IV值、信息熵和基尼系数,结合业务经验,从中选择对模型训练贡献度最高的特征。

根据本公开的实施例,所述构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型,具体包括:

确定集成学习框架中的基分类器;

将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集;

基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练;

选择最优模型。

根据本公开的实施例,所述确定集成学习框架中的基分类器,具体包括:具体包括:将LightGBM二分类分类器确定为集成学习框架中的基分类器,所述LightGBM二分类分类器包含了多棵决策树。

根据本公开的实施例,所述将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

根据本公开的实施例,所述使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:

将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集随机划分为5份,每一次选取其中的4份作为训练集,剩余的1份作为测试集,重复上述选取步骤五次,每次选取的训练集是不同的。

根据本公开的实施例,所述基于所述训练集和测试集并使用Self PacedEnsemble集成学习方法来进行模型训练,具体包括:

1)初始化训练集D中的少数样本P和多数样本N;

2)使用所述多数样本N中随机欠采样的子集N

3)将到目前为止所有基分类器的和作为集成模型Fi,即:

其中,i表示已经训练的基分类器的总数,其最大值为n;

4)将所述多数样本N根据分类硬度分箱成k组B

5)计算每个分箱的平均分类硬度,第1个分箱的平均硬度为

6)更新自步因子

7)根据分类硬度和自步因子计算每个分箱的采样权重p

8)基于采样权重p

9)在新的欠采样样本集上训练基分类器f

10)返回上述步骤3)继续新的迭代,直到步骤3)中完成了n 轮迭代;

11)在n轮迭代完成后,将所有基分类器整合为集成分类器。

根据本公开的实施例,所述选择最优模型具体包括:

将每个超参数设定好候选值,组合成超参数矩阵,使用Grid Search在所述划分的训练集上进行5次模型训练,观测模型在测试集上的指标,根据5次模型训练的结果评估模型质量,并选择最优模型。

根据本公开的实施例,所述评估模型质量所使用的评估指标包括准确率、精确率、召回率、F1或ROC-AUC。

根据本公开的实施例,所述超参数包括Self Paced Ensemble分类器的超参数和LightGBM基分类器的超参数,其中:

所述Self Paced Ensemble分类器的超参数包括:基分类器数量、分箱数量、分类硬度函数;

所述LightGBM基分类器的超参数包括:叶子数量、叶子最小数据量、最大深度、决策树数量、学习率、决策树类型、L1正则化系数、L2正则化系数。

根据本公开的实施例,所述部署所述最优模型,具体包括:将训练好的所述最优模型用Python fastapi封装为HTTP服务,部署到生产环境服务器中。

根据本公开的实施例,所述使用所述最优模型进行债券违约预测,具体包括:

定期产生用于模型预测的预测数据,将加工好的所述预测数据转化为JSON格式,发送到封装为HTTP服务的所述最优模型中进行债券违约预测,预测完毕后取回预测结果,并将所述预测结果推送到下游应用系统中进行展示。

本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述一种基于类别不平衡机器学习框架的债券违约预测方法。

本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述一种基于类别不平衡机器学习框架的债券违约预测方法。

本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述一种基于类别不平衡机器学习框架的债券违约预测方法。

与现有技术相比,本公开提供的一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品,能够使用Self Paced Ensemble方法来训练预测模型,使用欠采样和Boosting集成的方法串行训练模型,训练过程中每一轮迭代的欠采样会选取一些对当前集成模型贡献最大的训练样本,而非简单的随机采样,实现更加准确的债券违约预测,发现更多有潜在风险的发债主体,及早规避因信用风险带来的损失。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测方法的流程图;

图2示意性示出了根据本公开实施例的使用训练集和测试集进行模型训练并选择最优模型的流程图;

图3示意性示出了根据本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测装置的结构框图;

图4示意性示出了实现本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测方法的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有 B和C、和/或具有A、B、C的系统等)。

与现有技术相比,本公开提供了一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品,所述的一种基于类别不平衡机器学习框架的债券违约预测方法包括:获取发债主体的相关数据;对获取的所述发债主体的相关数据进行预处理;从发债主体的相关数据中选择对模型训练贡献度最高的特征;使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法(也称为自步集成学习方法)来进行模型训练,并选择最优模型;部署所述最优模型,并使用所述最优模型进行债券违约预测。

本公开的方案能够使用Self Paced Ensemble方法来训练预测模型,使用欠采样和Boosting集成的方法串行训练模型,训练过程中每一轮迭代的欠采样会选取一些对当前集成模型贡献最大的训练样本,而非简单的随机采样,实现更加准确的债券违约预测,发现更多有潜在风险的发债主体,及早规避因信用风险带来的损失。

以下将通过图1-图4对本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测方法、装置、设备、介质和产品进行详细描述。

图1示意性示出了根据本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测方法的流程图。

如图1所示,该实施例提供了一种基于类别不平衡机器学习框架的债券违约预测方法,所述方法包括操作S101-操作S105,具体如下:

在操作S101中,获取发债主体的相关数据,所述相关数据包括发债主体的年度财务报表数据和违约情况数据。

所述获取发债主体的相关数据,具体包括:从数据库中获取发债主体的相关数据。

所述从数据库中获取发债主体的相关数据,具体包括:

从数据库中获取发债主体的资产负债表、利润表、现金流量表、财务指标、债券违约报表、债券分类板块、债券概念板块、中债登收益率曲线,筛选出全部信用债发债主体,从中剔除城投债,并获取所述信用债发债主体的年度财务报表数据,判断信用债发债主体是否违约,对信用债发债主体是否违约进行标记,同时设置所述发债主体的首次违约标签。

所述数据库可以是Wind数据库。

在操作S102中,对获取的所述发债主体的相关数据进行预处理。

所述对获取的所述发债主体的相关数据进行预处理,包括:统计所述发债主体的相关数据的特征的缺失率、去除所述发债主体的相关数据的特征的异常值、对所述发债主体的相关数据的特征进行分箱处理。

在操作S103中,从所述发债主体的相关数据中选择对模型训练贡献度最高的特征。

所述从所述发债主体的相关数据中选择对模型训练贡献度最高的特征,具体包括:计算所述发债主体的相关数据的特征的单变量相关性、多变量相关性、IV值、信息熵和基尼系数,结合业务经验,从中选择对模型训练贡献度最高的特征。

在操作S104中,使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用SelfPaced Ensemble集成学习方法来进行模型训练,并选择最优模型。

其中,所述发债主体的所述年度财务报表数据是违约预测年份之前两年的数据,例如要预测2020年违约的主体,选用2018年的年度财务报表数据。

如图2所示,所述使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用SelfPaced Ensemble方法来进行模型训练,选择最优模型,具体包括:

在操作S1041中,确定集成学习框架中的基分类器。

所述确定集成学习框架中的基分类器,具体包括:将LightGBM 二分类分类器确定为集成学习框架中的基分类器,所述LightGBM二分类分类器包含了多棵决策树。

所述LightGBM是梯度提升决策树算法的一种高效实现,该算法是将决策树用Boosting的方法集成,迭代训练得到最优的模型。

在操作S1042中,将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

为了找到最优的模型超参数组合,需要将数据集划分一部分作为测试集,其余的作为调整超参数时的训练集。

所述将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

所述使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集随机划分为5份,每一次选取其中的4份作为训练集,剩余的1份作为测试集,重复上述选取步骤五次,每次选取的训练集是不同的。

在操作S1043中,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练。

所述基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,具体包括:

1)初始化训练集D中的少数样本P和多数样本N;

2)使用所述多数样本N中随机欠采样的子集N0和所述少数样本 P训练第1个基分类器f

3)将到目前为止所有基分类器的和作为集成模型F

其中,i表示已经训练的基分类器的总数,其最大值为n;

4)将所述多数样本N根据分类硬度分箱成k组B

5)计算每个分箱的平均分类硬度,第1个分箱的平均硬度为

6)更新自步因子

7)根据分类硬度和自步因子计算每个分箱的采样权重p

8)基于采样权重p

9)在新的欠采样样本集上训练基分类器f

10)返回上述步骤3)继续新的迭代,直到步骤3)中完成了n 轮迭代;

11)在n轮迭代完成后,将所有基分类器整合为集成分类器。

在操作S1044中,选择最优模型。

所述选择最优模型具体包括:将每个超参数设定好候选值,组合成超参数矩阵,使用Grid Search在所述划分的训练集上进行5次模型训练,观测模型在测试集上的指标,根据5次模型训练的结果评估模型质量,并选择最优模型。

所述评估模型质量所使用的评估指标包括准确率、精确率、召回率、F1或ROC-AUC。

所述超参数包括Self Paced Ensemble分类器的超参数和LightGBM基分类器的超参数。

所述Self Paced Ensemble分类器的超参数包括:基分类器数量、分箱数量、分类硬度函数。

所述LightGBM基分类器的超参数包括:叶子数量、叶子最小数据量、最大深度、决策树数量、学习率、决策树类型、L1正则化系数、L2正则化系数。

在操作S105中,部署所述最优模型,并使用所述最优模型进行债券违约预测。

所述部署所述最优模型,具体包括:将训练好的所述最优模型用 Python fastapi封装为HTTP服务,部署到生产环境服务器中。

所述使用所述最优模型进行债券违约预测,具体包括:定期产生用于模型预测的预测数据,将加工好的所述预测数据转化为JSON格式,发送到封装为HTTP服务的所述最优模型中进行债券违约预测,预测完毕后取回预测结果,并将所述预测结果推送到下游应用系统中进行展示。

所述定期产生用于模型预测的预测数据,具体包括:将特征提取与特征工程的部分开发成数据库的存储过程,定期产生用于模型预测的预测数据。

借助于本实施例提供的一种基于类别不平衡机器学习框架的债券违约预测方法,能够使用Self Paced Ensemble方法来训练预测模型,使用欠采样和Boosting集成的方法串行训练模型,训练过程中每一轮迭代的欠采样会选取一些对当前集成模型贡献最大的训练样本,而非简单的随机采样,实现更加准确的债券违约预测,发现更多有潜在风险的发债主体,及早规避因信用风险带来的损失。

基于上述图1所示的一种基于类别不平衡机器学习框架的债券违约预测方法,本公开还提供了一种基于类别不平衡机器学习框架的债券违约预测装置。以下将结合图3对该装置进行详细描述。

图3示意性示出了根据本公开实施例的一种基于类别不平衡机器学习框架的债券违约预测装置的结构框图。

如图3所示,该实施例提供了一种基于类别不平衡机器学习框架的债券违约预测装置300,所述装置300包括数据获取模块301、数据预处理模块302、特征选择模块303、模型训练模块304和违约预测模块305。

所述数据获取模块301,用于获取发债主体的相关数据,所述相关数据包括发债主体的年度财务报表数据和违约情况数据。

所述获取发债主体的相关数据,具体包括:从数据库中获取发债主体的相关数据。

所述从数据库中获取发债主体的相关数据,具体包括:

从数据库中获取发债主体的资产负债表、利润表、现金流量表、财务指标、债券违约报表、债券分类板块、债券概念板块、中债登收益率曲线,筛选出全部信用债发债主体,从中剔除城投债,并获取所述信用债发债主体的年度财务报表数据,判断信用债发债主体是否违约,对信用债发债主体是否违约进行标记,同时设置所述发债主体的首次违约标签。

所述数据库可以是Wind数据库。

所述数据预处理模块302,用于对获取的所述发债主体的相关数据进行预处理。

所述对获取的所述发债主体的相关数据进行预处理,包括:统计所述发债主体的相关数据的特征的缺失率、去除所述发债主体的相关数据的特征的异常值、对所述发债主体的相关数据的特征进行分箱处理。

所述特征选择模块303,用于从所述发债主体的相关数据中选择对模型训练贡献度最高的特征。

所述从所述发债主体的相关数据中选择对模型训练贡献度最高的特征,具体包括:计算所述发债主体的相关数据的特征的单变量相关性、多变量相关性、IV值、信息熵和基尼系数,结合业务经验,从中选择对模型训练贡献度最高的特征。

所述模型训练模块304,用于使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,并选择最优模型。

其中,所述发债主体的所述年度财务报表数据是违约预测年份之前两年的数据,例如要预测2020年违约的主体,选用2018年的年度财务报表数据。

所述使用选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签,构造训练集和测试集,基于所述训练集和测试集并使用Self PacedEnsemble方法来进行模型训练,选择最优模型,具体包括:

(1)确定集成学习框架中的基分类器。

所述确定集成学习框架中的基分类器,具体包括:将LightGBM 二分类分类器确定为集成学习框架中的基分类器,所述LightGBM二分类分类器包含了多棵决策树。

所述LightGBM是梯度提升决策树算法的一种高效实现,该算法是将决策树用Boosting的方法集成,迭代训练得到最优的模型。

(2)将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

为了找到最优的模型超参数组合,需要将数据集划分一部分作为测试集,其余的作为调整超参数时的训练集。

所述将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集。

所述使用5折交叉验证法将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集划分为训练集和测试集,具体包括:将包含所述选择的所述发债主体的所述年度财务报表数据的特征和所述发债主体的首次违约标签的数据集随机划分为5份,每一次选取其中的4份作为训练集,剩余的1份作为测试集,重复上述选取步骤五次,每次选取的训练集是不同的。

(3)基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练。

所述基于所述训练集和测试集并使用Self Paced Ensemble集成学习方法来进行模型训练,具体包括:

1)初始化训练集D中的少数样本P和多数样本N;

2)使用所述多数样本N中随机欠采样的子集N

3)将到目前为止所有基分类器的和作为集成模型F

其中,i表示已经训练的基分类器的总数,其最大值为n;

4)将所述多数样本N根据分类硬度分箱成k组B

5)计算每个分箱的平均分类硬度,第1个分箱的平均硬度为

6)更新自步因子

7)根据分类硬度和自步因子计算每个分箱的采样权重p

8)基于采样权重p

9)在新的欠采样样本集上训练基分类器f

10)返回上述步骤3)继续新的迭代,直到步骤3)中完成了n 轮迭代;

11)在n轮迭代完成后,将所有基分类器整合为集成分类器。

(4)选择最优模型。

所述选择最优模型具体包括:将每个超参数设定好候选值,组合成超参数矩阵,使用Grid Search在所述划分的训练集上进行5次模型训练,观测模型在测试集上的指标,根据5次模型训练的结果评估模型质量,并选择最优模型。

所述评估模型质量所使用的评估指标包括准确率、精确率、召回率、F1或ROC-AUC。

所述超参数包括Self Paced Ensemble分类器的超参数和 LightGBM基分类器的超参数。

所述Self Paced Ensemble分类器的超参数包括:基分类器数量、分箱数量、分类硬度函数。

所述LightGBM基分类器的超参数包括:叶子数量、叶子最小数据量、最大深度、决策树数量、学习率、决策树类型、L1正则化系数、L2正则化系数。

所述违约预测模块305,用于部署所述最优模型,并使用所述最优模型进行债券违约预测。

所述部署所述最优模型,具体包括:将训练好的所述最优模型用 Python fastapi封装为HTTP服务,部署到生产环境服务器中。

所述使用所述最优模型进行债券违约预测,具体包括:定期产生用于模型预测的预测数据,将加工好的所述预测数据转化为JSON格式,发送到封装为HTTP服务的所述最优模型中进行债券违约预测,预测完毕后取回预测结果,并将所述预测结果推送到下游应用系统中进行展示。

所述定期产生用于模型预测的预测数据,具体包括:将特征提取与特征工程的部分开发成数据库的存储过程,定期产生用于模型预测的预测数据。

借助于本实施例提供的一种基于类别不平衡机器学习框架的债券违约预测装置,能够使用Self Paced Ensemble方法来训练预测模型,使用欠采样和Boosting集成的方法串行训练模型,训练过程中每一轮迭代的欠采样会选取一些对当前集成模型贡献最大的训练样本,而非简单的随机采样,实现更加准确的债券违约预测,发现更多有潜在风险的发债主体,及早规避因信用风险带来的损失。

图4示意性示出了根据本公开实施例的适于实现一种基于类别不平衡机器学习框架的债券违约预测方法的电子设备的方框图。

如图4所示,根据本公开实施例的电子设备400包括处理器401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分 408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。处理器401例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器401还可以包括用于缓存用途的板载存储器。处理器401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 403中,存储有电子设备400操作所需的各种程序和数据。处理器401、ROM402以及RAM 403通过总线404彼此相连。处理器 401通过执行ROM 402和/或RAM 403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 402和RAM 403以外的一个或多个存储器中。处理器401也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备400还可以包括输入/输出(I/O) 接口405,输入/输出(I/O)接口405也连接至总线404。电子设备 400还可以包括连接至I/O接口405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410 上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 402和/或RAM 403和/或ROM 402和RAM 403以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的物品推荐方法。

在该计算机程序被处理器401执行时执行本公开实施例的系统/ 装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分409被下载和安装,和/或从可拆卸介质411被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被处理器401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java, C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。电应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号