2. 图论基础
在欺诈识别场景中,我们面对的往往不是孤立账户,而是一张由转账、登录、设备共用、收货地址共享等关系交织而成的网络。图论提供了描述这张网络的统一语言:谁参与、谁与谁发生关系、关系是否有方向、网络是否连成一片、关键节点如何被结构性识别。掌握这些基础概念,是后续计算中心性、发现欺诈团伙与洗钱链路的前提。
一、核心原理:图的最小构成
一个图由节点与边组成。节点代表实体,边代表实体之间的关系。在反欺诈中,节点可以是用户、银行卡、手机号、设备指纹、IP、商户;边可以是转账、登录、绑定、共用设备、同址收货。边的存在意味着两个实体之间存在可被利用或可被观测的关联。
度是节点直接相连的边数。无向图中,度就是邻居数量;有向图中,度分为入度与出度。入度高说明该节点被大量其他节点指向,例如一个收款账户被许多账户转入资金;出度高说明它主动连接很多节点,例如一个中介账户向多个下游账户分散转账。度是最简单的局部中心性指标,计算成本低,适合作为欺诈筛查的第一层过滤器。
路径是节点与边交替构成的序列,表示从一个实体到达另一个实体的通路。路径长度通常以边数衡量。欺诈场景中,资金链路、设备跳转链、账号接管链都可以抽象为路径问题。若两个节点之间存在路径,则称它们连通。
连通分量是无向图中极大的连通子图。一个连通分量内部的任意两个节点都可通过路径到达,不同连通分量之间没有边相连。在欺诈团伙识别中,连通分量常被用来快速切分“疑似团伙孤岛”:如果一个分量规模异常大、内部连接密集,或包含多个已知黑名单节点,就值得深入排查。
有向图与无向图的区别在于边是否具有方向。无向边表示对称关系,如“共用同一设备”“同属一个家庭地址”;有向边表示非对称关系,如“A 向 B 转账”“A 登录了 B 的设备”。方向决定了路径的可达性:A 向 B 转账不代表 B 能向 A 转账,因此有向图中的入度、出度和强连通性分析不可省略。
关键理解:图结构不是数据的附属品,而是欺诈行为的“关系证据”。节点属性可以伪造,但关系模式往往难以完全隐藏。度、路径与连通分量,就是把关系模式转化为可计算指标的第一步。
二、方法流程:从原始数据到图结构
将业务数据转化为图,通常遵循以下流程:
- 定义节点类型:明确哪些实体进入图。常见包括用户、账户、设备、IP、手机号、商户、地址。
- 定义边类型与方向:判断关系是否对称。转账、登录、调用通常为有向;共用设备、同地址、同证件通常为无向。
- 构建邻接结构:选择邻接表或邻接矩阵。稀疏图优先邻接表,稠密图或需要快速判断两点是否相邻时可用矩阵。
- 计算基础指标:统计度、入度、出度、路径长度、连通分量编号。
- 结合业务规则筛查:例如入度大于阈值、出度异常集中、所属连通分量包含黑名单节点等。
下面是一个用 Python 构建无向图并计算度与连通分量的最小示例:
import networkx as nx
G = nx.Graph()
G.add_edges_from([
("U001", "D100"), ("U002", "D100"), ("U003", "D100"),
("U004", "D200"), ("U005", "D200"),
("U006", "D300")
])
print("节点度:", dict(G.degree()))
print("连通分量:", list(nx.connected_components(G)))
输出中,设备 D100 的度为 3,说明它连接了三个用户;D200 的度为 2;D300 的度为 1。连通分量会把 U001、U002、U003、D100 划为一组,把 U004、U005、D200 划为另一组,U006 与 D300 单独成组。若 D100 已被标记为风险设备,则同分量的三个用户都应进入人工复核队列。
三、案例/场景:设备共用网络中的团伙发现
假设某平台发现一批新注册账号在短时间内集中领取优惠券。单看账号属性,手机号、姓名、IP 都不同,规则引擎难以直接命中。但将“账号—设备”关系构建为无向图后,出现如下结构:
| 设备 | 关联账号数 | 连通分量规模 | 风险判断 |
|---|---|---|---|
| D100 | 3 | 4 | 高度可疑,设备复用明显 |
| D200 | 2 | 3 | 中等可疑,需结合行为 |
| D300 | 1 | 2 | 正常,单账号单设备 |
| D400 | 8 | 9 | 极高可疑,疑似团伙设备 |
在这个场景中,度直接暴露了设备复用程度,连通分量则把“账号—设备—账号”的间接关系聚合为团伙候选集。若进一步引入有向边“账号 A 向账号 B 转账”,还可以在连通分量内部识别资金流向,区分“控制节点”和“执行节点”。
实践提示:在设备共用网络中,无向图适合发现“聚集”,有向图适合发现“流向”。两者结合,才能既看到团伙边界,又看到团伙内部的角色分工。
四、误区与复盘
误区一:把度高等同于欺诈。度高只说明连接多。热门商户、公共设备、家庭共享路由器都可能度高。必须结合节点类型、时间窗口和业务语义判断。
误区二:忽略方向。在资金网络中,把有向边当无向边处理,会丢失“谁向谁转移”的关键信息,导致路径分析失真。例如 A→B→C 与 C→B→A 在无向图中看起来相同,但在洗钱链路中意义完全不同。
误区三:把连通分量当作最终结论。连通分量只是候选分组,不是定罪依据。一个分量可能包含正常用户与欺诈用户,需要进一步用中心性、社区发现和时序行为做区分。
误区四:忽视图的时间维度。边是有生命周期的。昨天共用的设备今天可能已经解绑,上月转账关系本月可能已无意义。构建图时应明确时间窗口,否则会把历史噪声当成当前风险。
复盘要点:图论基础指标的价值在于“低成本、可解释、可组合”。度用于快速筛选,路径用于追踪链路,连通分量用于切分团伙候选,有向与无向的选择决定分析视角。任何指标都不能单独作为欺诈结论,必须与业务规则、时序行为和人工复核形成闭环。
掌握节点、边、度、路径、连通分量以及有向与无向图的区别后,我们就具备了描述欺诈网络的基本词汇。下一步,才能在这些结构之上计算中心性,识别真正处于关键位置的欺诈节点。