在严格时间边界下比较强非图基线与因果图模型,并把离线风险排序、低误报工作点、 时间漂移诊断和事件级在线 toy 回放放进同一条可审计链路。
项目仓库:nikashen/GraphShield-Fraud
| 维度 | 已交付证据 |
|---|---|
| 数据与协议 | Elliptic 203,769 节点、234,355 边、165 维匿名特征;timestep 严格切分 |
| 模型 | Balanced Logistic、HistGradientBoosting、纯 PyTorch Causal GraphSAGE |
| 风控评测 | PR-AUC、ROC-AUC、Recall@FPR≤1%、Top-K、Brier、ECE、成本阈值 |
| 图因果边界 | 累计历史视图;每条消息满足 source timestep ≤ receiver timestep |
| 在线工程 | score-before-commit、幂等、迟到拒绝、reset CAS、generation fence、replay |
| 交付 | FastAPI 调查台、响应式移动端、wheel、Linux/Windows fresh-wheel CI |
工作台画面完全使用 deterministic toy:风险队列、实时输入、分数、原因、历史关联和 replay 均不读取真实 Elliptic 行。真实 benchmark 只保留聚合指标和来源哈希。
固定协议使用 Train timestep 1-29、Validation 30-39、Test 40-49。未知标签只作
图上下文,不伪装成负样本;累计图和逐消息时间约束同时阻止未来节点向历史节点传播。
模型排序与成本阈值均在 Validation 完成,Test 不参与选择。
| Model | Test PR-AUC | Test ROC-AUC | Recall at FPR ≤ 1% |
|---|---|---|---|
| Balanced Logistic | 0.1566 | 0.8169 | 0.0047 |
| HistGradientBoosting | 0.6650 | 0.8823 | 0.5928 |
| Causal Temporal GraphSAGE | 0.3783 | 0.8139 | 0.2421 |
Validation 选择 HGB。GraphSAGE 的独立 CUDA 复跑与联合运行聚合 payload SHA-256 完全 一致,但仍未超过树模型;项目保留该负结果,不声称 GNN 通用优势或 SOTA。
冻结成本阈值下,HGB 在 Test 产生 739 个告警,Precision/Recall 为
0.5304/0.6164;固定 FPR≤1% 工作点的 Recall 为 0.5928。分时间窗口结果从
timestep 43 起明显回落,因此总体 PR-AUC 不能替代时间稳定性审计。
512 个 synthetic 事件、32 个预热事件的本机单线程回放中,p50/p95/p99 为
1.9878/3.3367/3.6731 ms,约 517.831 events/s。因果前缀、幂等与迟到拒绝通过,
但这些数字只是工作站诊断,不代表真实支付拦截、业务收益、生产并发或 SLA。
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[serve]"
.\.venv\Scripts\graphshield.exe serve --port 8060python3.11 -m venv .venv
.venv/bin/python -m pip install -e ".[serve]"
.venv/bin/graphshield serve --port 8060浏览器访问 http://127.0.0.1:8060/?online=1。不传 --artifact 时只加载内存 toy;
显式 artifact 才进入离线调查模式。
本项目不声称 GNN 优于强基线、生产实时拦截、线上欺诈收益、真实欺诈率、因果解释、 统计显著性或 SLA。Elliptic 数字是仓库固定 end-of-timestep 离线协议;在线路径仅使用 synthetic toy 和进程内状态。
