互金模型分类性能提升的诀窍——埋点数据特征提取深度学习与机器学习方法的比对实验记录

作者:ADVANCE.AI | Jul 2, 2021 9:41:13 AM

深度学习给人工智能诸多领域,比如计算机视觉(CV)、自然语言处理(NLP)等技术方向带来了巨大的突破和创新,大幅提升了相关模型的预测准确率,为技术应用带来了质变与飞跃,这也是深度学习能在近五年来备受行业关注的原因。

相比机器学习,深度学习的独特之处,就是不再需要前置操作大量特征工程,亦不再需要受制于数据和特征的样本质量,减轻了对深度专家知识的依赖,拓展了模型训练方式的更多可能性。

深度学习通过神经网络自动组合生成特征,模型学习能力强,可以自动完成传统机器学习特征工程的任务步骤,且抽取信息更加全面,因此,在进行百万级以上大规模数据集训练,或进行以图像、语言等难以特征工程化的样本训练时,采用深度学习方法训练模型会比采用机器学习方法有更大的优势。

在如今金融风控实践中,虽然该行业大部分数据都是与“时间”维度关联较强的行为序列数据,主流上通常采取机器学习方法训练模型,但我们也希望能在特征工程部分借鉴深度学习的理论方法,通过神经网络提取更有效的时间序列特征,从而进一步提升相关模型的性能表现。

因此,本篇博客将以埋点数据的数据挖掘需求为例,比对通过传统特征工程以及基于LSTM结构的循环神经网络特征提取方法的差异和各自优势,以期能探寻深度学习和机器学习在数据挖掘方面有效的融合机制,提升互联网金融风控实践中数据挖掘、模型训练的效率和质量。

 

实验简介

一、提取“埋点数据”

埋点数据是通过“埋点”方式采集到的数据,通常收集自终端用户的操作行为。当用户行为满足某种预设条件是,比如“点击了某个按钮”“进入了某个页面”,则自动触发“埋点”,相关数据则被采集、存储。经过大数据处理后的埋点数据具有广泛的商业洞察价值,在互联网金融或信贷场景的应用中,相关埋点数据可以用来进行用户画像、行为分析、驱动运营营销决策、驱动互联网金融或信贷产品推荐机制、驱动风险识别,是分析用户信用、欺诈风险等需求的重要表征数据,且与相关需求的第三方数据库能提供的数据类型完全异构。但是,埋点数据通常采集不稳定,数据量大,具有一定特征工程实施难度。

在此次比对实验中,我们根据贷前、贷中不同业务应用场景,提取了用户借款前或授信前30天的所有埋点数据。

经过初步的数据清洗,此次比对实验建模样本中,每个用户采集到的埋点数据数量均值为288个,排序之后,95分位数数值在669,99分位数数值在1074,最终每个样本取样数据1000条(98.7分位数),超出1000条之后的数据,在前1000条处截断选取。

比对试验埋点数据采集选取的四个原始字段如下(表一):

页面进入时间timestpenter 当前页面名称curpage 埋点名称markname 埋点类型marktype
2019-11-30 14:11:23.755 home_pv  home_repay_click click(点击)
2019-11-30 14:05:21.012 home_pv  home_pv pv(页面)
2019-11-30 14:04:21.012 accelerateTask_pv verifyCode_input focus(获取焦点)
2019-11-30 14:02:21.012 accelerateTask_pv verifyCode_input blur(失去焦点)
2019-11-30 14:01:21.012 accelerateTask_pv sign_contract_fail event(事件)

△   表一:实验埋点数据原始字段

 

二、特征工程挖掘pv数据特征

  1. 特征采集

按1天、7天、30天的时间周期,对用户pv进行汇总统计,计算出该用户每个pv发生的次数(cnt)、最大时长(max)、最小时长(min)、平均时长(avg)、总时长(sum)。

  1. 特征构建

衍生特征变量数 = pv个数×5×3。

  1. 特征筛选

随后,可按照特征重要性、业务需求[1]与稳定性筛选,选择psi值较低,页面长期稳定的n个pv,每个pv提取15维特征,对应生成的总特征维数则为n*15,n 代表pv类型选取不超过20个,特征总维数控制在300以下。

pv desc Psi值比较 业务变化
home_pv 首页 很低  
ocr_pv OCR二要素验证页 很低  
credit_pv 授信页  
loan_pv 借款页 很低  
card_pv 绑定银行卡页 很低  
repayplan_pv 还款计划页 很低  
transferbank_pv 转入银行卡页 很低  
paycode_pv 设置支付密码页 是非必须的页面,可能会有调整,可能是一年1-2次
newUserIntroduce_pv 页面-新手介绍页 很低 是非必须的页面,可能会有调整,可能是一年1-2次
mine_pv 页面-我的主页 很低  

△   PV列表

 

三、深度学习方法生成pv特征

网页埋点数据数量类型巨大,包括了pv、blur、focus、event、click等多种类型,拟采用LSTM结构的循环神经网络等方式进行端到端的建模,将用户的点击操作行为与用户贷后还款表现进行关联,拟从中提取有效的时序特征。

  1. 数据预处理

原始埋点继续使用表一字段采集的数据,以下为数据预处理后序列格式:

与上一个事件间隔时间browse_duration 当前页面名称Curpage 埋点名称markname 埋点类型marktype
1 1 5 0(页面)
6 1 22 1(点击)
2 33 156 2(获取焦点)
0 33 200 4(事件)
1 33 556 3(失去焦点)

△   表三:深度学习数据预处理后序列格式

  1. 输入数据格式

每个用户的行为采用1000条四维时间序列表征数据,不足固定条数,则补为0,生成input_shape=[n, 1000, 4]的矩阵。

  1. 输出数据格式

以用户贷款是否逾期的表现作为label预测,output_shape=[n, 1]

  1. 执行算法

网络结构,双层lstm,加入LayerNormalization归一化,加速收敛;loss采用focal-loss,能够提升对表征不足样本的学习能力。

 

实验结果

使用深度学习的LSTM结构循环神经网络提取的时间序列特征,效果较传统特征工程方法分时间窗口切片生成统计类型的时序特征,AUC值提升约0.02(0.63->0.65)。实验表明,循环神经网络等深度学习方式能有效提取时间序列相关的特征,对于金融行业应用时间中的时间序列数据挖掘有较好的表现,能和传统特征工程形成有效的互补。

 

[1] 备注:按照业务筛选:不同渠道、不同阶段,页面特征不同,按业务筛选前需与相关产品负责人确认,尽量选取目前业务在用并长期稳定的页面,非PV类特征数据一般事件太多,只能根据业务经验,设计类如点击次数、时间间隔等类型的特征。

[2] 表三中browse_duration列时间由表一中的timestpenter列生成,为上一事件到当前事件的间隔时间。curpage、markname、marktype列直接使用LabelEncoder映射成数字。