APP下载

机器学习在风险交易预测中的应用

2021-09-22赖俊豪李俊安

电子技术与软件工程 2021年13期
关键词:特征值阈值交易

赖俊豪 李俊安

(华南农业大学电子工程学院(人工智能学院) 广州省广东市 510642)

随着网络购物的兴起,无纸化支付的便捷,人们更倾向于网络支付。网络支付在带给我们便捷的体验的同时,也带来了全新的交易风险。不同于传统的线下交易,网络交易的欺诈更具有隐藏性,朔源难的特点,一旦发生,损失难以追回。对风险交易进行识别与预警,可以有效减少公民损失,打击网络违法犯罪的气焰嚣张。目前对风险交易的提示,主要是靠提取双方聊天中的关键词进行识别,未能充分根据用户地区,交易类型等进行综合判断。同时,风险交易的数据集是典型的高度不平衡的数据集,安全交易的数据量远远大于风险交易的数据量。通常在真实交易数据中,仅有1%是风险交易[1],这导致仅有少量的风险交易样本可用于学习,至使大部分传统神经网络算法不佳。幸运的是,Facebook提出了一种利用梯度提升决策树(GBDT)与逻辑回归算法(LR)相结合的CTR预估模型[2],大量的文献表明,该模型在多特征的机器学习中具有优良的效果。本文探索了典型非均衡的多特征数据集的处理流程,并用一组真实的风险交易的数据集,验证了机器学习在预测风险交易中的应用。

1 算法流程

1.1 数据预处理

对于实验的数据集,往往需要进行一定的预处理步骤。如检查数据集中有无缺失值,如果有,往往需要对缺失值进行删除或插补,考虑到数据样的来之不易,盲目地删减特征值是对信息的极大浪费,实验过程中,学者往往通过均值估计或极大似然估计对对缺失值进行插补。另一方面,数据集中的特征数据不一定是数值型,也可能是分类型,这对我们训练模型对造成极大的不便,因此,需要根据一定的规则将其映射为数值型。部分分布密集的数据还需要通过标准化处理,扩展其分布空间。合理的预处理步骤可以提高模型的拟合速度,降低模型的复杂度。

1.2 特征筛选

在训练模型时,过多的输入特征不仅会大大添加训练时长,导致模型过度复杂,还可能会降低模型的准确率,因此,对特征进行筛选十分有必要。在实验过程中,首先要去除便是明显与输出结果无关的特征,比如序号、用户名、交易日期等。其次是去除在不同输出标签下,分布规律相似度高的特征值。这可以通过频率分布直方图直观反映,部分特征在正常样本与异常样本中高度重合,这样特征不仅不利于模型的训练,学习效率低下,会增加模型复杂度和训练时间。最后,如果剩余特征值数量仍然过多,则考虑通过特征重要性进一步筛选特征,而特征对整体的重要性是通过其对所有样本的重要性的平均值来衡量的[3]。目前主流的方法是通过GBDT算法或随机森林算法来计算不同特征的重要度。特征的重要度越高,那么在特征节点在分裂时损失函数减少得便越多,根据不同特征中重要度的排序,就可以知道不同特征的优先级。

1.3 样本均衡化

图1:特征相似性排序图

数据集还有另一个问题就是正常样本远远大于异常样本数量,这会给我们极大的训练模型的难度。因此,在将数据代入模型训练之前,需要对样本进行均衡化处理。均衡化方法包括过采样与欠采样两种,其中过采样会添加少数样本的数量,欠采样会减少多数样本的数量,不论哪种采样方法,都是为了使正常样本与异常样本数量趋于一致。由于欠采样会损失样本数量,可能导致样本数量过少,从而无法有效训练我们的模型。因此考虑使用SMOET进行过采样扩展我们的数据集。其原理是通过随机线性插值,从而构造新的数据样本。

1.4 模型搭建

图2:特征重要度排序图

图3:阈值对模型的影响图

