掌桥专利:专业的专利平台
掌桥专利
首页

一种基于时间序列聚类检测异常风险账户的方法

文献发布时间:2023-06-19 09:57:26


一种基于时间序列聚类检测异常风险账户的方法

技术领域

本发明涉及新兴信息技术领域,特别涉及一种基于时间序列聚类检测异常风险账户的方法。

背景技术

近年来,电子商务发展迅猛,网上订餐、购物成为了人们最重要的消费形式。在繁荣的背后,一些电子商务平台上的刷单、非法套利、黄牛抢购等大量的交易风险问题集中爆发,交易风险管理手段的落后成为了阻碍平台健康发展的瓶颈,给电商平台带来了极大的损失,也影响了普通客户的权益,电商平台的公平、公正、真实性受到了公众的质疑。而电商在交易风险管理上经验还比较薄弱,风险管理起步比较晚,电商还主要依靠业务人员的经验来进行交易的风险评估。随着业务量的增长和业务的复杂性提高,特别是黄牛公司和水军公司等黑色产业链的专业化发展,传统的交易风险管理模式已经不能满足风险管理的发展需要。因此,构建一套科学智能的交易风险评估体系来检测异常风险和黑产账户对电商平台的健康发展具有重大的意义。

发明内容

本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于时间序列聚类检测异常风险账户的方法。

为了解决上述技术问题,本发明提供了如下的技术方案:

本发明一种基于时间序列聚类检测异常风险账户的方法,包括以下步骤:

步骤1,数据获取:获取待研究区域的用户交易数据,用户操作数据,用户基本属性数据,其中用户交易数据和操作数据包含每个操作和交易的详细名称和时间,用户基本属性数据包含用户唯一标识,是否中黑名单,地理位置相关信息等;

步骤2,数据预处理:将步骤1所获取的数据,按照用户先进行分组,在每个用户的组内按照操作和交易发生的时间顺序进行排序;

步骤3,生成时间序列:将步骤2处理好的数据,将每个用户的操作名称和交易名称按照时间顺序排列形成第一操作-交易名称序列;将每个用户操作名称和交易时间点按照时间顺序排列形成第二操作-交易时间点序列;将每个用户操作名称和交易时间点按照时间顺序后一个时间点减去前一个时间点形成第三操作-交易时间间隔序列;

步骤4,时间序列数值化:对于第一操作-交易名称序列,首先使用seq2seq方法对名称序列建模,然后利用该模型对该序列的每个名称进行向量化,最后将该序列中所有名称向量化后的结果相加求平均值;对于第二操作-交易时间点序列,将该序列的每个时间点减去一个固定的时间节点(如2020年01月01日)计算结果根据需要保存为天,时,分或者秒;对于第三操作-交易时间间隔序列,根据需求直接换算成天,时,分或者秒;

步骤5,时间序列聚类分组:以步骤4第一操作-交易名称序列的向量做为输入值,使用MeanShift聚类算法进行聚类分组,将在时间上具有相似操作和交易的用户分到相同的组中并给每个组编号;

步骤6,时间序列组内指标计算:计算每个组内用户的黑样本占比,平均操作交易时间,平均序列长度等业务指标,把超过业务指标的认定为异常风险账户。

与现有技术相比,本发明的有益效果如下:

本发明设计了一种基于时间序列聚类检测异常风险账户的方法。与传统的风控规则和直接聚类相比;使用时间序列的数据扩展了聚类数据的范围,能在时间维度上将相似或者相近的行为聚集在一起,从而有效的检测刷单、非法套利、黄牛抢购等行为的风险账户。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本发明的系统总体示意图;

图2是本发明的seq2seq模型图;

图3是本发明的MeanShift聚类模型图;

图4是本发明的计算综合指标图;

图5是本发明的实施例示意图之一;

图6是本发明的实施例示意图之二;

图7是本发明的实施例示意图之三。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例1

本发明实施例提供的基于时间序列聚类检测异常风险账户的方法,根据用户的操作数据和交易数据,利用时间序列的相相似性进行聚类分组,然后计算组内的各种风险指标,从而找出异常风险账户。具体的实施步骤如图1所示。

下面进行详细介绍:

首先我们获取用户的在一段时间内的综合数据,包括交易数据,操作数据,基本属性数据。以翼支付为例,交易数据的字段包括用户id,交易名称,交易类型,是否营销优惠,交易时间;操作数据的字段包括用户id,操作名称,操作类型,操作时间;用户基本属性的字段包括用户id,归属身份,是否中黑名单。拿到数据以后,利用用户id,对三种类型的数据进行连接,并对连接之后的数据进行去重,清洗等工作。三种数据连接完以后,按用户和交易以及操作发生的先后顺序对数据进行排序。

接下来,对排序后的数据进行预处理。对于交易和操作名称,由于交易和操作的名称在数据集中存在大量占比很低的名称,会影响后期建模的经度,所先统计每个名称在整个数据集中的数量和占比,对于数量很少和占比很低的名称删除。对于交易和操作发生的时间节点,由于时间节点数据不是数值数据,

没法进行相关的数值计算,所以将时间节点数据采用两种不同的方式转换为数值数据。第一种是用当前的时间节点减去固定时间节点形成时间节点序列,第二种是用后一时间节点减去前一时间节点形成时间间隔序列。

