技术领域
[0001] 本
发明涉及金融风险管理技术领域,尤其涉及一种基于机器学习的应收账款兑付风险控制方法及系统。
背景技术
[0002] 应收账款最主要的风险是信用风险,如债权到期付款人无法兑付则会导致债权人无法按期收回资金,如何有效识别承诺付款的债务人或承诺回购的初始债权人的兑付风险,并采取针对的风险控制措施,防范应收账款债权到期兑付风险,是保障应收账款债权流转业务持续健康发展的重要一环。传统是基于尽职调查、专家打分等以人工调查和判定为主的风控方式和技术难以满足快捷高效、低成本的业务发展需求。
发明内容
[0003] 基于背景技术存在的技术问题,本发明提出了一种基于机器学习的应收账款兑付风险控制方法及系统,降低了应收账款到期的兑付风险,提高了应收账款流转的
可持续性。
[0004] 本发明提出的一种基于机器学习的应收账款兑付风险控制方法,包括:
[0005] 根据递归法建立
决策树,通过获取的样本数据训练多个决策树,构建
随机森林模型;
[0006] 利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0007] 对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的
预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子
节点数目;
[0008] 使用优化后的随机森林模型对应收账款进行分类输出,以实现对债务人或者初始债权人是否违约进行预测;
[0009] 进一步地,所述根据递归法建立决策树,包括:
[0010] S11:依次遍历当前数据集中每个特征A的可能取值a,计算每一个切分点(A,a)的基尼指数;
[0011] S12:选择基尼指数最小的切分点为最优切分点,通过所述最优切分点将当前数据集D切分成两个子集D1和D2,其中D1是当前数据集中满足A=a的样本集合,其中D2是当前数据集中不满足A=a的样本集合;
[0012] S13:对切分后的D1和D2集合中的样本数据分别依次循环执行步骤S11和S12,直至样本集合的基尼指数小于预定
阀值。
[0013] S14:基于基尼指数最小化准则生成决策树。
[0014] 进一步地,在所述计算每一个切分点(A,a)的基尼指数中,预设有M类,则当前数据集属于M类中的第k类的概率pk,则pk分布的基尼指数Gini(p):
[0015]
[0016] 在二分类决策树中pk分布的基尼指数Gini(p):
[0017] Gini(p)=2p(1-p)
[0018] 对于D1中样本集合的基尼指数
[0019] 在特征A=a的条件下当前数据集D的基尼指数Gini(D,A)为:
[0020]
[0021] 其中,Gini(D1)为子集D1的基尼指数,Gini(D2)为子集D2的基尼指数。
[0022] 进一步地,在所述将获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率中,包括:
[0023] S21:获取验证数据,所述验证数据包括训练集数据和验证集数据;
[0024] S22:利用训练集数据对随机森林模型的分类器进行训练;
[0025] S23:通过训练后的随机森林模型的分类器对验证集数据进行预测输出,得到基于验证数据的随机森林模型的输出准确率E1;
[0026] S24:循环步骤S21至S23,得到N-1个基于验证数据的随机森林模型的输出准确率E2,E3,···,EN;
[0027] S25:对N次输出准确率E1,E2,···,EN进行加权,得到输出准确率的平均值,以输出准确率的平均值最为最终随机森林模型的输出准确率。
[0028] 进一步地,在步骤S23和S24中得到基于验证数据的随机森林模型的输出准确率中,包括:
[0029] 通过随机森林模型输出债务人或初始债权人对应收账款到期的履约兑付风险值;
[0030] 获取所述债务人或初始债权人在实际履约中对应收账款到期的履约值;
[0031] 通过履约兑付风险值偏差履约值的大小,得到随机森林模型的输出准确率。
[0032] 进一步地,在所述通过优化后的随机森林模型对应收账款进行分类输出,得到应收账款到期的履约兑付风险值中,当履约兑付风险值小于预设阀值时,则通过增加增信措施来提高应收账款的到期兑付。
[0033] 进一步地,在对随机森林模型中的调用参数进行优化中,双层循环遍历建立子树的数量和最小叶
子节点数目的数组参数,得到多个输出准确率,选择输出准确率最高的一组作为随机森林模型的最优调用参数。
[0034] 进一步地,在所述选择输出准确率大于预设准确率的优化后的随机森林模型对应收账款进行分类输出中,选择输出准确率在90%以上的随机森林模型作为优化后的随机森林模型。
[0035] 一种基于机器学习的应收账款兑付风险控制系统,包括构建模
块、优化准确率模块和预测输出模块;
[0036] 构建模块用于根据递归法建立决策树,通过获取的样本数据训练多个决策树,构建随机森林模型;
[0037] 优化准确率模块用于利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0038] 参数优化模块用于对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子节点数目。
[0039] 预测输出模块使用优化参数优化模块中得到优化后的随机森林模型对应收账款进行分类输出,以实现对债务人或者初始债权人是否违约进行预测。
[0040] 一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行如下步骤:
[0041] 根据递归法建立决策树,通过获取的样本数据训练多个决策树,构建随机森林模型;
[0042] 利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0043] 对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子节点数目;
[0044] 使用优化后的随机森林模型对应收账款进行分类输出,以实现对债务人或者初始债权人是否违约进行预测。
[0045] 本发明提供的一种基于机器学习的应收账款兑付风险控制方法及系统的优点在于:本发明结构中提供的一种基于机器学习的应收账款兑付风险控制方法及系统,首先对应收账款债权的债务人或承诺到期回购的初始债权人的到期兑付风险进行快速识别,可以直接得到债务人或初始债权人的履约兑付风险值,通过预测得到的履约兑付风险值,可以事先了解应收账款到期的兑付情况,通过事先预测和事先增加增信措施,降低了应收账款到期的兑付风险,提高了应收账款流转的可持续性。
附图说明
[0046] 图1为本发明一种基于机器学习的应收账款兑付风险控制方法的步骤示意图;
[0047] 图2为本发明一种基于机器学习的应收账款兑付风险控制系统的流程示意图[0048] 其中,1-构建模块,2-准确率模块,3-参数优化模块,4-预测输出模块。
具体实施方式
[0049] 下面,通过具体
实施例对本发明的技术方案进行详细说明,在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
[0050] 参照图1,本发明提出的一种基于机器学习的应收账款兑付风险控制方法,包括:
[0051] S1:根据递归法建立决策树,通过获取的样本数据训练多个决策树,构建随机森林模型;
[0052] 通过使用Python机器学习工具类scikit-learn中RandomForestClassifier方法,建立随机森林模型。
[0053] 样本数据的特征至少包括企业名称、统一社会信用代码(工商注册号)、企业住所地、所属区域(所属省市县区)、企业性质、所属行业、经济类型、企业规模、员工数量、行业地位、成立时间、注册资本、资信状况、营业总收入、营业利润、应收账款与流动资产占比、违约记录等。
[0054] S2:利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0055] S3:对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子节点数目。
[0056] 通过调整RandomForestClassifier方法中调用参数,来提高模型预测结果准确率,选择输出准确率在90%以上的随机森林模型作为优化后的随机森林模型[0057] S4:使用优化后的随机森林模型对应收账款进行分类输出,得到应收账款到期的履约兑付风险值,以实现对债务人或者初始债权人是否违约进行预测。
[0058] 根据步骤S1至S4,主要是用于对债务人或初始债权人的违约行为进行预测,通过预测结果,可以事先了解应收账款到期的兑付情况,通过事先预测和事先增加增信措施,降低了应收账款到期的兑付风险,提高了应收账款流转的可持续性。首先对应收账款债权的债务人或承诺到期回购的初始债权人的到期兑付风险进行快速识别,可以直接得到债务人或初始债权人的履约兑付风险值,当履约兑付风险值大于预设阀值时,说明债务人或初始债权人的兑付风险较低,能完成应收账款的到期兑付;当履约兑付风险值小于预设阀值时,说明债务人或初始债权人的存在兑付风险,可以事先要求提供相应的增信措施来增强到期履约能
力以规避风险,从成本、效率和准确性等多个层面帮助应收账款债权管理服务机构优化风险控制流程,保障应收账款债权流转业务持续健康发展。
[0059] 在随机森林模型中,输入的值必须是整数或者浮点数,所以在向随机森林模型中输入数据时,需要对数据进行预处理,将字符串转
化成整数或者浮点数,以便于与随机森林模型兼容使用。
[0060] 进一步地,在步骤S1所述根据递归法建立决策树中,x1,x2,...,xn代表应收账款债务人和初始债权人的n个属性,通过递归的方式将n维的空间划分为不重叠的矩形,划分步骤如下包括:
[0061] S11:依次遍历当前数据集中每个特征A的可能取值a,计算每一个切分点(A,a)的基尼指数;
[0062] 预设有M类,本
申请使用的类别分两类:是否违约:是(1)、否(0),每一笔债务人或初始债权人记录的违约情况只能属于某一种情况,违约或者不违约,即M为2。则当前数据集属于M类中的第k类的概率pk,则pk分布的基尼指数Gini(p):
[0063]
[0064] 在二分类决策树中pk分布的基尼指数Gini(p):
[0065] Gini(p)=2p(1-p)
[0066] S12:选择基尼指数最小的切分点为最优切分点,通过所述最优切分点将当前数据集D切分成两个子集D1和D2,其中D1是当前数据集中满足A=a的样本集合,其中D2是当前数据集中不满足A=a的样本集合;
[0067] 在特征A=a的条件下当前数据集D的基尼指数Gini(D,A)为:
[0068]
[0069] 其中,Gini(D1)为子集D1的基尼指数,表示集合D1的不确定性,Gini(D2)为子集D2的基尼指数,表示集合D2的不确定性。Gini(D,A):表示经过A=a分割后的集合D的不确定性;基尼指数越大,说明不确定性就越大;基尼系数越小,不确定性越小,数据分割越彻底,越干净。
[0070] S13:对切分后的D1和D2集合中的样本数据分别依次循环执行步骤S11和S12,直至样本集合的基尼指数小于预定阀值。
[0071] 对于对循环执行步骤S11和S12中的停止条件,可以是样本集合的基尼指数小于预定阀值,或可以是样本数据个数小于预定阀值30个,或可以是没有更多的特征可供切分。
[0072] S14:基于基尼指数最小化准则生成决策树。
[0073] 根据步骤S11至S14,可以构建n个决策树,让每颗决策树在不做任何
修剪的前提下最大限度的生长;最后将生成的n个决策树组成随机森林,通过数据训练构建随机森林模型。
[0074] 进一步地,在步骤S2:所述利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率中,包括:
[0075] S21:获取验证数据,所述验证数据包括训练集数据和验证集数据;
[0076] 随机选取80%的验证数据作为训练集数据,剩余20%的的验证数据作为验证集数据。
[0077] S22:利用训练集数据对随机森林模型的分类器进行训练;
[0078] S23:通过训练后的随机森林模型的分类器对验证集数据进行预测输出,得到基于验证数据的随机森林模型的输出准确率E1;
[0079] S24:循环步骤S21至S23,得到N-1个基于验证数据的随机森林模型的输出准确率E2,E3,···,EN;
[0080] S25:对N次输出准确率E1,E2,···,EN进行加权,得到输出准确率的平均值,以输出准确率的平均值最为最终随机森林模型的输出准确率。
[0081] 以上随机森林模型的输出准确率采用的公式如下:
[0082]
[0083] 其中,TP为预测正确的记录数量,TN为预测错误的记录数量,TP+TN为总的预测记录数量。
[0084] 在步骤S23和S24中得到基于验证数据的随机森林模型的输出准确率中,包括:
[0085] 通过随机森林模型输出债务人或初始债权人对应收账款到期的履约兑付风险值;通过履约兑付风险值偏差履约值的大小,得到随机森林模型的输出准确率。
[0086] 通过随机森林模型输出的结果与操作过程中的实际结果进行比较,即可得到输出准确率。
[0087] 优选地,在步骤S3:所述通过优化后的随机森林模型对应收账款进行分类输出,得到应收账款到期的履约兑付风险值中,当履约兑付风险值小于预设阀值时,则通过增加增信措施来提高应收账款的到期兑付。
[0088] 所述增信措施包括但不限于以下几种方式:
[0089] A、缴纳一定比例的履约保证金
[0090] B、核心企业付款承诺
[0091] C、担保公司担保
[0092] D、第三方担保
[0093] E、保险公司保险
[0094] F、有效资产抵(质)押
[0096] H、非金公司转受让
[0097] 通过以上一种或多种增信措施的组合,可以有效防范应收账款到期后债务人无法付款或者初始债权人无法回购的风险,保障应收账款债权到期能够及时获得足额的清偿,具体措施的采用可由应收账款债权管理服务机构结合系统推荐和人工判定综合确定。
[0098] 在步骤S3l:对随机森林模型中的调用参数进行优化中,双层循环遍历建立子树的数量和最小叶子节点数目的数组参数,得到多个输出准确率,选择输出准确率最高的一组作为随机森林模型的最优调用参数。其中一具体实例如下:
[0099] 对随机森林模型的调用参数进行调优,首先是随机森林模型允许单个决策树使用特征的最大数量,由于在债务人或者初始债权人数据中,特征数据段不是很多,总共只有十个,所以选取所有的特征。剩下建立子树的数量和最小叶子节点数目的参数中,对建立子树的数量(n_estimators)和最小叶子节点数目(min_sample_leaf)变量进行调优,通过循环遍历建立子树的数量(n_estimators)和最小叶子节点数目(min_sample_leaf)的数组,其中建立子树的数量(n_estimators)初始值为1,自增量为3,最大数值取50,最小叶子节点数目(min_sample_leaf)初始值为1,自增量为5,最大取值为100,通过双层循环遍历建立模型,得到预测结果,通过真实结果和预测结果进行比较,计算出准确率,如表1所示,最后选择准确率最高的一组参数作为随机森林模型的最优参数。
[0100] 表1
[0101]序号 决策树个数 最小叶子节点数目 准确率
1 1 1 0.8
2 1 6 0.9
3 1 11 0.9
4 1 16 0.95
5 1 21 0.95
6 1 26 0.95
7 4 1 0.75
8 4 6 0.75
9 4 11 0.75
… … … …
N-2 49 86 0.75
N-1 49 91 0.75
N 49 96 0.75
[0102] 通过表1可以直观得出最优参数为(1,16,0.95),即表示当决策树个数为1个、最小叶子节点数目为16个时,随机森林模型的输出准确率为0.95。因此可以选择该参数下的随机森林模型对应收账款进行分类输出,得到较为准确的履约兑付风险值。
[0103] 一种基于机器学习的应收账款兑付风险控制系统,包括构建模块1、准确率模块2、参数优化模块3和预测输出模块4;
[0104] 构建模块1用于根据递归法建立决策树,通过获取的样本数据训练多个决策树,构建随机森林模型;
[0105] 优化准确率模块2用于利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0106] 参数优化模块3用于对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子节点数目。
[0107] 预测输出模块4使用优化参数优化模块3中得到优化后的随机森林模型对应收账款进行分类输出,以实现对债务人或者初始债权人是否违约进行预测。
[0108] 一种计算机可读储存介质,所述计算机可读存储介质上存储有若干获取分类程序,所述若干获取分类程序用于被处理器调用并执行如下步骤:
[0109] 根据递归法建立决策树,通过获取的样本数据训练多个决策树,构建随机森林模型;
[0110] 用于利用获取的验证数据训练所述随机森林模型,得到基于验证数据的随机森林模型的输出准确率;
[0111] 对随机森林模型中的调用参数进行优化,选择输出准确率大于预设准确率的随机森林模型作为优化后的预测模型,所述调用参数包括随机森林模型允许单个决策树使用特征的最大数量、建立子树的数量和最小叶子节点数目;
[0112] 使用优化后的随机森林模型对应收账款进行分类输出,以实现对债务人或者初始债权人是否违约进行预测。
[0113] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的
硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0114] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉
本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。