本福特定律


一堆从实际生活得出的数据中,以1为数字首位出现的概率约为总数的三成,而并不是我们靠直觉得出的 1/9 ,这就是本福特定律。

比方说,我们从1开始计数,1,2,3,4,5 …一直这么数下去,当我们数累了不数了,比方说我们数到19就不数了,那么显然以1为数字首位的数出现的概率要远远大于其它数,如果我们数到29不数了,那么显然以1或者以2作为数字首位的概率要远远大于其它数。意思就是,数字次序越靠后的,以它为首位出现的概率就越低。

我们可以用python作图来验证该定律:

import matplotlib.pyplot as plt
 
def firstDigital(x):
    while x >= 10:
        x //= 10
    return x
 
if __name__ == "__main__":
    n = 1
    x = [1,2,3,4,5,6,7,8,9]
    frequency = [0] * 9  #记录第一位数字中1-9数字出现次数
    for i in range(1,100):
        n *= i
        m = firstDigital(n) - 1
        frequency[m] += 1
    plt.plot(x,frequency,"r-",linewidth=2)
    plt.plot(x,frequency, "go", markersize=8)
    for i in range(1,10):
        plt.text(i,frequency[i-1]+0.3,frequency[i-1],ha = 'center',va = 'bottom',fontsize=12)
    plt.grid(True)
    plt.show()
    

在这里插入图片描述
上图统计的是从1到100!中以1到9为首位出现的概率。

在这里插入图片描述
上图统计的是从1到1000!中以1到9为首位出现的概率。

本福特定律多被用来验证数据是否有造假,但需要注意的是,本福特定律只对生活实际得到的数据,或者是顺序变化的数据起作用,倘若这些数据稍微被其它的随机函数所干扰,那么本福特定律将不再适用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值