本福德定律

2010年10月26日

本福德定律西蒙·纽科姆(Simon Newcomb)于1881年发现,弗兰克·本福德(Frank Benford)于1938年重新发现。该理论指出,对于许多以比例-变量方式出现的数字集,第一个数字是对数分布的,第一个数元1大约占30%的时间,逐位递减,直到第一个数字为9,占5%的时间。以数学方式表示,前导数字d日∈ {1 …b条-1} 对于以基数表示的数字b条将有可能发生P(P)d日=对数b条(1 +1/d日). 因此,以10为基数,第一位数字是数字1、2、…9的概率为30.1%、17.6%、12.5%、9.7%、7.9%、6.7%、5.8%、5.1%和4.6%。

本福德定律是反直觉的,但在自然界中经常出现。它也经常发生用于审计列出过去一年中簿记员写的支票金额;如果超过5%是以数字8或9开头的,那么簿记员很可能是盗用公款的人。更重要的是,一年前有争议的伊朗选举的选区结果显示了异常的第一位数计数,建议投票舞弊.

最近,Shriram Krishnamurthy发布了编程挑战在Racket邮件列表上,要求最小/最紧/最干净/最好的代码来计算数字列表的第一位数百分比;他还要求读者将该函数应用于逗号分隔的值文件中的数据。他没有透露消息来源,但提到他对米塞索塔湖的沿海地区(以英亩为单位)感兴趣;示例数据显示在下一页.

您的第一个任务是编写一个函数,计算数字列表的第一位数百分比。第二个任务是计算下一页数据的第一位数百分比。完成后,欢迎您阅读运行建议的解决方案,或在下面的评论中发布自己的解决方案或讨论练习。

页码:1 2