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

统计学——中心极限定理(R语言)

程序员文章站 2024-03-18 09:59:46
...

中心极限定理用通俗的话来讲就是,假设有一个服从(μ,σ2)的总体,这个总体的分布可以是任意分布,不用是正态分布,既可以是离散的,也可以是连续的。我们从该分布里随机取n个样本x1,x2,...,xn,然后求这些样本的均值x_mean,这个过程我们重复m次,我们就会得到x_mean_1,x_mean_2,...,x_mean_m,如果n-->∞,这些样本的均值服从N(μ,σ2/n)的正态分布。


举例:我有1000个苹果,它们的重量服从μ=100,σ2=50的分布,每次从中随机的抽取5个苹果称重:

第一次选取的5个苹果的重量为:(89,78,101,22,150),均值x_mean_1=88

第二次。。。。。

。。。。

第m次选取的5个苹果的重量为:(77,90,34,88,140),均值x_mean_m=99.2

那这m次的样本的均值的分布为μ_mean = μ = 100, σ2_mean = σ2 / 5 = 50 / 5 = 10


以下是我们用R语言模拟该过程

library(moments)
options(digits = 3)
options(scipen = 200)

X = rexp(10000, rate=1)# 原始分布,可以随便设置,我设置的是一个指数分布
X_mean = mean(X) # 原始分布的均值
X_var= var(X) # 原始分布的方差



m=10000 # 抽取的次数
par(new=TRUE)
par(mfrow=c(2,3)) 

list_result = list()


for(n in c(5,10,50,100,500,1000)){# 每次从原始分布里随机抽取样本的个数
  
  s=c()
  
  for(j in 1:m){
    sample=sample(X,n)# 从原始分布里随机选取n个样本
    sample_mean = mean(sample)# 求样本的均值
    s[j]=sample_mean
  }
  
  s_mean = mean(s)# 样本均值的均值
  s_var = var(s)# 样本均值的方差
  hist(s,breaks = 50,main = paste('n = ',n,sep=''))
  
  result =c(
    n,
    X_mean,
    s_mean,
    X_var,
    s_var,
    X_var/n,
    skewness(s),# 偏度
    kurtosis(s)) # 峰度
  
  cat(result)
  cat('n')
}

hist(X)
以下是选择不同的n时样本均值的分布图,可以看到随着n的变大,分布图越来越接近正态分布:

统计学——中心极限定理(R语言)

从以下的列表可以看出,随着n的增大,样本均值的均值越来越接近总体的均值,样本均值的分布的偏度越来越小,越符合正态分布。


统计学——中心极限定理(R语言)


例1

题目:你从200,000苹果里挑出36个苹果作为样本,这36个样本的均值是112g,标准差是40g,那么这200,000个苹果的均值在100g124g之间的概率为多少?

分析:这里给出一个样本集的情况,这36个样本(或者n=36的一次样本集采样中的均值是112,这36个样本的σ=40。注意这里给出的是一个样本集的情况,不是多个样本集的sampling distribution of the sample mean。

我们知道,抽样分布的均值等于总体的均值,

从样本的方差,可以估算总本方差:不止大家是否记得还记得无偏差样本方差吗?是除以n-1,而不是n,无偏差样本方差,可以近似为总本差σ2,所以总体200,000个苹果的方差可以认为是样本的方差,标准差为40g进而可得样本均值的方差σ2/n=40*40/36,标准差即为6.67 

这个题目的相当于

统计学——中心极限定理(R语言)

根据上面的公式我们可以认为题目求的是对于一个特定的抽样均值,我们求其在抽样均值的均值12附近的概率。

由于样本均值的分布接近与正态分布,所以我们可以利用z-score来算概率,z-score=12/6.67=1.8,用z-table可得此区间的概率是0.9641,但是注意这是单尾的值,双尾的值为(0.9641-0.5)*2=0.9282

所以200,000个苹果的均值在100g124g之间的概率为92.8%。


例2

题目:成年男性在户外活动平均要喝2L的水,标准差为0.7L,如果50个男性户外活动,准备110L的水,不够喝的概率是多少?

分析:总体服从μ=2,σ=0.7。

题目问的是50个男性喝的水超过110L的概率,也就是说平均一个人喝水超过2.2L的概率,这也就是样本均值。从中心极限定理我们知道,那么样本均值服从μ_m = μ = 2,σ_m = σ/sqrt(50) = 0.099的正态分布。

所以本题也就是求:

统计学——中心极限定理(R语言)

同理我们求z-score = (2.2-2)/0.099 = 2.02,通过查看z-table可以看到概率为:0.9861,所以水不够喝的概率为1.39%


附录:

统计学——中心极限定理(R语言)


相关标签: 中心极限定理