判断是否是风险交易,这是典型的二分类问题,可以将标签值设为1表示其为风险交易,0表示其为安全交易。通过将特征值输入到训练好的模型中,可以得到事件发生的预测值,这个过程通过Sigmoid函数来实现:

其中x是输入的变量,输出的是一个概率值,一般情况下,我们可以设定阈值,如果概率值高于阈值则认为事件发生,否则反之。θT则是一维矩阵,是需要通过迭代学习的参数。逻辑回归算法常常使用对数函数作为损失函数:

其中M是输入的参数的个数,当y为1时,随着的值增大,预测值越来越接近实际值,其损失越来越小。当y为0时,随着的值增大,预测值越来越偏离实际值,其损失越来越大。我们可以通过梯度下降算法,来拟合回归逻辑模型,在多次迭代中求解损失函数的偏导数,确认θT的值。

将均衡化处理后的数据集作为研究对象,将其按照一定的比例划分为测试集与验证集,测试集用于训练模型,验证集用于测试模型。

2 实验流程

2.1 数据集介绍

实验采用了欧洲金融机构公开发布的数据集,其中包括了发生在2013年9月的共284807条交易记录。出于保护隐私的目的,原始数据集进行了脱敏处理,数据集中的30个特征依次用B1-B30来表示。每条交易记录包括30个特征值和一个标签,没有缺失值,其中标签值为1表示该记录是风险交易样本,标签值为0则表示是安全交易样本。

2.2 数据处理

在数据集中,部分参数集中分布在较小的区间中,部分参数则散落分布在较大区间中,需要进行z-score标准化,将数据按照比例进行缩放,映射为均值为0,标准差为1的训练数据。并通过特征在安全交易样本与风险交易样本中的相似性来筛减特征量,不同特征的相似性如图1所示。

人为剔除相似程度大于70%的变量(即排序在B22及之前的变量)。可以看到,余下的特征数量依然过多,需要进一步筛选特征,这里通过GBDT算法进行特征重要度的排序,部分特征的重要性如图2所示。

如图2所示,就是我们筛选出来的变量,其余变量重要度小于0.001,故剔除。随后,使用SMOET进行过采样扩展我们的数据集。

2.3 模型分析与对比

用筛选后的特征值建立模型,通过十重交叉验证建立逻辑回归模型,并与其他二分类常见模型进行比较,不同模型表现性能如表1所示。

表1:不同模型评价对比

解释不同的问题,我们通常要使用不同的指标来度量模型的性能。把风险交易误判为安全交易的危害要比将安全交易误判为风险交易大得多,因此,我们要更多的关注召回率而不是精确率。从表1可以看到,逻辑回归算法建立的模型召回率最高,通过其他维度都有比对比算法更优的表现。同时,通过设置阈值可以改变预测为风险交易的概率,从而改变模型的召回率,如图3所示。

由图3可以看到,随着阈值逐渐变大,召回率逐渐下降,准确率逐渐上升。这表明召回率与精确率是此消彼长的一对指标,阈值过小,虽然可以提高召回率,让模型找出更多的风险交易样本,但随之而来的是更频繁的误判。而提高阈值,则虽然牺牲了召回率,但保证了精确率,大幅减少误判的发生,从理论上分析,我们是希望有较高的召回率,帮助提高风险交易的识别能力,但在实际应用中,过高的误判率会带来复核成本的增加,消耗大量的人力物力,得不偿失。因此具体的阈值设定要通过调研来确定。

3 结论

通过GBDT算法与逻辑回归算法的配合,能有效建立风险交易的预测系统,并能通过调整模型判定为风险交易的阈值,来控制风险交易检测的力度。若想找出更多的风险交易事件,刚设定较小的阈值,反之,刚设定较大的阈值。

猜你喜欢

特征值阈值交易
一类带强制位势的p-Laplace特征值问题
单圈图关联矩阵的特征值
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
大宗交易榜中榜
室内表面平均氡析出率阈值探讨
交易流转应有新规
基于商奇异值分解的一类二次特征值反问题
大宗交易