首页 > 编程知识 正文

Python下的中心极限定理

时间:2023-11-21 22:03:30 阅读:293308 作者:LDTH

中心极限定理是统计学中最重要的定理之一,它告诉我们在一定条件下,独立随机变量的均值的分布趋近于正态分布。

在Python中,我们可以使用一些常用的库如numpy和matplotlib来演示中心极限定理的效果。

一、随机变量的均值分布

首先,我们可以生成一个均匀分布的随机变量样本,样本的大小可以根据实际需要进行调整。


import numpy as np
import matplotlib.pyplot as plt

# 生成均匀分布的随机变量
rv = np.random.uniform(-1, 1, size=1000)
# 绘制直方图
plt.hist(rv, bins=50)
plt.xlabel('Random Variable')
plt.ylabel('Frequency')
plt.title('Uniform Distribution')
plt.show()

运行上述代码,可以得到一个均匀分布的随机变量样本的直方图。

接下来,我们可以生成多个随机变量样本,并计算它们的均值,然后绘制所有均值的分布。


# 生成多个随机变量样本并计算均值
means = []
for i in range(1000):
    rv = np.random.uniform(-1, 1, size=1000)
    mean = np.mean(rv)
    means.append(mean)
# 绘制均值分布的直方图
plt.hist(means, bins=50)
plt.xlabel('Mean of Random Variables')
plt.ylabel('Frequency')
plt.title('Distribution of Means')
plt.show()

运行上述代码,可以得到多个随机变量均值的分布直方图。

二、抽样分布的收敛性

接下来,我们可以证明均值的分布趋近于正态分布。具体而言,我们可以生成多个随机变量样本,并随机选择其中若干个样本进行均值计算,然后绘制所有均值的分布。随着样本数量的增加,所绘制的均值分布将更接近于正态分布。


# 生成多个随机变量样本并选择若干个样本计算均值
means = []
for i in range(1, 101):
    # 生成随机变量样本
    rv = np.random.uniform(-1, 1, size=1000)
    # 随机选择i个样本计算均值
    sample = np.random.choice(rv, size=i)
    mean = np.mean(sample)
    means.append(mean)
# 绘制均值分布的直方图
plt.hist(means, bins=50)
plt.xlabel('Mean of Random Variables')
plt.ylabel('Frequency')
plt.title('Distribution of Means with Sample Size')
plt.show()

运行上述代码,并调整循环中选择的样本数量,可以观察到所绘制的均值分布逐渐趋近于正态分布。

三、中心极限定理的应用

中心极限定理在统计学中有广泛的应用,比如假设我们有一个包含1000个学生的班级,我们想要估计全校学生成绩的平均分。我们可以随机选择100个学生的成绩进行均值计算,然后根据中心极限定理,我们可以认为100个学生的成绩均值的分布趋近于正态分布,于是我们可以估计全校学生成绩的平均分和标准差。


# 生成随机变量样本
rv = np.random.normal(70, 10, size=1000)
# 随机选择100个样本计算均值和标准差
sample = np.random.choice(rv, size=100)
mean = np.mean(sample)
std = np.std(sample, ddof=1)
# 打印结果
print('Mean of 100 students: {:.2f}'.format(mean))
print('Std of 100 students: {:.2f}'.format(std))
print('Estimated mean of all students: {:.2f}'.format(mean))
print('Estimated std of all students: {:.2f}'.format(std / np.sqrt(100)))

运行上述代码,可以得到选择100个样本计算出的均值和标准差,以及估计出的全校学生成绩的平均分和标准差。

四、结语

中心极限定理是一项非常重要的统计学理论,它为我们理解随机现象提供了一个非常重要的工具。在Python中,我们可以使用各种常用的库来实现中心极限定理的演示和应用。通过本文的介绍,希望读者可以更好地理解中心极限定理,并在实际问题中加以应用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。