Python实现大数定律

编写一个自定义函数,来验证如下定律,其中随机变量Xi都是来自服从均匀分布U(3,15)的总体,要求自定义函数中要包含两个参数:n(实验总次数)和e(任意正数),最终输出样本均值与总体均值的差的绝对值大于等于e的次数,并调用自定义函数验证:随着n增大,最终输出值会变小

img

你好同学,这里给出代码,并加了一些注释,希望可以给你一些参考:

import random
def fun(n,e):
    count = 0
    for i in range(100):
        s = 0.
        for j in range(n):
            s+=random.uniform(3, 15)
        if(abs(s/n-9)>e): # 9为中值,如果大于e就计入count
            count+=1
    return count
e = 2e-2; #给定一个小的数,百分之二
print(fun(100, e))#把每一次的次数都显示出来
print(fun(1000, e))
print(fun(10000, e))
print(fun(100000, e))
print(fun(200000, e))

运行结果(因为生成的数是随机的,结果也不固定,但趋势会非常一致):

95
84
59
8
1

可见随着n的增大,最终输出样本均值与总体均值的差的绝对值大于等于e的次数越来越小!
有帮助还请题主给个采纳支持答主答题哦