数据预处理完成以后,要对交易操作名称序列进行数值化编码,这里采用如图2的seq2seq算法来对交易操作名称序列进行数值化编码。Seq2seq的全称是Sequence-to-sequence,它是一种通用的Encoder-Decoder框架。它也是目前自然语言处理技术中非常重要而且非常流行的一个序列模型,该技术突破了传统的固定大小输入问题框架,开创了将经典深度神经网络模型运用于翻译与智能问答这一类序列型任务的先河,并且被证实在各主流语言之间的相互翻译以及语音助手中人机短问快答的应用中有着非常好的表现。所谓的Seq2Seq任务主要是泛指一些Sequence到Sequence的映射问题,Sequence在这里可以理解为一个字符串序列(如本专利中的交易操作名称),当我们在给定一个字符串序列后,希望得到与之对应的另一个字符串序列(如翻译后的、如语义上对应的)时,这个任务就可以称为Seq2Seq了。Seq2Seq是一个Encoder-Decoder结构的神经网络,如图5,它的输入是一个序列(Sequence),输出也是一个序列(Sequence),因此而得名“Seq2Seq”。在Encoder中,将可变长度的序列转变为固定长度的向量表达,Decoder将这个固定长度的向量转换为可变长度的目标的信号序列;最基础的Seq2Seq模型包含了三个部分(图5有一部分没有显示的标明),即Encoder、Decoder以及连接两者的中间状态向量C,Encoder通过学习输入,将其编码成一个固定大小的状态向量C(也称为语义编码),继而将C传给Decoder,Decoder再通过对状态向量C的学习来进行输出对应的序列。

BasicSeq2Seq是有很多弊端的,首先Encoder将输入编码为固定大小状态向量(hiddenstate)的过程实际上是一个“信息有损压缩”的过程。如果信息量越大,那么这个转化向量的过程对信息造成的损失就越大。同时,随着sequencelength的增加,意味着时间维度上的序列很长,RNN模型也会出现梯度弥散。最后,基础的模型连接Encoder和Decoder模块的组件仅仅是一个固定大小的状态向量,这使得Decoder无法直接去关注到输入信息的更多细节。由于BasicSeq2Seq的种种缺陷,本专利使用基于Attention(注意力机制)的Seq2Seq模型。Attention机制原理:为了解决BasicSeq2Seq的问题,于是引入了Attention模型。Attention模型的特点是Decoder不再将整个输入序列编码为固定长度的中间语义向量,而是根据当前生成的新单词计算新的,使得每个时刻输入不同的,这样就解决了单词信息丢失的问题。引入了Attention的Encoder-Decoder模型如图6所示;

单纯的Encoder-Decoder框架并不能有效的聚焦到输入目标上,这使得像seq2seq的模型在独自使用时并不能发挥最大功效。比如说在图6中,编码器将输入编码成上下文变量C,在解码时每一个输出Y都会不加区分的使用这个C进行解码。而注意力模型要做的事就是根据序列的每个时间步将编码器编码为不同C,在解码时,结合每个不同的C进行解码输出,这样得到的结果会更加准确。在本专利中的输入和输出序列是相同的,都是操作交易的名称序列,通过不断的迭代和训练,使得模型达到收敛,模型收敛之后,保存模型的Encoder部分。使用该模型时,将操作交易的名称序列输入到Encoder部分就输出一个数值向量,用该数值向量来代表将操作交易的名称序列,从而实现了交易操作名称序列进行数值化编码。

实现了交易操作名称序列进行数值化编码后,需要对数值化编码后的数值向量进行聚类操作,在本专利中主要使用如图3的MeanShift聚类算法。Meanshift算法是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等应用场景。MeanShift算法的关键操作是通过感兴趣区域内的数据密度变化计算中心点的漂移向量,从而移动中心点进行下一次迭代,直到到达密度最大处(中心点不变)。从每个数据点出发都可以进行该操作,在这个过程,统计出现在感兴趣区域内的数据的次数。该参数将在最后作为分类的依据。与K-Means算法不一样的是,MeanShift算法可以自动决定类别的数目。与K-Means算法一样的是,两者都用集合内数据点的均值进行中心点的移动。

如图7所示,是有关MeanShift聚类算法的步骤:

1.在未被标记的数据点中随机选择一个点作为起始中心点center;

2.找出以center为中心半径为radius的区域中出现的所有数据点,认为这些点同属于一个聚类C,同时在该聚类中记录数据点出现的次数加1;

3.以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift;

4.center=center+shift,即center沿着shift的方向移动,移动距离是||shift||;

5.重复步骤2、3、4,直到shift的很小(就是迭代到收敛),记住此时的center,注意,这个迭代过程中遇到的点都应该归类到簇C;

6.如果收敛时当前簇C的center与其它已经存在的簇C2中心的距离小于阈值,那么把C2和C合并,数据点出现次数也对应合并,否则,把C作为新的聚类;

7.重复1、2、3、4、5直到所有的点都被标记为已访问;

8.分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

本专利使用MeanShift算法对交易操作名称序列进行数值化编码的向量进行聚类分组,从而有效将交易操作名称序列相似或者相近的分在同一组。

本专利对最后重要的一步是计算每一个分组里面的有关风险的业务指标。其中主要的业务包括:组内黑用户占比,组内营销用户占比,组内用户归属省份占比,组内用户序列平均长度占比,组内用于交易操作的平均时间间隔等指标,然后根据业务的规则,计算的指标超过阈值的分组即为异常的分组。异常分组内的账户即为异常风险账户。

与现有技术相比,本发明的有益效果如下:

本发明设计了一种基于时间序列聚类检测异常风险账户的方法。与传统的风控规则和直接聚类相比;使用时间序列的数据扩展了聚类数据的范围,能在时间维度上将相似或者相近的行为聚集在一起,从而有效的检测刷单、非法套利、黄牛抢购等行为的风险账户。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于时间序列聚类检测异常风险账户的方法
  • 一种基于层次聚类的符号化水文时间序列异常模式检测方法
技术分类

06120112362173