假帐克星-- Benford's Law
假设走在大街上,随机选择一些人,让他们每人随便写下一个数字,得到的数字的分布将很有可能不是均匀的分布。这很容易理解,比如,中国人就比较避讳
数字4,而倾向于数字6或8等。
如果一个公司做假账,自作聪明的伪造者试图在账目中间“隐藏”数据,绝大多数情况下他们都很难高明到不露马脚。2001年,“9.11”事件发生后
不久,曾是美国最大的能源交易商、年营业收入达近千亿美元、股票市值最高可达700多亿美元、全球500强中排名第七的安然公司在事先没有任何征兆的情况
下突然宣布破产。不久就传出了该公司高层管理人员涉嫌做假账的丑闻,一时间,会计造假成了中外关注的焦点。
研究人员从安然公司所公布的一些数据进行统计分析,果然发现了一些征兆。例如,安然公司在2001年度到2002年度所公布的每股盈利数字的分布就
有问题,这些数字的使用频率与一个著名的定律--Benford's law(本福特定律)有较大的偏差,说明这些盈利数据一定是经过篡改后的。
图:本福特定律、真
实税收数据、伪造数据、随机数据的数字分布
来源
(
http://www.flatrock.org.nz/topics/intellect_and_entertain/following_benfords_law.htm
)
Benford's
law本福特定律,是关于某些类型数据的开头数字的分布规律的,该定律与你的直觉可能有些偏离:大多数人会认为,世界上千千万万的数据(非0开头)的开头
数字是1到9的任何一个数字,而且每个数字开头的概率应该差不多。现在,请你随便找本书,统计一下上面的各种开头数据的开头数字,看看是否符合设想。如果
你统计的数据足够多,你就会惊讶的发现,并非每个数字出现的概率均等,实际中以1为开头的数字出现的频率并不是人们想当然认为的1/9,而是0.301,
这说明30%的数字都以1开头。而2为首的数字出现的频率是0.176,3开头的数字出现的频率为0.125,往后出现频率依此减少,9打头的数字出现的
频率最低,只有0.046。
除了在会计账目数字上,定律的发现者,美国的物理学家Benford,发现各种完全不同的数据,比如人口,死亡率,物理和化学常数,棒球统计表,半
衰期放射性同位素,对数表,物理书中的答案,素数数字中均有这个定律的身影。本福特定律在我们的日常生活中很常见。对于财务数据,有趣的是,数学家们还发
现,在那些假账中,数字5和6居然是最常见的打头数字,而不是符合定律的数字1。如果审核账本的审计人员掌握了“本福特定律”,伪造者们要通过审计就会相
当的困难。Benford定律因此也被誉为“假账克星”。
该定理甚至还可以用于发现选举投票中的欺诈行为。选举投票的票数数据也符合这个定律,如果有人修改票数量,就会漏出蛛丝马迹来。研究人员依据这一定
律发现了2004年美国总统选举中佛罗里达州的投票欺诈行为,2004年委内瑞拉的投票欺诈和2006年墨西哥投票欺诈。近期的伊朗的大选可谓轰轰隆隆,
颇引人注目,内贾德在胜出之后却引来一片质疑,有科学家就尝试用Benford定律去发现是否存在投票欺诈行为(链接
)。
=====
本题要求你验证Benford定律,对给定的一段文本,分别算出其中以每个数字1-9打头的数据的比例并输出。
输入:
数据文件(filesize.txt
,
某文件存储设备上各种文件的尺寸),里面包含很多整数数据,每个数据占一行。
输出:
数字1-9打头的数据所占的比例。为了便于自动检查结果。请使用格式化输出,格式化字符串为
"%d: %6.1f%%\n"
其中第一个参数为数字1-9,第二个参数为对应的百分比。
程序很简单,不写注释...
import java.io.*;
public class TurnCoin {
public static void print(int[] str,int num){
for(int i=0;i<str.length;i++){
int t = str[i]/num;
System.out.println(t);
}
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new FileReader("src/filesize.txt"));
String s = br.readLine();
int num = 0;
int[] baifenbi = new int[9];
while((s=br.readLine())!=null){
num ++;
switch (s.charAt(0)) {
case '1':
baifenbi[0] ++;
break;
case '2':
baifenbi[1] ++;
break;
case '3':
baifenbi[2] ++;
break;
case '4':
baifenbi[3] ++;
break;
case '5':
baifenbi[4] ++;
break;
case '6':
baifenbi[5] ++;
break;
case '7':
baifenbi[6] ++;
break;
case '8':
baifenbi[7] ++;
break;
case '9':
baifenbi[8] ++;
break;
default:
break;
}
}
print(baifenbi,num);
}
}
分享到:
相关推荐
这个库专门用于实现贝弗兰德定律(Benford's Law),也称为第一数字定律,这是一个统计规律,描述了在许多自然和人为产生的数据集中,小数字作为首位数字出现的概率。 贝弗兰德定律指出,在各种数据集的第一位数字...
docker run --name benford-visualizer -d -p 8080:80 benford-visualizer 执照 MIT许可证(MIT) 版权所有(c)2021 Davide Pataracchia 特此免费授予获得此软件和相关文档文件(“软件”)副
Python库“benfords_law-1.0.0b1-py3-none-any.whl”是一个用于在Python中实现本福德定律(Benford's Law)的工具。本福德定律,也称为第一数字定律,是一种统计现象,指出在许多自然和人为产生的数据集中,较小的...
**本福德定律(Benford's Law)项目** 本福德定律,又称为首位数字定律,是统计学中的一个有趣现象,指出在许多自然和社会经济数据中,数字1作为首位数字出现的概率最高,其次是2,以此类推,直到9。这个规律在诸如...
本福特定律(Benford's Law)是一种描述数字在自然界和人类社会中的分布规律的统计学现象。根据这一定律,在许多真实世界的数据集中,数字1作为数据首位数字出现的概率约为30.1%,而随着数字的增加,这一概率逐渐...
使用可能的机器人进行轮廓分析有什么方法可以知道外围设备之后是否有未来的灭虫者?...本福德[本福德定律]( https://en.wikipedia.org/wiki/Benford's_law),也称为“第一位数字定律”或“重要数字现象”,是
Benford-s-Law_python_code 一个Python程序,该程序加载数值数据,记录第一位数字的出现频率,并使用卡方平方优度检验将它们与本福德定律进行比较,并以表格和图形形式进行比较。 一个Python程序,该程序加载数值...
此函数生成符合本福德定律的伪随机数数组。 本福德定律是指来自自然现实生活来源(例如城市人口和山脉高度)的数值数据集中第一位数字的频率。 根据该定律,1 在大约 30% 的时间是第一位,而 9 仅在大约 5% 的数据集...
本福德定律适用于COVID-19报告查看来自世界各地的COVID-19案例报告,以了解每日阳性案例的数量与本福德定律的吻合程度。 拟合度越高,数据越准确。什么是本福德定律? 代表现实事件的数字遵循一定的规律性。 具体来...
本福德笔记本 Jupyter Notebook展示了本福德定律的分配 这是我第一次使用Jupyter / iPython Notebook,并且首次尝试发布到github。 拉请求,指针,建议和笔记欢迎!
更多参考这个维基百科页面: https : //en.wikipedia.org/wiki/Benford's_law 这本 Wiley 书: http : //eu.wiley.com/WileyCDA/WileyTitle/productCd-1118152859.html (M Nigrini 和 JT Wells,本福德定律:法务...
Sars-CoV-2 | 本福德研究(COV-BNF) COV-BNF是一个信息网站,使用来自全球多个国家卫生部的公共数据通过本福德法(Benford Law)分析可用于识别抑制人口实际死亡或死亡人数的国家的索引具有子通知的国家/地区。...
本篇文章主要探讨了金融报表错误检测的新方法,基于Benford's Law(本福德定律)的分布特性。Benford's Law指出,在一个实际数据集中,数字的第一个位出现的频率会随着数字的增大而递减。研究者利用这一规律来识别...
Chapter 34 Explaining Benford's Law.PDF
本福德定律是一种用于探测数据集的数字分析方法。 它基于数据值的第一个有效数字的数字“1”到“9”的出现频率。 通常使用卡方或类似的频率测试。 提出了一种对数据进行数字分析以符合本福德定律的常用统计方法的...
此外,使用本福德定律散度度量,为分离目的,研究了光学获取的指纹,合成生成的指纹和非接触获取的指纹。 本福德定律在文献中已显示出在检测自然图像篡改方面非常有效。 本文提出了利用支持向量机的本福德定律特征...
本文通过根据Benford定律分析与预期频率分布的符合性,研究了2005年至2019年期间Wirecard财务数字的数字结构。 在这种背景下,本福德定律代表了法医数据分析工具。 通过对该主题的文献综述,获得了定量经验最佳实践...
国外大牛的DSP教程 The Scientist and Engineer's Guide to Digital Signal Processing Table of contents 1: The Breadth and Depth of DSP 2: Statistics, Probability and Noise ...34: Explaining Benford's Law
这个工具运用了本福德定律(Benford's Law),这是一种统计学上的有趣现象,指出在许多自然数据集中,小数字作为首位数字出现的概率更高。在图像处理领域,这种定律可能有助于识别图像的某些特征或验证数据的自然性...