免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
ベンフォードの法則
知られているベンフォードの法則実生活に由来するデータのパイルを示す、番号の最初の数字として1が発生する確率が全体の約3%である、直感のほぼ3倍の期待値は1/9に来ます。推進、より多くの、それはいくつかの数字が表示されるに至っていること確率が低いです。データ詐欺の様々ながあるかどうかをチェックするために使用することができます。
ところで、とmatplotlib.pyplotこのライブラリ、1000から1の階乗に以下のデータは、例えば、暴力は何を確認します。
コードは以下の通りであります:
import matplotlib.pyplot as plt
import math
def firstDigital(x):
while x >= 10:
x //= 10
return x
if __name__ == "__main__":
n = 1
frequency = [0] * 9 #记录第一位数字中1-9数字出现次数
for i in range(1,1000):
n *= i
m = firstDigital(n) - 1
frequency[m] += 1
print(frequency)
plt.plot(frequency,"r-",linewidth=2)
plt.plot(frequency, "go", markersize=8)
plt.grid(True)
plt.show()
注:詳細なデータを次のように:[293、176、124、101、69、87、51、51、47]
試験の確率分布の下でディジタル先行の多数:
最初の桁 | 確率 |
---|---|
1 | 0.301 |
2 | 0.176 |
3 | 0.125 |
4 | 0.097 |
5 | 0.079 |
6 | 0.067 |
7 | 0.058 |
8 | 0.051 |
9 | 0.046 |