kongyg3312/a-sql-based-fraud-test

GitHub: kongyg3312/a-sql-based-fraud-test

基于SQL的支付欺诈检测规则引擎,解决在高度不平衡数据下图传播无效且缺乏复杂模型时的基线规则设计问题。

Stars: 0 | Forks: 0

# a-sql-based-fraud-test SQL 基础支付欺诈检测规则引擎:设计单交易规则(56.4% 召回率,24.8% 精确率),并在 6.36M 笔交易数据集上验证了基于图的传播方法无效。 # 支付欺诈检测策略与规则设计 ## 概述 基于 Kaggle 合成金融数据集(6.36M 笔交易,欺诈率 0.13%)的 SQL 基础欺诈检测规则引擎。该项目模拟真实风险策略流程:数据质量评估、单交易规则设计、基于图的传播验证以及性能评估。 ## 数据集 - **来源**:Kaggle Synthetic Financial Datasets For Fraud Detection - **交易数**:6,362,620 - **欺诈交易**:8,213(0.13%) - **关键交易类型**:TRANSFER、CASH_OUT ## 关键发现与策略迭代 ### 1. 数据质量问题发现 - **发现**:超过 60% 的交易存在 `amount > oldbalanceOrg`,这在真实支付系统中属于逻辑不一致。 - **措施**:排除绝对余额特征(如 `oldbalanceOrg > 阈值`),转而关注稳定特征,例如交易类型与转账比例。 ### 2. 单交易规则设计 - **规则逻辑**:高风险交易类型(`TRANSFER`、`CASH_OUT`)+ 大量资金流出。 - **性能**: - 召回率:**56.4%** - 精确率:**24.8%** - **解读**:在极端类别不平衡(欺诈率 0.13%)下,该精确率水平可作为基线在操作上被接受。 ### 3. 基于图的传播验证(骡子账户检测) - **假设**:欺诈付款人集中资金至共享的“骡子账户”。 - **验证方法**:计算每个收款人的欺诈集中度(欺诈付款人 / 总付款人)。 - **结果**:仅有 **5 个收款账户** 的欺诈集中度 > 50%,且总共关联不到 20 笔欺诈交易。 - **结论**:**该数据集中欺诈高度分散;基于图的传播方法无效。** 这阻止了一条低精确率规则被部署。 ## 评估指标 | 指标 | 数值 | |------|------| | 总告警数(最终规则) | 18,668 | | 真正例 | 4,620 | | 假正例 | 14,048 | | 召回率 | 56.4% | | 精确率 | 24.8% | ## 技术栈 - **MySQL**:CTE、窗口函数、复杂连接 - **评估**:混淆矩阵、召回率、精确率 ## 文件 - `fraud_detection_rule.sql`:包含特征层、规则引擎与评估的完整 SQL 代码。 ## 关键收获 1. 在缺乏用户历史的场景下,单交易规则提供了坚实的基线。 2. 基于图的策略应在部署前针对具体数据集进行验证——无效的传播会放大噪声。 3. 数据质量评估是特征工程的前提。 ## 作者 [你的名字] | [日期]
标签:0.13%欺诈率, 6.36M交易, Kaggle数据集, SQL规则引擎, 交易监控, 余额异常, 单交易规则, 反欺诈系统, 召回率, 合成金融数据, 图传播无效性, 基线模型, 多线程, 大数据处理, 异常检测, 支付欺诈检测, 数据质量评估, 欺诈率, 现金提取, 精确率, 资金分散, 转账类型, 金融风控, 风控策略迭代