一秒get互联网金融风控模型评价方法
本文是结合建模评价学习与实践中,整理非常有用风控模型评价方法,既然涉及到模型评价,这里简单讲下风控模型在互联网金融可以应用地方,即大概分类如下图。其实金融风控模型更多是属于分类模型,因为金融风控重要环节就是好坏客户识别。
金融风控模型分类一
金融风控模型分类二
分类输出型:算法像支持向量机和KNN那样,输出的是分类型数据。例如一个二分类问题,它的输出不是0就是1。
概率输出型:这个有逻辑回归、随机森林、梯度提升、Adaboost等算法,都是以概率作为输出的。同时结合模型最终生产环境应用,在模型评价验证大概分为以下三个重要环节:
模型准确检验
模型泛化能力检验
模型群体稳定检验
一、模型准确检验
混淆矩阵(Confusion Matrix)
ROC曲线
AUC(ROC曲线下面积)
Lift(提升)和Gain(增益)
K-S图
基尼系数
混淆矩阵(Confusion Matrix)
1.混淆矩阵(Confusion Matrix)
对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:
真正例(True Positive,TP):真实类别为正例,预测类别为正例。
假正例(False Positive,FP):真实类别为负例,预测类别为正例。
假负例(False Negative,FN):真实类别为正例,预测类别为负例。
真负例(True Negative,TN):真实类别为负例,预测类别为负例。
然后可以构建混淆矩阵(Confusion Matrix)。
2.ROC曲线
图中那条曲线就是ROC曲线,随着阈值的减小,更多的值归于正类,敏感度和1-特异度也相应增加,所以ROC曲线呈递增趋势。而那条45度线是一条参照线,也就是说ROC曲线要与这条曲线比较。
ROC曲线
3.AUC(ROC曲线下面积)
AUC就更好理解,是ROC曲线下面面积,判定方法:AUC应该大于0.5
AUC
4.Gini指数
模型的结果通常是根据X变量得出的一个评分可以是0到1之间的概率值 P=f(X),也可以转化成大家比较熟悉的征信分(比如FICO),模型的辨别能力(i.e. Y=1 vs Y=0 的人群) 通常用GINI指数来衡量。
Gini = A / (A + B): Gini越高,模型辨别力越强。
GINI系数
5.KS
模型的辨别能力(i.e. Y=1 vs Y=0 的人群) 也可以用KS指数来衡量。
坏客户抓住曲线和好客户抓住曲线距离最大点的距离值: (如图:KS = 70%-15% = 55%)
KS系数
补充:
回归模型拟合优度(Goodness of Fit)是指回归直线对观测值的拟合程度。度量拟合优度的统计量是可决系数(亦称确定系数)R^2。R^2最大值为1。R^2的值越接近1,说明回归直线对观测值的拟合程度越好;反之,R^2的值越小,说明回归直线对观测值的拟合程度越差。
二、模型群体稳定检验
模型基于特定时点的特定样本开发,是否对外部样本(跨样本或者跨时间窗)有效需要经过稳定性验证。
PSI(群体稳定性指数)是最常用的模型稳定性评价指标。
PSI ,指数越低,模型评分稳定性越高。
PSI系数
三、模型泛化能力检验
泛化能力往往针对是机器学习算法模型评价重要指标,因为在机器学习算法面前,我们不惧怕模型预测能力,而是更多担心在新样本面前误差率,即模型泛化能力,因为在机器学习算法中,只要训练次数够大,在训练集中预测能力可达到100%,这就是“过拟合”问题。
因此在这里我们通常将已有的数据集划分为训练集和测试集两部分,其中训练集用来训练模型,而测试集则是用来评估模型对于新样本的判别能力。
对于数据集的划分,我们通常要保证满足一下两个条件:
1. 训练集和测试集的分布要与样本真实分布一致,即训练集和测试集都要保证是从样本真实分布中独立同分布采样而得;
2. 训练集和测试集要互斥基于以上两个条件我们主要由三种划分数据集的方式:留出法,交叉验证法和自助法
1.留出法
留出法是直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,我们需要注意的是在划分的时候要尽可能保证数据分布的一致性,即避免因数据划分过程引入额外的偏差而对最终结果产生影响。
为了保证数据分布的一致性,通常我们采用分层采样的方式来对数据进行采样。假设我们的数据中有m1个正样本,有m2个负样本,而S占D的比例为p,那么T占D得比例即为1p,我们可以通过在m1个正样本中采m1p个样本作为训练集中的正样本,而通过在m2个负样本中采m2p个样本作为训练集中的负样本,其余的作为测试集中的样本。
但是样本的不同划分方式会导致模型评估的相应结果也会有差别,例如如果我们把正样本进行了排序,那么在排序后的样本中采样与未排序的样本采样得到的结果会有一些不同,因此通常我们都会进行多次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
留出法的缺点:对于留出法,如果我们的对数据集D划分后,训练集S中的样本很多,接近于D,其训练出来的模型与D本身训练出来的模型可能很接近,但是由于T比较小,这时候可能会导致评估结果不够准确稳定;如果S样本很少,又会使得训练出来的样本与D所训练出来的样本相差很大。通常,会将D中大约2/34/5的样本作为训练集,其余的作为测试集。
2.交叉验证法
k折交叉验证通常把数据集D分为k份,其中的k-1份作为训练集,剩余的那一份作为测试集,这样就可以获得k组训练/测试集,可以进行k次训练与测试,最终返回的是k个测试结果的均值。
这里数据集的划分依然是依据分层采样的方式来进行。对于交叉验证法,其k值的选取往往决定了评估结果的稳定性和保真性。通常k值选取10。
与留出法类似,通常我们会进行多次划分得到多个k折交叉验证,最终的评估结果是这多次交叉验证的平均值。
3.自助法
留出法与交叉验证法都是使用分层采样的方式进行数据采样与划分,而自助法则是使用有放回重复采样的方式进行数据采样,即我们每次从数据集D中取一个样本作为训练集中的元素,然后把该样本放回,重复该行为m次,这样我们就可以得到大小为m的训练集,在这里面有的样本重复出现,有的样本则没有出现过,我们把那些没有出现过的样本作为测试集。
进行这样采样的原因是每个样本不被采到的概率为11m,那么经过m次采样,该样本都不会被采到的概率为(11m)m,那么取极限有limm→∞(11m)m→1e≈0.368,因此我们可以认为在D中约有36.8%的数据没有在训练集中出现过这种方法对于那些数据集小、难以有效划分训练/测试集时很有用,但是由于该方法改变了数据的初始分布导致会引入估计偏差。
4.总结
对于数据量充足的时候,通常采用留出法或者k折交叉验证法来进行训练/测试集的划分;
对于数据集小且难以有效划分训练/测试集时使用自助法;
对于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确。
以上是本人总结金融风控模型评价方法,但需注意,针对不同模型对应评价方法不同,也可以不同组合去评价,但是模型只是能解决部分问题,不可过分夸大模型效能。值得一提的是,之前大数据火热时候,各种蹭热度不务实的公司,凭着一些漂亮PPT收获不少投资与眼球,但是洗尽铅华,纯大数据风控模型授信只不过噱头,实际金融业务依然要沉淀风控。
来源|百家号
作者|宗介
更多精彩,戳这里: