【技术实现步骤摘要】
一种基于金融交易网络的团伙检测方法及其实现装置
本专利技术涉及一种基于金融交易网络的团伙检测方法及其实现装置,属于数据挖掘
技术介绍
团伙检测是指在图数据上检测具有相同特征的节点集合,在复杂网络领域中也叫社团检测。团伙检测具有广泛的应用基础。金融犯罪方面的辅助决策工具需要较高的准确率和可解释性。因此在海量的交易流水中,挖掘潜在的嫌疑人具有广泛的研究和应用价值。目前这项工作还普遍依赖人工对数据的挖掘和分析,这需要对数据和犯罪行为的深刻了解和对数据的深入分析,对人的经验要求较高,而随着各类交易数据量的大爆发,对机器硬件和人都提出了新的巨大的挑战。社团检测属于复杂网络众多技术中的一种,之前的研究主要在科学家合作网络、电力网络、蛋白质交互网络等特定领域的网络上,取得很大的成效。从最初的GN算法到能够应用在大规模数据集上的标签传播算法,再到后来提出了基于概率统计方法的生成式模型MMSB算法,现有的社团检测算法大多仅仅利用了图的空间结构信息,如邻居信息。目前还缺乏有效的金融犯罪团伙的检测方法,大多还是使用这种基于图空间 ...
【技术保护点】
1.一种基于金融交易网络的团伙检测方法,其特征在于,包括:/n(1)数据预处理:对交易数据进行数据清洗,提取每个用户的交易序列、构建图数据;/n(2)生成用户特征向量:使用序列模型获取用户时序特征向量,使用GAE模型获取用户空间特征向量;将用户时序特征向量和空间特征向量分别归一化,并做连接操作,生成节点表示向量
【技术特征摘要】
1.一种基于金融交易网络的团伙检测方法,其特征在于,包括:
(1)数据预处理:对交易数据进行数据清洗,提取每个用户的交易序列、构建图数据;
(2)生成用户特征向量:使用序列模型获取用户时序特征向量,使用GAE模型获取用户空间特征向量;将用户时序特征向量和空间特征向量分别归一化,并做连接操作,生成节点表示向量d′1,……d′m表示归一后的用户时序特征向量,表示归一后的空间特征向量;
(3)团伙检测:计算每个节点所属的团伙,并输出节点的团伙标记。
2.根据权利要求1所述的一种基于金融交易网络的团伙检测方法,其特征在于,所述步骤(1)中,所述交易数据包括用户、交易对手账号、交易时间和交易金额,对交易数据进行数据清洗的具体步骤包括:
1-1、缺失值填充:如果某条交易数据的用户、交易对手账号、交易时间中任一字段缺失,则丢弃该条交易数据;
如果某条交易数据中的只有交易金额存在字段缺失,采用均值填充法进行填充,即计算当前用户所有交易金额的平均值,采用所述平均值填充交易金额;
1-2、数据不一致处理:当使用不同的日期形式来表示日期时,使用Python的datatime库进行格式化,统一所有的时间格式为年月日的日期形式;
1-3、特征编码:使用一个map进行映射,将15位以上的用户和交易对手账号转换成标签编码(label-encoding),最终得到交易样本集合。
3.根据权利要求1所述的一种基于金融交易网络的团伙检测方法,其特征在于,所述步骤(1)中,提取每个用户的交易序列、构建图数据的具体步骤包括:
a、基于时间顺序生成每个用户的交易序列:使用Pandas库的unique函数获得用户集合n为用户总数,用户ui,i=1,……,n,表示第i个交易用户;m为交易对手账号的总数,交易对手账号表示第j个交易对手账号;
对于用户ui来说,从交易样本集合中获取所有的交易对手账号,并按照交易时间进行升序排序,将序列去重组合为交易序列Li;
以用户ui为键,交易序列Li为值,构建键值对集合S={si|i=1,...n},其中si为(ui,Li);键值对集合S的键是用户,值是交易序列,用来通过用户查找到交易序列;
b、构建图数据:所述图数据包括邻接矩阵A和图节点的特征矩阵X;
首先,在交易样本集合中,从同一条交易数据中提取用户ui和交易对手账号组成序对
再对所有的序对进行去重操作,将去重后的所有序对集合作为图G的边集E,E={ei|i=1,...,m};所有用户集合U作为节点集V,V={vi|i=1,...,n};使用边集E和节点集V,通过networkx库来生成节点的邻接矩阵A∈Rn×n,邻接矩阵通过编码图的节点之间是否相连来表示一个图的拓扑结构;用户和交易对手账号作为节点,任一节点之间有交易就添加一条边;
图节点的特征矩阵X为节点的度矩阵D,度矩阵D是对角阵,对角上的元素为各个节点i的度,节点i的度di表示和节点vi相关联的边的数量,Di=[di],Di表示节点vi的度,得到的邻接矩阵A和图节点的特征矩阵X用作GAE模型的训练数据。
4.根据权利要求1所述的一种基于金融交易网络的团伙检测方法,其特征在于,所述步骤(2)中,使用序列模型获取用户时序特征向量,将交易序列Li视作一个句子,通过最大化在中心节点出现的情况下,上下文节点出现的概率来优化每层参数,具体步骤包括:
2-1、准备训练数据:首先使用sklearn库中OneHotEncoder对节点列表做向量化处理,得到一个较高维度的节点One-hot向量,节点One-hot向量的维数大小等于单词个数;
然后设置window窗口和skip步长大小,用以生成训练数据,通过交易序列Li构造训练数据,Li={Li(1),...,Li(k)};Li为用户ui的交易序列,上标1,...,k为交易序列Li中的k个交易对手账号;设定window窗口和skip步长大小,以某一节点作为中心节点,构建(input,output)形式的训练集,获得训练数据;
2-2、构建Skip-gram模型,获得节点向量:Skip-gram模型包括依次连接的输入层、隐藏层和输出层,
输入层输入节点One-Hot向量;隐藏层的维度即隐藏层神经元的个数;输出层为softmax分类器,输出每个节点的概率,
计算交叉熵损失函数,并使用梯度下降法更新模型权重参数,最终使用输入层到隐藏层的权重矩阵作为节点的时序特征R序列={d′1,……d′m}。
5.根据权利要求4所述的一种基于金融交易网络的团伙检测方法,其特征在于,所述步骤2-1生成训练集的过程中,使用高频词抽样技术对训练样本中的向量序对(input,output)进行抽样;采用负采样技术,在训练每个样本的时候只更新每一部分模型权重。
6.根据权利要求1所述的一种基于金融...
【专利技术属性】
技术研发人员:朱滕威,王巍,黄俊恒,王佰玲,辛国栋,刘扬,
申请(专利权)人:哈尔滨工业大学威海,威海天之卫网络空间安全科技有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。