上世纪80年代,美国费埃哲公司基于逻辑回归算法构建了费埃哲信用评分体系,并成为美国信用评分市场的巨头。然而,随着大数据建模技术的日新月异,许多新算法、新技术层出不穷。本项目选取了五种大数据新算法,包括支持向量机(svm)、决策树、随机森林、自适应提升(adaboost)和梯度提升决策树(gbdt),在中国人民银行征信中心的大规模样本上进行了个人风险评估模型的构建,并从三方面进行评估。首先,从模型的准确性和可解释性方面综合对比各算法构建的模型在个人信用风险评估中的效果。之后使用时点外测试样本,对各算法构建的模型的外部时点稳定性进行了评估。
项目背景
目前,中国人民银行征信中心的信用报告数字解读体系参考了美国个人消费信用评估公司费埃哲开发的费埃哲信用评分体系。费埃哲信用评分体系构建于上世纪80年代,其核心算法是逻辑回归。 随着统计分析和大数据建模技术的进步,算法的发展日新月异,形成了包括决策树、随机森林、神经网络分析与自适应提升(adaboost)等在内的许多新算法新技术,而这些大数据新算法在目前征信中心的数据集上的准确性、稳定性与可解释性仍有待验证评估。
为此,中国人民银行征信中心联合北京至信普林科技有限公司,选取了五种大数据新算法,分别为支持向量机(svm)、决策树、随机森林、自适应提升(adaboost)和梯度提升决策树(gbdt),全面评估和比较上述五种算法在个人信用风险评估模型中的效果,包括稳定性、准确性与可解释性,以进一步理解相关算法在评分上的优势与短板。对新型评分模型的探索与试验有助于为征信中心积累模型算法经验,与国际领先的建模方法接轨,同时以新颖的信用评估模型作为战略储备,为打造我国自有的信用评分体系积累经验。
算法介绍
支持向量机(support vector machine,svm)是一种分类学习算法。支持向量机(svm)的基本模型是定义在特征空间上的间隔最大的线性分类器。线性支持向量机与逻辑回归类似,都是给每一个变量赋予一个权重因子,最终变量的加权和作为预测的依据。同时支持向量机(svm)可以使用核函数将变量映射到高维空间,从而提升模型效果。然而这种方法的主要缺点是训练速度慢,难以直接运用到大规模数据,因此本项目仅对线性支持向量机进行了测试。
决策树(decision tree)是一种基本的分类与回归方法。决策树模型呈树形结构,可以认为“是否”判断规则(if-then)的集合,也可以看作定义在特征空间与类空间上的条件概率分布。其主要优点是训练速度快,预测速度也很快。相对于线性模型,决策树还可以处理非线性数据。此外,决策树模型可解释性非常强,对于数据的适应能力也很强;其缺点则是单棵决策树容易过拟合。
随机森林(random forest)由多棵决策树组成,每棵决策树擅长特定人群、重点关注特定变量,然后一起决策,作出最终判断。随机森林在构建每棵决策树时,通过样本和变量两个维度进行随机抽样。随机森林的优点是训练速度快,可以很好地进行并行化,能够处理大规模数据。
自适应提升(adaptive boosting,adaboost)核心思想是利用同一训练样本的不同加权版本,训练一组弱分类器(weak learner),然后把这些弱分类器以加权的形式集成起来,形成一个最终的强分类器(strong learner)。在每一步迭代过程中,被当前弱分类器分错的样本的权重会相应得到提高,被当前弱分类器分对的样本的权重则会相应降低。弱分类器的权重则根据当前分类器的加权错误率来确定。自适应提升(adaboost)的优点是不容易产生过拟合,预测效果好。
梯度提升决策树(gradient boosting decision tree,gbdt)与自适应提升(adaboost)在很多方面类似,也是子模型之间相互协作,不同的是后一个子模型对前一个模型的失误进行修正。梯度提升决策树(gbdt)模型预测的时候,对于输入的一个样本实例,首先会赋予一个初值,然后会遍历每一棵决策树,每棵树都会对预测值进行调整修正,最后得到预测的结果。
逻辑回归适合处理线性数据,而实际问题往往是非线性的,特别是在信用风险评估场景下。支持向量机(svm)能够通过核函数等方法处理非线性数据,然而在样本量大时训练速度太慢。决策树能够处理非线性数据,但是单棵决策树对数据十分敏感,容易产生过拟合问题。随机森林通过采样来减小计算量,同时能够利用并行方式进行模型训练,因而适合处理大规模高维数据。自适应提升(adaboost)和梯度提升决策树(gbdt)在基本决策树模型的基础上,通过数据权重变换等方式,能够将一个弱模型变成强模型,同时能够有效避免过拟合问题。
建模流程
本次研究使用的数据集为征信中心数据库存储的1265万人的个人征信数据,具体包括2010年7月31日时间点的贷款记录、贷记卡记录、准贷记卡记录、特殊交易记录和查询记录。采用自2010年7月31日至2012年7月31日之间个人违约情况的记录定义表现变量,表现变量取值范围为0(未逾期)和1(逾期90天以上)。
项目建模的流程如下:(1)首先对原始数据进行分析,研究原始数据各字段的含义并分析数据质量;(2)基于分析结果,确定刻画个人信用的七大类统计指标, 包括历史还款信息、帐户类型和数量、正在使用和已结清帐户信息、信用时长、新开帐户信息、查询信息和特殊交易信息;(3)对部分连续型指标采用单变量决策树的方法进行分栏处理;(4)利用大数据算法构建个人信用风险评估模型;(5)对各算法构建的模型效果进行评估和分析。
本项目中数据的分析、处理与建模等均是基于派森(python) 环境。②
效果评估
本项目主要从准确性,稳定性,可解释性三个方面来评估模型。其中准确性指标包括感受性曲线下面积(roc_auc)和区分度指标(kolmogorov-smirnov,ks),稳定性指标主要参考群体稳定指数(population shift index,psi)。可解释性可通过指标重要度来进行评估,其中指标重要度用于衡量各个解释变量对算法预测结果影响的程度。感受性曲线下面积(roc_auc)、区分度指标(ks)和群体稳定指数(psi)的具体含义如下:
感受性曲线下面积(roc_auc)
感受性曲线下面积(roc_auc)是一个从整体上评价模型准确性的指标,是感受性曲线(roc)与横轴之间的面积。相比于其他评价指标,感受性曲线(roc)具有一定的稳定性,它不会因为正负样本分布的变化而产生不同的曲线。感受性曲线(roc)通过真阳率(true positive rate, tpr)和假阳率(false positive rate, fpr)两个指标进行绘制。感受性曲线(roc)示意如图1所示。感受性曲线下面积(roc_auc)取值范围为[0,1],取值越大,代表模型整体准确性越好。
区分度指标(ks)
区分度指标(ks)是度量具体模型下正常样本和违约样本分布的最大差距,首先按照样本的信用分数或预测违约率从小到大进行排序,然后计算每一个分数或违约率下好坏样本的累计占比。正常和违约样本的累计占比差值的最大值即为区分度指标(ks)。区分度指标(ks)的示意如图2所示。区分度指标(ks)小于0.2代表模型准确性差,超过0.75则代表模型准确性高。
群体稳定指数(psi)
模型是在特定时间点开发的,是否对外部样本有效需要经过稳定性测试。群体稳定指数(population stability index,psi)是最常用的模型稳定性评价指标。群体稳定指数(psi)的计算公式为:
其中预期占比(expected%)和实际占比(actual%)分别表示在模型训练样本和测试样本中,对应分数段或违约率段内的人群占比。一般而言,群体稳定指数(psi)小于0.1代表模型稳定性高,群体稳定指数(psi)大于0.1小于0.25代表模型稳定性中等,群体稳定指数(psi)大于0.25代表模型稳定性较差。
2010年样本测试。我们首先在2010年样本上进行建模,评估各模型的准确性与可解释性。2010年样本是指2010年表现变量取值为0(未逾期)和1(逾期90天以上)的人群,样本大小约为1000万。选取样本的70%作为训练样本构建模型,30%作为测试样本评估模型效果。各模型的感受性曲线下面积(roc_auc)和区分度指标(ks)分别如图3所示和图4所示。
从上述结果可以看出,集成算法(随机森林,梯度提升决策树,自适应提升)建立的模型表现更好,感受性曲线下面积(roc_auc)指标达到0.95以上。 支持向量机(svm)的准确性表现最差,这与数据样本大,在项目环境下无法使用核函数有关。决策树表现一般,感受性曲线下面积(roc_auc)指标分别为0.9477。 具体地,如果以区分度指标(ks)作为衡量标准,自适应提升(adaboost)表现最好,区分度指标(ks)达到0.7803。其他模型的表现排序为:随机森林>梯度提升决策树(gbdt)>决策树>支持向量机(svm)。
在可解释性方面,通过各算法计算指标重要度以帮助对结果进行解读。综合考虑所有模型生成的指标重要度而得出的综合排序如表1所示。
从各模型指标重要度综合排序来看,对个人信用评估影响最大的因素分别是:逾期情况、正常还款比例、免担保贷款、授信额度使用率、信用年限等。可见,影响大数据新算法预测结果的都是可解释性较高的统计指标。与传统的逻辑回归模型相比,大数据算法不需要太多的变量选择和变量评估工作,能够在模型的构建过程中自动选取重要的变量,并对变量的重要性进行自动评估。
外部时点样本测试。为了评估模型在外部时点样本上的表现,我们对大数据新算法模型在外部时点样本上进行了测试。其中外部时点样本选取截至2011年3月31日时间点的纪录,样本总人数约为1300万。使用2010年训练样本所训练的模型在外部时点样本上进行测试,分析比较其在外部时点样本上的准确性和稳定性。
各模型的性能评价指标如图5与表2所示,其中2010年表示模型在2010年测试样本上的表现,2011年表示模型在2011年测试样本上的表现。
对比模型在2010年及2011年样本上的预测结果,在准确性方面,决策树、随机森林、自适应提升(adaboost)的感受性曲线下面积(roc_auc)有所下降,而梯度提升决策树(gbdt)的感受性曲线下面积(roc_auc)有所提升;决策树、自适应提升(adaboost)的区分度指标(ks)有所下降,而逻辑回归、随机森林、梯度提升决策树(gbdt)和支持向量机(svm)的区分度指标(ks)有所提升。整体来说,准确性方面各模型在2011年测试样本上的表现与在2010年测试样本上的表现无明显差异,表现稳定。从群体稳定指数(psi)来看,自适应提升(adaboost)和支持向量机(svm)稳定性最好(psi<0.1),而决策树与梯度提升决策树(gbdt)的稳定性次之(0.1
为了评估大数据新算法在个人信用风险评估模型中使用效果,中国人民银行征信中心联合北京至信普林科技有限公司,从准确性、稳定性和可解释性三个方面对主流的大数据算法的模型构建效果进行了综合评估。项目选取了五种大数据新算法,包括决策树、随机森林、自适应提升(adaboost)、梯度提升决策树(gbdt)和支持向量机(svm),在千万级别的大规模样本中进行个人风险评估模型的构建和分析。
在2010年1000万样本上的分析结果表明,自适应提升(adaboost)、梯度提升决策树(gbdt)和随机森林三种集成算法准确性表现最佳,决策树准确性次之,支持向量机(svm)的准确性最差。同时,对外部时点样本的分析结果表明,自适应提升(adaboost)和支持向量机(svm)稳定性高,决策树、梯度提升决策树(gbdt)稳定性中,随机森林稳定性低。在可解释性方面,大数据新算法都能够对统计指标的重要度作出评估,统计指标综合排序靠前的统计指标的解释性较好。综合来看,部分大数据算法(如自适应提升)在准确性和稳定性上均表现优异,可以作为我国新一代信用风险评估模型的战略储备。
大数据算法是模型构建的工具,其结果不是绝对的,如何根据数据特征和算法特性构建合适的模型也是非常关键的。在实际模型开发过程中,需要业务专家和数据科学团队在数据逻辑的理解和建模指标的选取上紧密合作。此外,数据科学团队需要对算法的核心原理有着深刻的理解,并且具备快速的算法实现能力,强大的大规模数据处理能力,才能充分利用大数据算法开发出高性能的信用风险评估模型。