首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第四十八期数据分析挖掘沙龙:基于社区发现算法的风险客户传播识别方法

近年来,全球网络安全形势严峻,金融欺诈事件频发、规模巨大,金融欺诈涉及业务环节多、手段多样、隐蔽性强,金融欺诈组织化程度不断增加。为金融反欺诈业务提出了严峻的挑战。

[以上来源:猛犸反欺诈]

然而,目前来看,对客户的风险分析往往集中在客户的个体属性上,对客户间关系本身,以及基于这种关系的客户间影响应用较少。传统数据库和数据结构,在分析此类问题时,常常采用多级表关联的方式,此类方法一方面由于最大关联层级的限制,难以对客户间关系进行深层次的分析,另一方面,大数据表的关联往往性能不高,资源消耗巨大,极大地限制了这种分析的应用范围。

显然,客户和客户间的关系可以被看作是一种图或者网络的形式,这也是知识图谱的一种。相对于传统数据存储方式,将数据表示为图的结构,可以大大降低在图内进行探索与运算的复杂度。基于此衍生的图算法,也可以从中挖掘中更多的知识与洞见。

我们提出了一种基于图模型的客户风险识别方法,可以借助图计算引擎和图数据库实现基于客户间关系的风险客户传播识别。算法包含数据数据预处理,黑名单关联子图提取,社区发现与灰名单客户提取三个步骤。

数据预处理

首先,本方法从数据库中读取相关数据,将这些表进行整合,构建为统一的图关系知识图谱数据。即构建集合G={(Vi, Vj, Ek)|k in [1,Ne]}, i,j in [1, N],其中,N为节点的数目,Nr为关系的数目。每一个节点Vi表示一个独立个体,如一个客户,或一次信用卡申请,每一个Ek表示一种关联关系,如两个人之间亲属关系。这种知识图谱数据可以方便地存储于图数据库中进行查找或分析。

之后,本方法从数据库中提取黑名单数据,构建黑名单集合B,包含已知的黑名单客户,集合B是集合V的一部分。

黑名单关联子图提取

在上述构建的图中提取与黑名单有关联的连接子图。这一步的目的是为了降低计算量。减轻下面操作的计算复杂度。

首先计算图G的连通子图,

然后提取与黑名单有关联的连通子图及其对应的黑名单Lc,算法如下:

时间复杂度为O(N)

社区发现与灰名单客户提取

对于每一个黑名单关联子图,对其进行社区发现算法计算,并提取其与黑名单相关的社区的节点,作为风险客户。

在本文中,采用标签传播(LPA)算法进行社区发现的计算。标签算法具有计算方式接近现实中影响传播方式的特点,此外,其时间复杂为O(n),具有良好的性能,适合大数据集的处理。

标签传播的具体算法如下:

(后续补充)

本部分的整体算法如下:

Lm中的每个元组Ti=(Mi, Lbi)即为风险客户及其所对应的黑名单客户。

实验分析

我们基于信用卡申请数据和黑名单客户数据对上述方法进行了验证。在信用卡申请审核时,现有的方法可以良好地过滤掉黑名单客户,但是对于可能与黑名单有关的客户,尚无一种良好地区分方法来判别其风险情况。

数据来源与实验环境

本实验使用到的信用卡申请信息包含数百万行数据,字段包括id、客户号、注册手机号、联系人手机号、住址、公司地址。黑名单数据有数百万条,内容是黑名单客户的客户号。

本次实验运行在Linux服务器上,服务器包含48个内核和100G内存。使用到的软件环境包括python, jupyter notebook, networkx, pandas等。

数据预处理

我们首先对数据进行了预处理,预处理包括两部分。

1. 将信用卡申请信息表和黑名单客户进行关联,得出其黑名单客户的id。

2. 对信用卡申请信息进行自关联,得出id间的关系数据。在本次实验中,我们提取了联系人手机号关联,同一家庭地址,同一公司地址,同一注册手机号,同一联系人手机号五种关联关系。其中,联系人手机号关联是指注册信息A中的联系人手机号,是注册信息B中的手机号的情况。

Id间关系表现为边表的形式,其每一行有三个字段Source,Target和Relation,分别表示在构建的图中的边的两端节点和节点间的关系

构建知识图谱

将上述边表构建为图的形式,本文主要使用Python的networkx软件包和Gephi软件进行图的处理和可视化。

下图为对图中所有大小超过10的连接子图进行可视化后的结果。其中,节点的度由高到低分别为红色、绿色、蓝色。

节点数大于10的连接子图构成的网络

黑名单连接子图分析

按照上文中算法提取图中包含黑名单的连接子图。统计黑名单子图集合中元素的大小分布,可以得到如下直方图:

黑名单子图大小分布直方图(log)

在黑名单连接子图中找出节点数最多的子图(子图节点数为975)进行可视化,可以得到如下图形。

其中红色框中的红色节点为黑名单节点。

结合这两张图可以看出,大部分黑名单子图具有较小的大小,但是也有少部分子图比较大。对于大型子图而言,其大小超出了一般黑名单客户可能的关联或影响范围。此外,从图中看出明显的社区结构,对子图进行社区划分,可以进一步精确定位黑名单可能的影响范围。

黑名单关联社区发现

使用上文所述标签传播算法进行黑名单子图分区,然后精确定位黑名单所在社区,将其认定为具有较高风险的社区。

本文以上面黑名单子图中的黑名单节点作为源头,使用深度优先搜索算法进行了8轮迭代,将关联节点提取出来进行分析,结果如下:

上述案例中黑名单客户及其8层关联客户

标签传播算法发现的社区结构

根据社区结构发现的黑名单关联社区

上述三张图中,第一张图为上述案例中黑名单客户及其8层关联客户,其中绿色节点为未判别的图节点,红色节点为黑名单节点。

图二为基于标签传播算法发现的社区结构,从图中可以看出,社区发现算法可以良好地将图中影响程度较高的区域和影响程度较低的区域分割出来。

图三为根据社区结构发现的黑名单关联社区。借助这种方式,本文算法将黑名单的影响范围和其他区域良好的区分开来。

接下来,我们进行了与上述黑名单子图中的网络结构的对比,如下面两张图所述。

黑名单子图

算法得出的影响范围

上述两张图分别为黑名单子图及算法得出的影响范围。从其中可以看出,通过标签传播算法,得出了更为精准的影响范围。

其后,本文对上述黑名单节点及其影响范围内的所有节点和边进行了进一步的可视化,对其中的每一条边的关系进行了标注。其中,phone=contact表示注册信息中的联系人电话为另一个注册信息中的手机号;home表示两个注册信息使用同一家庭地址;camp表示两个注册信息使用同一公司地址。

从图中可以看出,影响范围内的所有节点相互之间都具有较强的关联性,且往往具有相同的家庭或公司地址,这也印证着,此子图中可能具有较高的风险的存在。

参考文献

1. Near linear time algorithm to detect community structures in large-scale net

2. 猛犸反欺诈,中国金融反欺诈技术应用报告

顾 问:赵维平

杜 俊

主 编:张 勇

轮值编辑:马 凯

邹 黎

轮值审稿:陈宏晓

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181012B1MPEP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券