2. 图谱基础回顾:节点、边、属性图、异构图的基本概念与表示方法

在深入反欺诈图谱模型看板漂移检测之前,必须夯实图谱基础。欺诈图谱本质上是属性异构图,其节点、边、属性及类型信息是后续所有漂移统计与模型监控的原子单元。本节从最基础的图论概念出发,逐步过渡到反欺诈场景下的表示方法。

2.1 节点与边:图谱的原子单元

节点(Node / Vertex) 是图谱中的实体,在反欺诈场景中通常代表参与方或资源。例如:用户、设备、IP 地址、银行卡、订单、手机号。

边(Edge / Link) 是实体之间的交互或关联关系。例如:登录、交易、转账、同设备、同 IP、同收货地址。

下表总结了反欺诈图谱中最常见的节点与边类型:

节点类型 典型实例 边类型 典型实例
用户(User) uid_001, uid_002 登录(Login) 用户 → 设备
设备(Device) device_id_abc, device_id_xyz 交易(Transaction) 用户 → 银行卡
IP 地址(IP) 192.168.1.1, 10.0.0.1 同设备(SameDevice) 用户 ↔ 用户
银行卡(Card) card_6222****1234 同 IP(SameIP) 用户 ↔ 用户
手机号(Phone) 138****0000 绑定(Bind) 用户 → 手机号
反欺诈要点: 在漂移检测中,节点和边的计数分布(如每日新增用户节点数、每日交易边数)是最基础的监控指标。一旦这些基础单元的数量或比例发生突变,往往预示着图谱结构正在漂移。

2.2 属性图:为节点和边赋予特征

属性图(Property Graph) 允许节点和边携带键值对形式的属性。属性是漂移检测的核心数据来源,因为模型看板上的统计量(如平均度数、特征均值)都直接来自这些属性。

属性图的形式化定义:
G = (V, E, PV, PE)

  • V:节点集合
  • E:边集合
  • PV:节点属性映射,每个节点可包含多个属性
  • PE:边属性映射,每条边可包含多个属性

反欺诈场景下的典型属性示例:

  • 用户节点属性:注册时间、注册渠道、历史交易次数、风险评分、设备指纹
  • 交易边属性:交易金额、交易时间戳、交易类型、商户ID、是否成功
  • 设备节点属性:操作系统版本、屏幕分辨率、是否模拟器、首次出现时间
漂移检测关联: 属性图的漂移通常表现为属性值分布的变化。例如,交易金额的均值从 200 元突变为 5000 元,或用户注册渠道的类别分布发生偏移,这些都会直接反映在模型看板的特征统计图上。

2.3 异构图:多类型节点与边的统一建模

异构图(Heterogeneous Graph) 包含多种类型的节点和多种类型的边。反欺诈图谱几乎都是异构图,因为欺诈网络天然涉及不同实体(人、设备、账号、资金)之间的复杂交互。

异构图的形式化定义:
G = (V, E, TV, TE, φ, ψ)

  • TV:节点类型集合,如 {User, Device, IP, Card, Phone}
  • TE:边类型集合,如 {Login, Transaction, SameDevice, SameIP, Bind}
  • φ: V → TV:节点类型映射函数
  • ψ: E → TE:边类型映射函数

异构图的优势在于能够保留丰富的语义信息。例如,一条边是“登录”还是“交易”,其业务含义和风险权重完全不同,模型看板需要分别监控每种边类型的统计量。

常见误区: 初学者容易将异构图简化为同构图,忽略节点和边的类型标签。这会导致漂移检测失效——例如,当“登录”边数量下降而“交易”边数量上升时,如果混在一起统计,可能看不出任何变化,但实际图谱结构已经发生了显著漂移。

2.4 图谱的表示方法:邻接矩阵与邻接表

图谱在计算机中的存储和计算需要具体的表示方法。反欺诈图谱通常规模较大(千万级节点、亿级边),因此表示方法的选择直接影响漂移检测的计算效率。

