mcpField
A
algo-risk-benford

algo-risk-benford

github.com/asgard-ai-platform数据与数据库24336 次安装21 周前更新
代码仓库

关于 algo-risk-benford

algo-risk-benford 是用于数据审计的 Benford 定律分析技能,比较数据首位数字的观测频率与理论分布。它适合筛查大型、自然产生且跨越多个数量级的数据;偏离结果只是风险信号,并非欺诈证明。

主要功能

  1. 01统计首位数字频率
  2. 02与 Benford 定律分布比较
  3. 03计算 MAD、卡方和 KS 检验
  4. 04标出偏差较大的数字

适用场景

  1. 01筛查费用或发票数据的异常
  2. 02审计大型数据集的数据完整性
  3. 03检查自然产生数据中的数字偏差

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/asgard-ai-platform/skills --skill algo-risk-benford

安装后在 Claude Code 中输入/algo-risk-benford确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
sample_scenario.md
references/
fraud-case-studies.md
higher-digit-tests.md

详细介绍

本福特定律分析

概述

本福特定律预测,在自然产生的数据集中,首位数字 d 出现的概率为 P(d) = log₁₀(1 + 1/d)。数字 1 出现的概率约为 30.1%,而数字 9 仅约为 4.6%。与此分布的偏差可能表明数据伪造或篡改。分析的时间复杂度为 O(n)。

适用场景

触发条件:

  • 审计财务数据(支出、发票、纳税申报表)是否存在篡改
  • 筛查大型数据集中的数据完整性问题
  • 检测伪造或人为取整的数字

不适用场景:

  • 用于指定或连续编号(邮政编码、电话号码、ID)
  • 用于范围受限的数据集(例如,人类年龄、百分比)
  • 用于小型数据集(少于 500 条记录——统计效力不足)

算法

IRON LAW: Benford's Law Applies to NATURALLY OCCURRING Data Spanning Orders of Magnitude
Data that doesn't span multiple orders of magnitude (e.g., temperatures
in Celsius, human heights) will NOT follow Benford's Law. Deviation from
Benford's in such data is EXPECTED, not suspicious. Always verify the
data type is appropriate before concluding fraud.
阶段 1:输入验证

从数据集中提取首位数字。筛选:移除零值,对负数取绝对值,并移除小于 10 的值。验证数据集是否跨越多个数量级。 **门槛:**至少 500 条记录,数据跨度至少为 2 个数量级。

阶段 2:核心算法
  1. 提取每个数值的首位数字
  2. 统计每个数字(1-9)的频次
  3. 将观测频次与本福特定律的预期值进行比较:P(d) = log₁₀(1 + 1/d)
  4. 进行统计检验:卡方检验、MAD(平均绝对偏差)、KS 检验
阶段 3:验证

MAD 阈值:< 0.006(一致性高)、0.006-0.012(可接受)、0.012-0.015(勉强符合)、> 0.015(不符合)。标记偏差较大的具体数字。 **门槛:**已计算 MAD,并识别出不符合的数字。

阶段 4:输出

返回符合性评估及数字级别的分析结果。

输出格式

{
  "conformity": "marginal",
  "mad": 0.013,
  "chi_squared": {"statistic": 18.5, "p_value": 0.018, "df": 8},
  "digit_analysis": [{"digit": 1, "observed_pct": 25.1, "expected_pct": 30.1, "deviation": -5.0}],
  "metadata": {"records": 5000, "dataset": "Q4 expense reports"}
}

示例

输入/输出示例

**输入:**某公司的应付账款分类账中 1000 笔发票金额 **预期:**首位数字的比例应接近 30.1%、17.6%、12.5%、9.7%、7.9%、6.7%、5.8%、5.1%、4.6%。对于真实数据,MAD < 0.012。

边界情况
输入预期结果原因
所有金额都在 $90-$99 之间数字 9 占主导范围受限——本福特定律不适用
整数金额激增(数字 1、5)标记以供审核可能表明估算时取整或操纵阈值
政府预算数据通常符合良好大型自然产生的财务数据集符合本福特定律

注意事项

  • 并非欺诈证据:不符合是一个危险信号,而非证据。许多合法流程产生的分布并不符合本福特定律。务必进一步调查。
  • 第二位数字检验:首位数字检验可以发现明显的伪造。第二位数字分析可以发现更隐蔽的操纵(例如,向审批阈值取整)。
  • 合并数据集:混合来自不同流程的数据集,可能人为地形成或破坏对本福特定律的符合性。请分析同质数据集。
  • 审批阈值:如果超过 $5,000 的支出需要副总裁审批,预计金额会集中在略低于 $5,000 的范围($4,9xx 区间中的数字 4)。这是一种行为模式,可通过第二位数字分析标记出来。
  • 样本量很重要:卡方检验对样本量敏感。记录数达到 100K+ 时,即使微小偏差也会具有统计显著性。请将 MAD 用作主要指标。

参考资料

  • 关于第二位和第三位数字的扩展检验,请参阅 references/higher-digit-tests.md
  • 关于欺诈检测案例研究,请参阅 references/fraud-case-studies.md

评论

支持 Markdown