欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

中心极限定理

程序员文章站 2022-05-25 10:32:26
...

中心极限定理

中心极限定理指的是给定一个任意分布的总体。我每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 然后把这 m 组抽样分别求出平均值。 这些平均值的分布接近正态分布。

实验验证

写了代码 做实验 发现真的是这样。。
这里简单的用了均匀分布

import numpy as np
import matplotlib.pyplot as plt

random_data = np.random.randint(1,7,10000)
print random_data.mean()
print random_data.std()
number = [0,0,0,0,0,0]
for x in random_data:
    number[x-1] += 1
Y = np.array(number)
X = np.array([1,2,3,4,5,6])
plt.figure()
plt.bar(X,Y)

#samples = []
samples_mean = []
#samples_std = []
for i in range(0,1000):
    sample = []
    for j in range(0,50):
        sample.append(random_data[int(np.random.random() * len(random_data))])
    sample_np = np.array(sample)
    samples_mean.append(sample_np.mean())
    #samples_std.append(sample_np.std())
    #samples.append(sample_np)  
samples_mean_np = np.array(samples_mean)
#samples_std_np = np.array(samples_std)

plt.figure()
number2 = [0,0,0,0,0,0,0]
for x in samples_mean:
    if x >= 2.8 and x < 3.0:
        number2[0] += 1
    if x >= 3.0 and x < 3.2:
        number2[1] += 1
    if x >= 3.2 and x < 3.4:
        number2[2] += 1
    if x >= 3.4 and x < 3.6:
        number2[3] += 1
    if x >= 3.6 and x < 3.8:
        number2[4] += 1
    if x >= 3.8 and x < 4.0:
        number2[5] += 1
    if x >= 4.0 and x < 4.2:
        number2[6] += 1


Y2 = np.array(number2)
X2 = np.arange(1,8,1)
plt.bar(X2,Y2)
plt.xticks(X2, ('2.9', '3.1', '3.3', '3.5', '3.7','3.9','4.1'))
plt.show()

实验结果

中心极限定理

参考:
https://zhuanlan.zhihu.com/p/25241653

相关标签: 中心极限定理