表示方法 描述 空间复杂度 反欺诈适用性
邻接矩阵 二维矩阵,A[i][j] 表示节点 i 与 j 是否有边 O(|V|²) 仅适用于小图(节点数 < 10⁴)
邻接表 每个节点维护一个邻居列表 O(|V| + |E|) 适用于大规模稀疏图
边列表 三元组 (src, dst, type) 的集合 O(|E|) 适用于分布式存储和流式处理
压缩稀疏行(CSR) 按行压缩的邻接矩阵变体 O(|V| + |E|) 适用于图神经网络训练

在反欺诈图谱模型看板中,最常用的是邻接表和边列表,因为它们支持高效的增量更新和按类型过滤——这对于实时漂移检测至关重要。

2.5 反欺诈异构属性图示例

下图展示了一个典型的反欺诈异构属性图结构,包含 5 种节点类型和 4 种边类型,节点和边上均携带属性:

反欺诈异构属性图示例 用户 uid_001 设备 device_abc IP 192.168.1.1 银行卡 card_6222**** 手机号 138****0000 登录 交易 使用 绑定 同设备 节点属性示例 • 用户: 注册时间, 渠道 • 设备: OS, 是否模拟器 • IP: 地理位置, 代理标记 • 银行卡: 发卡行, 卡类型 边属性示例 • 登录: 时间戳, 是否成功 • 交易: 金额, 商户ID • 绑定: 绑定时间, 渠道

上图展示了反欺诈图谱的核心特征:多类型节点(用户、设备、IP、银行卡、手机号)通过多类型边(登录、交易、使用、绑定、同设备)连接,每个节点和边都携带丰富的属性信息。这种结构为模型看板提供了多维度的监控维度。

2.6 图谱的数学表示与存储格式

在工程实现中,反欺诈图谱通常以三元组或属性表的形式存储。以下是两种常见的存储格式:

格式一:边列表(Edge List)

# src_node, dst_node, edge_type, timestamp, amount
uid_001, device_abc, login, 2024-01-01 10:00:00, NULL
uid_001, card_6222****1234, transaction, 2024-01-01 10:05:00, 500.00
device_abc, ip_192.168.1.1, use, 2024-01-01 10:00:00, NULL
uid_002, device_abc, login, 2024-01-01 10:10:00, NULL
uid_001, phone_138****0000, bind, 2023-12-01 08:00:00, NULL

格式二:属性表(Property Table)

# 节点表
node_id, node_type, properties
uid_001, user, {"register_time": "2023-01-01", "channel": "app", "risk_score": 0.2}
device_abc, device, {"os": "Android 13", "is_emulator": false, "first_seen": "2023-06-01"}
ip_192.168.1.1, ip, {"geo": "Beijing", "is_proxy": false}

# 边表
src_id, dst_id, edge_type, properties
uid_001, device_abc, login, {"timestamp": "2024-01-01 10:00:00", "success": true}
uid_001, card_6222****1234, transaction, {"timestamp": "2024-01-01 10:05:00", "amount": 500.00, "merchant": "M001"}
漂移检测工程实践: 在构建模型看板时,建议将图谱数据按时间分区存储(如按天分区),并预先计算每种节点类型和边类型的基础统计量(计数、均值、方差、分位数)。这样在检测漂移时,可以直接对比不同时间窗口的统计分布,无需重新扫描全量图谱。

2.7 图谱基础概念与漂移检测的映射关系

下表总结了图谱基础概念与看板漂移检测之间的直接映射关系,帮助理解为什么需要回顾这些基础:

图谱概念 看板监控指标 漂移检测意义
节点类型分布 每日各类型节点新增/存量计数 检测实体类型比例是否突变(如设备节点暴增可能暗示机器注册)
边类型分布 每日各类型边新增/存量计数 检测交互模式是否变化(如登录边减少、交易边增加可能暗示账户被盗用)
节点属性分布 属性均值、方差、分位数、类别频次 检测实体特征是否漂移(如用户注册渠道从“app”变为“web”可能暗示攻击者转移)
边属性分布 边属性均值、方差、分位数、类别频次 检测交互特征是否漂移(如交易金额均值从 200 元变为 5000 元可能暗示洗钱)
图结构统计 平均度数、聚类系数、连通分量数 检测图谱整体结构是否漂移(如连通分量数骤降可能暗示图谱被大规模污染)