python以均匀分布对中心极限定理可视化
时间: 2023-10-18 16:03:02 浏览: 112
Python数据可视化实现正态分布(高斯分布)
中心极限定理指出,当独立随机变量的样本容量足够大时,它们的平均值将以接近于正态分布的形式聚集在期望值附近。为了可视化中心极限定理,我们可以使用Python以均匀分布进行模拟实验。
首先,我们需要导入必要的库。我们将使用numpy生成均匀分布的随机数,并使用matplotlib绘制直方图。
import numpy as np
import matplotlib.pyplot as plt
接下来,我们设定实验的参数。我们将模拟抛掷骰子的情况,即均匀分布在1到6之间的随机数。我们还需要选择样本容量和实验次数。
num_samples = 1000 # 样本容量
num_experiments = 10000 # 实验次数
然后,我们进行实验。通过循环实验次数,每次生成指定样本容量的随机数,并计算平均值。将每次的平均值保存在一个列表中。
means = [] # 保存每次实验的平均值
for _ in range(num_experiments):
# 生成指定样本容量的随机数
samples = np.random.uniform(low=1, high=7, size=num_samples)
# 计算平均值
mean = np.mean(samples)
# 保存平均值
means.append(mean)
最后,我们绘制直方图来可视化实验结果。直方图将显示平均值的分布情况,并与正态分布进行比较。
# 绘制直方图
plt.hist(means, bins=30, density=True, alpha=0.5, color='blue', edgecolor='black')
# 绘制正态分布曲线
x = np.linspace(1, 6, 100)
y = np.exp(-(x - 3.5)**2 / 1) / np.sqrt(2 * np.pi)
plt.plot(x, y, color='red', linewidth=2)
# 设置图表标题和坐标轴标签
plt.title('Central Limit Theorem Visualization')
plt.xlabel('Sample Means')
plt.ylabel('Density')
# 显示图表
plt.show()
通过这个可视化图表,我们可以看到样本均值的分布形状逐渐趋向于正态分布。这实验证明了中心极限定理的有效性。当样本容量足够大时,均匀分布的随机数的平均值将接近于正态分布。
阅读全文