1. 中心极限定理介绍
中心极限定理指的是将独立且同分布的随机变量相加后,其和的分布会接近于正态分布。这条定理被广泛应用于统计学、概率论等领域。下面我们会通过一个 Python 程序来验证中心极限定理的正确性。
2. 程序实现
2.1 导入相关库
为了实现中心极限定理的验证,我们需要导入 Python 的 random 和 matplotlib 库。其中,random 库会用于模拟随机抽样,而 matplotlib 库则用于绘制直方图。
import random
import matplotlib.pyplot as plt
2.2 模拟随机抽样
根据中心极限定理,我们需要将同分布的随机变量相加。在这里,我们可以通过 random 库中的随机数生成函数来模拟这个过程。
我们首先需要确定随机变量的分布。这里我们选择平均值为 0,方差为 1 的正态分布。为了方便计算,我们可以选择生成标准正态分布的随机数,然后再将其乘以方差,加上平均数。
sample_size = 10000 # 样本数量
mean = 0 # 平均数
std = 1 # 标准差
data = [sum([random.gauss(mean, std) for i in range(sample_size)]) / sample_size
for j in range(sample_size)]
以上代码定义了样本数量为 10000,随机变量为标准正态分布,最后将每个随机变量相加取平均数。执行以上代码后,我们将得到一个包含 10000 个元素的列表,每个元素都是样本均值。
2.3 绘制直方图
接下来,我们可以使用 matplotlib 库来绘制样本均值的直方图。根据中心极限定理,当样本数量足够大时,直方图应该呈现出正态分布的形态。
# 设置图形大小
fig, ax = plt.subplots(figsize=(10, 6))
# 绘制直方图
ax.hist(data, bins=50, density=True, alpha=0.6, color='g')
# 绘制正态分布曲线
x = list(range(-5, 5, 100))
y = [1/(std * (2 * math.pi) ** 0.5) * math.exp(-(i - mean) ** 2/(2 * std ** 2)) for i in x]
ax.plot(x, y, color='r', linewidth=2)
# 设置坐标轴标签和标题
ax.set_xlabel('Sample Means')
ax.set_ylabel('Probabilities')
ax.set_title('Central Limit Theorem')
# 显示图形
plt.show()
以上代码绘制了直方图,并在图中画出了正态分布的曲线。执行以上代码后,我们可以得到以下图形:
3. 结论
从上图我们可以看出,当样本数量足够大时,样本均值的分布确实呈现出正态分布的形态,这验证了中心极限定理的正确性。
继续观察上图,我们可以发现,当样本数量增加时,样本均值的分布会越来越接近正态分布。这也说明,当样本数量足够大时,中心极限定理的效果会越来越显著。
除此之外,我们还可以通过调整随机变量的分布、样本数量、温度等参数,来分析中心极限定理的影响因素。比如,当温度=0.1 时,生成的图形如下:
从上图中可以看出,当温度较低时,样本均值的分布会更加集中,正态分布的形态也更加明显。这是因为温度参数控制了随机抽样的随机程度,当温度越低时,样本均值之间的差异会越来越小,最终呈现出正态分布的形态。
4. 总结
中心极限定理是概率论和统计学中非常重要的一条定理,其正确性已经被证明。本文通过一个简单的 Python 程序来验证中心极限定理,通过分析不同参数的影响,进一步加深了对该定理的认识。