2. 金融图数据基础

在金融风控、反欺诈、量化投研与合规审计中,数据天然具有“关系”属性:账户之间转账、企业与股东控股、用户与设备登录、债券与发行人关联。把这些对象抽象为图,才能让GNNExplainer这类解释工具回答“模型为什么把某笔交易判为高风险”。本节先建立金融图数据的统一语言:图结构、节点、边、异构图与时序图,并给出常见数据来源与落地表示方法。

一、核心原理:金融图的最小构成

图由节点集合与边集合构成,记为 G=(V,E)。在金融场景中,节点是业务实体,边是实体间可观测的关系或事件。与普通社交图不同,金融图的边往往带有金额、时间、币种、渠道、方向等属性,因此更准确的形式是属性图:节点有特征矩阵 X,边有特征矩阵 E_attr,整体可表示为 G=(V,E,X,E_attr)。

  • 节点:个人客户、对公账户、银行卡、手机号、设备指纹、IP、商户、企业、股东、债券、股票、基金经理。
  • 边:转账、登录、绑定、控股、担保、交易、任职、同设备、同IP、资金拆借。
  • 方向:资金流通常有向,如A向B转账;控股关系有向;同设备关系无向。
  • 权重:金额、频次、时长、相似度得分,可用于聚合与注意力计算。
解释性提示:GNNExplainer最终输出的是“子图+节点特征掩码”。如果建图时把关键关系漏掉,解释结果再合理也无法对应真实业务证据。因此图结构设计是解释性的第一道关口。

二、方法流程:从原始数据到可训练金融图

  1. 实体识别:确定节点类型与唯一主键,如客户号、统一社会信用代码、卡号哈希。
  2. 关系抽取:从流水、合同、工商、日志中抽取边,并保留时间戳与金额。
  3. 特征工程:节点特征包括年龄、行业、开户时长、历史逾期;边特征包括金额分位、交易时段、对手方集中度。
  4. 图构建:按业务窗口切片,生成同构图或异构图,必要时加入时序快照。
  5. 标签对齐:把欺诈、违约、洗钱等标签挂到节点、边或子图上。
  6. 训练与解释:用GNN编码,再用GNNExplainer回溯关键子图。

下面是一个用PyTorch Geometric风格描述异构图结构的配置片段,便于理解节点与边的组织方式:

hetero_graph = {
  "node_types": ["customer", "account", "device", "merchant"],
  "edge_types": [
    ("customer", "owns", "account"),
    ("account", "transfers", "account"),
    ("customer", "uses", "device"),
    ("account", "pays", "merchant")
  ],
  "node_features": {
    "customer": ["age", "risk_level", "open_days"],
    "account": ["balance", "txn_cnt_30d", "night_ratio"],
    "device": ["device_age", "root_flag"],
    "merchant": ["mcc", "chargeback_rate"]
  },
  "edge_features": ["amount", "timestamp", "channel", "currency"]
}

三、异构图与时序图:金融关系的两种关键形态

异构图允许节点和边具有多种类型,边类型可记为 (源类型, 关系, 目标类型)。金融风控中,客户、账户、设备、商户的语义完全不同,若强行压成同构图,会丢失类型信息,也会让解释结果难以映射到业务语言。异构图配合类型特定的聚合函数,能分别学习“转账”“登录”“支付”的不同影响。

时序图则强调关系随时间变化。常见表示有三种:离散快照图、带时间戳的边流、以及时间邻域图。反洗钱场景中,资金往往在短时间内多层流转,若忽略时间顺序,模型可能把“先收款后付款”误判为普通双向关系。因此,时序图常与滑动窗口结合,例如按天或按小时切片,形成 G_t 序列。

图类型金融场景节点/边示例解释关注点
同构图账户资金网络账户为节点,转账为边关键资金路径、中心账户
异构图反欺诈、KYC客户-账户-设备-商户跨类型证据链
时序图洗钱、套现带时间戳的转账边流时间窗口内的异常模式
二部图债券-发行人、用户-商品两类节点间的关联关联集中度与传导
金融异构图:客户—账户—设备—商户 客户 customer 账户 account 设备 device 商户 merchant owns uses pays login 同设备 时序边流(按时间窗口切片) t1: A→B 5000元 | t2: B→C 4800元 | t3: C→D 4600元 | t4: D→境外账户 4500元

四、常见数据来源与案例场景

金融图的数据来源可分为内部与外部两类。内部数据包括核心银行系统流水、信用卡交易日志、APP埋点、设备指纹、客服工单;外部数据包括工商股权、司法涉诉、征信报告、反洗钱名单、公开市场行情与舆情。落地时通常以客户号或账户号为主键,把多源数据对齐到同一时间轴。

  • 反欺诈:客户-设备-IP-银行卡异构图,识别团伙欺诈。
  • 反洗钱:账户转账时序图,识别多层快速流转与拆分交易。
  • 信贷风控:企业-股东-担保-供应链图,评估关联风险传导。
  • 量化投研:股票-行业-概念-基金经理二部图,挖掘关联因子。
实践建议:建图时保留原始边ID与时间戳,便于GNNExplainer输出子图后,直接回溯到具体流水号、合同号或日志行,形成可审计的解释证据。

五、误区与复盘

常见误区有三:其一,把异构图强行同构化,导致设备、商户等关键类型信息被平均掉;其二,忽略时间顺序,把未来信息泄露到训练窗口;其三,边特征只保留金额,丢失渠道、币种、交易时段等对解释至关重要的上下文。复盘时应检查:节点主键是否唯一、边是否有方向与时间、标签是否与图快照对齐、解释子图能否映射回业务单据。

注意:金融图常涉及个人隐私与敏感数据。建图、存储与解释输出都应遵循最小必要原则,必要时对节点ID做哈希脱敏,并在解释报告中避免直接暴露可识别信息。

掌握图结构、节点、边、异构图与时序图的表示方法,并明确数据来源与对齐规则,才能为后续GNNExplainer提供“可解释得通”的图输入。下一阶段将进入GNN模型与解释器的具体衔接。