征信大数据:理论与实践(中国金融四十人论坛书系)
上QQ阅读APP看书,第一时间看更新

三、以数据挖掘驱动的异常查询实时监测模型

如图1所示,根据数据挖掘算法,异常查询实时监测模型包含6个步骤。

图1 异常查询实时监测模型

(1)业务理解

通过业务调研、违规查询样本分析及数据探索后发现,大量违规行为伴随查询量突增。典型案例如下:2015年3月某银行违规查询了3.2万份个人信用报告。从该用户的历史查询轨迹来看,原本平稳的查询频率在事发月份出现了异常突增,足以引起高度关注。类似的情况在多个案例中反复出现。因此,本次数据挖掘的目标定位于对用户月查询量进行预测,通过比对预测查询量与实际查询量的差异,判别用户的异常风险。

(2)质量检查

检查查询记录的各字段值是否符合业务逻辑,并清理脏数据,保证后续的数据分析得出可靠的结论。

(3)数据准备

本次数据挖掘的样本选用个人征信系统最新36个月全部查询记录,样本数为9.0亿条。经过数据预处理后,按月统计每个用户的查询总量,并形成查询量矩阵R

查询量矩阵R共有m个月度观察点,n个查询用户,其中,aij (1 ≤in,1 ≤ jm)表示第i个用户在第j个月份的查询量。

(4)数据分析

月查询量矩阵是一个稀疏矩阵,矩阵内存在大量为0的值,表明只有少量用户连续每个月都有查询,而大量用户的查询是时断时续的,因此有必要对查询连续性进行进一步的分析。

①查询休眠时长分析

分析用户最后一次查询距离当前日期的天数,定义为当前休眠天数T,统计结果显示:average(T)=197天,min(T)=0天,max(T)= 973天。

结合表1与图2可以看出,50%和65%为突变点,T≤84天的用户达到50%,T≤369天的用户达65%。也就是说,最近3个月内,50%的用户至少发生过一次查询;最近12个月内,65%的用户至少发生过一次查询。

表1 用户睡眠天数分位数

图2 用户睡眠天数频度分析

②休眠重启行为分析

用户休眠后又重新查询的行为特征是什么呢?以月为单位来计量,用户在自然月内有查询行为即为当月活跃,否则为休眠。滚动一个月后继续观察用户的活跃状态。由此分析正常用户的休眠、重启特征。

以2015年9月份的数据为例,当前活跃用户6.7万人,占比42%。在2015年10月份,上个月6.7万活跃用户中,93%的用户继续活跃,剩余7%变成睡眠1个月用户。2015年9月份睡眠1个月用户0.4万人,占比3%。在2015年10月份,这0.4万用户中,42%的用户又有了查询,再次活跃起来,剩余58%的用户由睡眠1个月用户变成睡眠2个月用户,具体见表2。

表2 用户活跃分析 单位:万人

从表2可以看出,随着睡眠时间增长,重启查询的可能性越来越低。为了验证结果的稳定性,依次对每个月的数据进行滚动分析,见表3和图3。

表3 活跃率滚动分析

图3 当前用户一个月后重启查询的平均占比

由图3可看出,3个月、6个月也是与查询行为高度相关的特征值。睡眠3个月的用户再次活跃的比例≤11%,睡眠6个月的用户再次活跃的比例≤6%并趋于平稳。

(5)模型建立

本次查询量预测目标需对每一个用户构建预测模型。

①根据用户特征分组

查询矩阵中存在大量缺失值,建模前需对缺失值进行补充。为能用最恰当的值补充,需对用户按照查询特征进行分组。

根据上文用户查询特征数据分析结果,将用户活跃状态分为六大类:分别是活跃无断点、活跃有断点、新开用户、次新用户、当前睡眠户和历史睡眠户,具体见表4。

表4 用户活跃状态分类

②用户月查询量缺失值补充

以上六大类特征用户,其查询量缺失值补充规则见表5。

表5 补充缺失值的规则

③根据波动特征构建模型

原则上,用户的查询需求受其所属机构查询需求的影响,并保持相同趋势。用户所属机构分为十二大类。分别为:人民银行、全国性商业银行、城市商业银行、农村信用合作社、城市信用合作社、村镇银行、政策性银行、公积金管理中心、财务公司、汽车金融公司、外资银行、小额贷款公司。

十二大类的机构呈现出4种不同的波动趋势。分别为平稳型、增长型、小幅跳跃型和周期跳跃型。因此,对用户的建模算法也遵循以上4类,其对应的预测算法见表6。

表6 查询量波动特征及对应预测算法

续表

④预测用户月查询量

对用户用修正过的查询数据,根据用户所属组别的选择预测模型,预测其月度查询峰值。

a.平稳型

此类机构查询量每月基本稳定,使用简单平均算法来预测下个月的查询量,其计算式为:

其中,Xii = 0,…,23)表示用户最近24个月的实际查询量,表示下一个月的月度预测值,N为调整系数,Std为24个月查询量的标准差。

b.增长型

此类机构每月增长趋势明显,采用月度差分加权移动平均算法,其计算式为:

其中,Xii = 0,…,23)表示用户最近24个月实际查询量;表示下一个月的月度预测值;△ii = 0,…,22)表示每个月与上个月查询量的差值;N为调整系数;Std为24个月查询量的标准差;R表示指数权重,取值范围为(0,1)。

指数权重R的取值规则为:

其中,m为增长型用户总数;Xi24 表示第i个用户预测值;Xi j 表示第i个用户第j个月实际查询值;r = 0.01,0.02,0.03,…,0.99,每次共计算99次;R的值是minW)对应的r

c.小幅跳跃型

此类机构每月的查询量有一定的波动,但变化幅度很小,采用指数加权移动平均算法,其计算式为:

其中,Xii = 0,…,23)表示用户最近24个月实际查询量;表示下一个月的月度预测值;N为调整系数;Std为24个月查询量的标准差;R表示指数权重,取值范围为(0,1)。

指数权重R的取值规则为:

其中,m为小幅跳跃型用户总数;表示第i个用户预测值;Xi j 表示第i个用户第j个月的实际查询值;r =0.01,0.02,0.03,…,0.99,每次共计算99次;R的值是minW)所对应的r

d.周期跳跃型

此类机构查询量波动有很强的周期性特征,采用年度差分方法,其计算式为:

其中,Xii = 0,…,35)表示用户最近36个月实际查询量,表示下一个月的月度预测值,N为调整系数,Std为36个月实际查询量的标准差。

⑤预测用户日查询峰值

月查询量预测即模型的结果,但为了满足实时监测的需要,需要将月度预测值推算至日预测峰值,具体换算式为:

其中,Xii = 0,…,23)表示用户最近24个月的实际查询量,表示下一个月的月度预测值,di 为每个月的日查询峰值,表示下一个月预测的日查询峰值。

(6)模型验证

利用相对误差及泰勒不等系数,对4种模型进行验证,具体见表7。结果表明,该模型应用于个人查询量预测是可行的。如平稳型模型相对误差的最大值、次大值和最小值分别为23.71%、23.47%、0.65%,平均精度为84.45%,泰勒不等系数为0.085,模型效果很好。

表7 模型验证结果

泰勒不等系数计算式为:

其中,n为预测期数,为预测值,Xi 为实际值。

泰勒不等系数的值在0和1之间,当泰勒不等系数等于0时,是最优拟合。

平均相对误差计算式为:

其中,n为预测期数,为预测值,Xi 为实际值。