针对样本特征数据的稳定性评估,我们在风控工作中是比较熟悉的,比如判断客群是否迁移了,数据不稳定了,其应用场景也是贯穿着整个业务环节,例如三方数据的效果测试、建模特征的变量筛选、线上模型的性能监测等。稳定性测试本质是对某个特征字段的数据分布进行分析,但具体的应用对象可以体现在变量、模型、规则等多种形式,为风控体系中的数据测试、模型开发、策略分析等任务提供了非常客观的价值信息,其重要性不言自喻。

样本特征的稳定性分析,大家可能第一感觉便想到了PSI(Population Stability Index)指标,在两个不同样本数据的前提下,通过对特征变量的数据分布进行离散,然后分别算出每个离散区间的PSI值,最后求和得到特征的总PSI,反映了特征在两个样本分布的稳定性能。当然,这两个样本可以是随机维度,也可以是时序维度,具体要结合应用场景,例如在数据建模中,训练集与验证集的样本稳定性体现在随机性,而训练集与测试集的样本稳定性体现在时序性,二者也往往称为样本内测试与样本外测试。此外,针对风控评分卡模型,还有一个CSI(Characteristic Stability Index)稳定性指标,在模型稳定评估方面也有不错的效果。
以上关于样本特征的稳定性评估内容,是我们常规自然想到的,也是经常接触到的,但本文即将介绍的并不是上述知识要点,而是在时序维度下围绕特征相关性的稳定性测试,我们先简单介绍下原理逻辑与实现方法:
(1)在不同时间窗(两个或多个,单位周、月等均可)条件下,分别算出每个特征自变量X与目标因变量Y的相关性系数(例如pearson等);
(2)观察各特征变量在连续时间窗维度下的变化趋势及其幅度,若保持平稳说明稳定性较好,若起伏波动较明显说明稳定性较差;
(3)算出各特征多个相关性系数(不同时窗)的标准差,标准差越大代表特征变量与目标变量的相关性波动越大,反之越小;
(4)通过特征变量在连续时窗下相关性系数的可视化趋势,以及标准差指标,根据场景需求实现特征变量的筛选、特征性能的评估等。
这项内容的应用价值与意义是进一步对特征数据的稳定性能进行探索,可以有效评估特征自变量与目标因变量的关系稳定度,这为特征的筛选与测试提供了更有价值的信息。这里可以换一种理解,我们将要介绍的稳定性评估是有监督模式,与目标变量有直接关系,而前边提到的PSI稳定性测试是无监督模式,两种方式有本质的区别,但最终的应用场景可以保持一致,例如数据测试、特征筛选、效果监测等,因此在具体实践中可以将其综合使用。
1、样本数据介绍
为了更好的对本文主题进行描述分析,我们结合实例样本数据来进行介绍,选取的数据包括10000条样本与13个特征,部分样例如图1所示,其中id为样本主键,date为日期维度,x01~x10为特征变量,flag为目标变量。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图1 样本数据样例
由于特征相关性的稳定度监测在时序维度下才显得更有实际意义,因此我们围绕以上样本数据,先来了解下时间窗字段date的取值分布。此外,本文介绍的特征变量相关性并不是自变量之间的关系,而是特征自变量X(x01~x10)分别与目标变量Y(flag)的相关程度,理由是我们希望了解某特征与目标的相关性是否在连续时窗内保持着较好的趋势,在数据探索阶段有必要熟悉下目标的具体情况,这里将标签字段flag的取值分布同步输出。关于时窗date与标签flag的分布,实现过程如图2所示,输出结果分别如图3、图4所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图2 时窗与目标分析
编辑
添加图片注释,不超过 140 字(可选)
图3 时窗date分布
编辑
添加图片注释,不超过 140 字(可选)
图4 标签flag分布
通过以上数据分析结果可知,目标特征flag为二分类变量,这种分布在信贷风控场景中是经常接触到的。对于时窗特征date,我们根据周期月的维度得到12个月的样本频数分布,虽然每个月份都包含一定的样本数据,但我们有必要初步了解下数据分布的合理性,也就是是否满足后续的特征稳定性分析。例如,当某个或几个月份的样本数据很少,使得连续时间窗口下样本数据量有明显的波动,这种情况不利于特征稳定性的分析,我们要获取更为有效的特征稳定性评估,首先需要保证不同时间窗的样本分布是比较合理的。为了便于数据分布的了解,我们将图3的数据分布转为可视化图来展现,具体如图5所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图5 时窗频数可视化
由以上时窗date在不同月份维度下的频数可知,样本特征数据的分布情况是较为合理的,各月份的样本量没有明显较大偏差,这也是实际业务的真实体现,因此下面我们将围绕以上样本数据来分析不同时间窗口下的特征相关性。
2、特征相关性分析
本文提到的特征相关性,具体是指特征自变量X(x01~x10)分别与目标变量Y(flag)的相关程度,这是我们测试评估的需求,即探索分析特征与标签之间关系在连续不同时间窗口下的稳定性能。因此,我们需要根据图3不同月份的时窗维度,来分别算出特征变量x01~x10依次与目标变量flag的相关性指标。由于样本特征的类型均为连续型,这里采用最常见的pearson系数来量化体现变量之间的相关性,具体实现过程如图6所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图6 特征与目标相关性实现
通过以上过程,我们可以得到不同月份各个特征与目标的相关性系数,为了更好的体现时序维度下特征相关性的波动情况,我们采用可视化折线图来展现数据分布,实现过程如图7所示,输出的可视化结果如图8所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图7 特征相关性可视化实现
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图8 特征相关性可视化结果
对于图8的可视化结果,图表中横坐标表示不同时间窗口(月份),纵坐标表示特征变量与目标变量的相关性系数(pearson)。由图中信息可以很直观的了解到各个特征变量在连续不同月份下相关性(与目标变量的关系)的波动情况,例如其中最下面的两条曲线对应特征x01、x07,二者在时窗202106以后发生明显的波动,且后期变化的幅度也较大,说明这两个特征与目标变量的相关性保持性能较差,不利于将其作为风控模型或策略规则的特征来使用。
3、特征稳定度筛选
根据以上分析得到的不同时窗下特征相关性稳定度的分布情况,我们通过可视化角度大体可知部分特征的稳定度性能,但是为了量化分析实现特征字段的筛选,我们可以选择特征相关性系数的标准差来完成,具体逻辑是分析得到各个特征变量相关性系数的标准差,然后以标准差越大说明波动程度越明显的客观依据,来保留标准差较小的特征变量。各个特征字段相关性系数标准差的获取过程,具体如图9所示,同时将指标分布结果通过可视化图来展示如图10所示。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图9 特征相关性标准差实现
编辑切换为居中
添加图片注释,不超过 140 字(可选)
图10 特征相关性标准差结果
由以上结果可知,特征x01、x07相关性系数的标准差明显相比其他特征较大,说明这两个特征与目标变量的相关性在不同时间窗维度下的稳定性能较差,这个结果与图8的可视化分布趋势信息是一致的。因此,在实际应用场景中,这两个特征字段需要特别对待,对于数据测试、特征筛选等场景,可以优先排除;对于模型测试、策略监测等场景,可以优先调整等,这正是我们从数据分析到实践应用的过程,也是我们希望得到的效果。
综合以上内容,我们围绕具体的样本数据,详细介绍了在时序维度下特征相关性的稳定度分析,其应用价值在三方数据的效果测试、建模特征的变量筛选、线上模型的性能监测等场景中发挥着非常好的效果,各位小伙伴可以在实际工作中结合使用。为了便于大家对以上主题知识的进一步理解与熟悉,本文额外附带了与以上内容同步的python代码与样本数据,供大家参考学习,详情请移至知识星球参考相关内容。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
关于模型的内容,有兴趣的童鞋可关注:
编辑切换为居中
添加图片注释,不超过 140 字(可选)
...
~原创文章


还没有评论,来说两句吧...