中心极限定理 central limit theorem

4 篇文章 0 订阅

中心极限定理 central limit theorem

中心极限定理是很多统计的基础,解释自然界中大多数数据属于正态分布,这使得正态分布在统计学中的应用非常广泛。「为什么中心极限定理能够解释数据属于正态分布,接下来我们就以不同类型的原始数据进行证明。」

even if you’re not normal,the average is normal

中心极限定理指的是给定一个任意分布的总体(除了无法计算均值的分布以外)。每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。然后把这 m 组抽样分别求出平均值。这些平均值的分布接近(符合)正态分布。(除了柯西分布(Cauchy distribution)没有样本均数外,几乎所有的其他分布都能计算样本均数。)

运用举例
当我们在进行实践的时候,我们往往不能知道样本数据来源于哪种分布。「基于中心极限定理,不管样本数据来源于哪种分布,样本均值们均属于正态分布,故我们不用考虑数据来源的分布」。

利用样本均值们属于正态分布这一性质,计算置信区间(confidence intervals)。t-test可以用于检验两样本的均值是否具有统计差异;ANOVA用于检验三样本的均值是否具有统计差异;或者其他使用样本均值的检验

实际数据 证明1——原始数据为均匀分布

例如在「均匀分布(在相同长度间隔的分布概率是等可能的)」 中随机抽样20个样本,接着计算20个样本的均值。
在这里插入图片描述
重复以上步骤20次、100次,将20个、100个均值结果绘制成直方图。随着重复次数的增多,越来越多的均值分布呈现出正态分布的趋势。「大量随机试验均值的分布为正态分布,这就是中心极限定理。」 「即使取样的原始总体属于均匀分布,但来自均匀分布的均值属于正态分布。」
在这里插入图片描述

实际数据证明2——原始数据为指数分布

在这里插入图片描述

R语言代码

数据集准备
# rm(list = ls())
library(tidyverse)
library(ggplot2)
df  <-  data.frame(x = 1:100,
               y1 = dnorm(1:100,50,20),
               y2 = dunif(1:100,1,100),
               y3 = dexp(1:100,0.06)) %>% as_tibble()
set.seed(1004)
head(df)
## # A tibble: 6 x 4
##       x       y1     y2     y3
##   <int>    <dbl>  <dbl>  <dbl>
## 1     1 0.000992 0.0101 0.0565
## 2     2 0.00112  0.0101 0.0532
## 3     3 0.00126  0.0101 0.0501
## 4     4 0.00142  0.0101 0.0472
## 5     5 0.00159  0.0101 0.0444
## 6     6 0.00177  0.0101 0.0419
rn1  <-  rnorm(100,50,20)
set.seed(1004)
rn2  <-  runif(100,1,100)
set.seed(1004)
rn3  <-  rexp(100,0.06)
rn <- data.frame(x = 1:100,
                rn1 = rn1,
                rn2 = rn2,
                rn3 = rn3)
head(df)
## # A tibble: 6 x 4
##       x       y1     y2     y3
##   <int>    <dbl>  <dbl>  <dbl>
## 1     1 0.000992 0.0101 0.0565
## 2     2 0.00112  0.0101 0.0532
## 3     3 0.00126  0.0101 0.0501
## 4     4 0.00142  0.0101 0.0472
## 5     5 0.00159  0.0101 0.0444
## 6     6 0.00177  0.0101 0.0419
分布表图展示
#1.正态分布
(p1  <-  ggplot(df,aes(x = x,y = y1))+
  geom_line()+theme_classic())
#2.均匀分布
(p2  <-  ggplot(df,aes(x = x,y = y2))+
  geom_line()+theme_classic())
#3.指数分布
(p3  <-  ggplot(df,aes(x = x,y = y3))+
  geom_line()+theme_classic())
p1+p2+p3
三种分布分别证明

第一种-正态分布数据的均值分布

#画均值竖线
(a1  <-  p1)
n  <-  c()
# n <- vector()
?sample
# sample(1:8,8,replace = F)
# sample(seq(1,8),8,replace = F)
for(i in 1:100){
  n[[i]]  <-  mean(sample(rn$rn1,50,replace = F))
  a1  <-  a1 + geom_vline(xintercept = n[[i]],color = "red",size = 0.3,alpha = 0.3)
}
a1

#画直方图
dat = data.frame(n = n)
b1 = ggplot(dat,aes(x = n,y = ..density..))+
  geom_histogram(color = "#D0505D",
                 fill = "#D0505D",
                 alpha = 0.4,binwidth = 1)+
  theme_classic()+labs(x="n (mean value)") +
  scale_y_continuous(expand = c(0,0))
b1

#加正态曲线
# 根据上述的直方图找到 类似直方图的 均值 和 方差
?dnorm
y = data.frame(
  x = seq(40,62,0.2),
  y1 = dnorm(seq(40,62,0.2),50,2))
(b1 = b1 + geom_line(aes(x = x,y = y1),data = y))
a1 + b1

第二种-均匀分布数据的均值分布

#画均值竖线
a2 = p2
n = c()
for(i in 1:100){
  n[[i]] = mean(sample(rn$rn2,50))
  a2 = a2 + geom_vline(xintercept = n[[i]],color = "red",size = 0.3,alpha = 0.3)
}

#画直方图
dat = data.frame(n = n)
b2 = ggplot(dat,aes(x = n,y = ..density..))+
  geom_histogram(color = "#D0505D",
                 fill = "#D0505D",
                 alpha = 0.4,binwidth = 1)+
  theme_classic()+labs(x="n (mean value)") +
  scale_y_continuous(expand = c(0,0))
b2

#加正态曲线
# 根据上述的直方图找到 类似直方图的 均值 和 方差
y = data.frame(
  x = 40:62,
  y1 = dnorm(40:62,50,3))
b2 = b2 + geom_line(aes(x = x,y = y1),data = y)
a2 + b2

第三种-指数分布数据的均值分布

#画均值竖线
a3 = p3
n = c()
for(i in 1:100){
  n[[i]] = mean(sample(rn$rn3,50))
  a3 = a3 + geom_vline(xintercept = n[[i]],color = "red",size = 0.3,alpha = 0.3)
}

#画直方图
dat = data.frame(n = n)
b3 = ggplot(dat,aes(x = n,y = ..density..))+
  geom_histogram(color = "#D0505D",
                 fill = "#D0505D",
                 alpha = 0.4,binwidth = 1)+
  theme_classic()+labs(x="n (mean value)") +
  scale_y_continuous(expand = c(0,0))
b3

#加正态曲线
# 根据上述的直方图找到 类似直方图的 均值 和 方差
y = data.frame(
  x = seq(11,22,0.1),
  y1 = dnorm(seq(11,22,0.1),16.5,1.5))
b3 = b3 + geom_line(aes(x = x,y = y1),data = y)
a3 + b3

中心极限定理指的是给定一个任意分布的总体(除了无法计算均值的分布以外)。每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。然后把这 m 组抽样分别求出平均值。这些平均值的分布接近(符合)正态分布。

# 总结
library(patchwork)
(p1+p2+p3)/(a1+a2+a3)/(b1+b2+b3)

参考链接(主要从以下2个链接搬运)
正态分布与中心极限定理
即使你不normal,平均值也normal–神奇的中心极限定理

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值