本福特定律


一堆從實際生活得出的數據中,以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爲首位出現的概率。

本福特定律多被用來驗證數據是否有造假,但需要注意的是,本福特定律只對生活實際得到的數據,或者是順序變化的數據起作用,倘若這些數據稍微被其它的隨機函數所幹擾,那麼本福特定律將不再適用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章