Benford’s Law

Benford’s Law

我们平常所遇到的各种非零的数字之中(例如各种物理、数学常数),首位非零数字是1、2、3……9的概率都相同么?感觉上似乎如此,但实际上并不是这样,采用r进制时,首位数字为k(0<k<r)概率差不多是log_r(k+1) - log_r(k) = log_r \frac{k+1}{k}。这就是所谓Benford’s Law。

Wikipedia上有这个法则的若干种解释:

<Benford’s Law>

一个比较直观的解释是:当我们改换单位制时,首位数字的分布应该不变,这就是所谓scale invariance。如何分布才能保证这一点呢?由于我们考虑的是非零的数字,那么总可以将数字写成[1,10)的有效数字部分x乘以10的某个指数(科学计数法)。扔掉10的指数,对有效数字x取以10为底的对数,就得到[0,1)区间分布的一个数y=log_{10}x,假设y的分布密度函数为f(Y)。如果我们改变单位制,就相当于将x乘上一个常数c,如果乘积cx大于等于10,就得再次约化到[1,10)区间,这相当于把y循环右移了log_{10}c,分布函数f(Y)在这种循环右移的情况下应该保持不变,由于循环右移的偏移量是任意的,所以概率密度f(Y)必须是[0,1)上均匀分布的。有了这个分布,我们就可以估计首位数字是k的概率了。x的首位数字是k就要求x落在区间[k,k+1),也就是y落在[ log_{10}(k),log_{10}(k+1) ),不失一般性,用r进制代替10进制,首位数字是k的概率就是log_r(k+1) - log_r(k) = log_r \frac{k+1}{k}