Python与概率
实例1:统计首位数字出现的概率
说明:给定某正整数N,统计从1到N的所有数所对 应的阶乘中,首位数字出现1的概率。 进而,可以计算首位数字是2的概率,是3的 概率,从而得到一条“九点分布”。
代码:
import matplotlib.pyplot as plt
def first_num(x):
while(x>=10):
x=x//10
return x
def main():
n = 1
frequency = [0]*9
for i in range(1,2000): #2000!
n*=i
m = first_num(n)-1
frequency[m] += 1
print(frequency)
plt.plot(frequency,'r-',lw=2)
plt.plot(frequency,'go',markersize=8)
plt.grid(True)
plt.show()
if __name__ == '__main__':
main()
结果:
[591, 335, 249, 204, 161, 156, 107, 102, 94]
结论:本福特定律
本福特定律(本福德法则, Frank Benford),又称第一数字定律,是 指在实际生活得出的一组数据中, 以1为首位数字出现的概率约为总 数的三成;是直观想象1/9的三倍。
概率公式
分布
两点分布Bernoulli distribution
两点分布Bernoulli distribution
泊松分布Poisson distribution
在实际事例中,当一个随机事件,以固定的平均瞬时速率λ(或称 密度)随机且独立地出现时,那么这个事件在单位时间(面积或体积) 内出现的次数或个数就近似地服从泊松分布P(λ)。
某一服务设施在一定时间内到达的人数
电话交换机接到呼叫的次数 汽车站台的候客人数 机器出现的故障数
自然灾害发生的次数
一块产品上的缺陷数
显微镜下单位分区内的细菌分布数
某放射性物质单位时间发射出的粒子数