参考资料:用python动手学统计学
对于任意总体分布,样本容量越大,随机变量的和的分布越接近正态分布,这就是中心极限定理定理。
以掷硬币为例讲解。模拟投硬币1万次中,正面朝上的次数的分布。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 设置样本容量和试验次数
n_size=10000
n_trial=50000
# 正面为1,背面为0
coin=np.array([0,1])
# 创建数组用于存放样本中正面朝上的次数
count_coin=np.zeros(n_trial)
# 投掷n_size次硬币,此试验进行n_trial次
np.random.seed(1) # 设置随机种子,用于复现结果
for i in range(0,n_trial):
count_coin[i]=np.sum(
np.random.choice(coin,size=n_size,replace=True)
)
# 绘制直方图
sns.set()
sns.histplot(count_coin,stat='density',bins='rice',kde=True)
由直方图的分布可以看出:其左右基本对称,形状也和正态分布相似,这就是中心极限定理达的直观表现。
在计算样本均值时,要先计算样本值的和,所以我们可以假设样本均值的分布接近正态分布。
注意:中心极限定理中服从正态分布的是样本值的和(或均值)。若总体分布为二项分布,则样本荣来给你无穷大的样本也依旧是二项分布。中心极限定理一般只用于寻找均值等特定的值。当总体分布不服从正态分布时,应到应用广义线性模型。