统计学基础——中心极限定理

什么是中心极限定理(Central Limit Theorem)

 

中心极限定理指的是给定一个任意分布的总体。我每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 然后把这 m 组抽样分别求出平均值。 这些平均值的分布接近正态分布。

注:任务分布的含义是即使是从偏态总体中随机抽样,当n足够大时(如n>30),样本均值也近似正态分布。 

如以下实验:

非正态分布总体样本均数抽样分布

 图  (a)  是正偏峰分布原始数据对应的直方图,用计算机随机抽取样本量分别为5,  10,  30和50的样本各1000份,计算样本均数并绘制4个直方图。

 

当n足够大的时候,样本均值趋于正态分布。 

案例:

现在我们要统计全国的人的体重,看看我国平均体重是多少。当然,我们把全国所有人的体重都调查一遍是不现实的。所以我们打算一共调查1000组,每组50个人。 然后,我们求出第一组的体重平均值、第二组的体重平均值,一直到最后一组的体重平均值。中心极限定理说:这些平均值是呈现正态分布的。并且,随着组数的增加,效果会越好。 最后,当我们再把1000组算出来的平均值加起来取个平均值,这个平均值会接近全国平均体重。

其中要注意的几点:

      1、总体本身的分布不要求正态分布

上面的例子中,人的体重是正态分布的。但如果我们的例子是掷一个骰子(平均分布),最后每组的平均值也会组成一个正态分布。(神奇!)

      2、样本每组要足够大,但也不需要太大

取样本的时候,一般认为,每组大于等于30个,即可让中心极限定理发挥作用。

用python来展示中心极限定理

第一步, 生成数据

假设我们现在观测一个人掷骰子。这个骰子是公平的,也就是说掷出1~6的概率都是相同的:1/6。他掷了一万次。我们用python来模拟投掷的结果:

import numpy as np
import pandas as pd

random_data=np.random.randint(1,7,10000)
random_data.mean()   #均值
random_data.std()  #标准差

生成出来的平均值:3.4927 (每次重新生成都会略有不同)
生成出来的标准差:1.7079

平均值接近3.5很好理解。 因为每次掷出来的结果是1、2、3、4、5、6。 每个结果的概率是1/6。所以加权平均值就是3.5。

第二步,画出来看看

我们把生成的数据用直方图画出来直观地感受一下:

from  matplotlib import pyplot as plt
import collections
data_count2=collections.Counter(random_data)#分组聚合
plt.bar(data_count.keys(),data_count.values())

Image 01

可以看到1~6分布都比较平均,不错。

第三步,抽一组抽样来试试

我们接下来随便先拿一组抽样,手动算一下。例如我们先从生成的数据中随机抽取10个数字:

sample=[]
for i in range(10):
    sample.append(random_data[int(len(random_data)*(np.random.random()))])
np.mean(sample)
np.std(sample)

这10个数字的结果是: [3, 4, 3, 6, 1, 6, 6, 3, 4, 4]
平均值:4.0
标准差:1.54

可以看到,我们只抽10个的时候,样本的平均值(4.0)会距离总体的平均值(3.5)有所偏差。
有时候我们运气不好,抽出来的数字可能偏差很大,比如抽出来10个数字都是6。那平均值就是6了。 为什么会出现都是6的情况呢?因为我比较6…哦不是,因为这就是随机的魅力呀!

不过不要担心,接下去就是见证奇迹的时刻。

第四步,见证奇迹的时刻

我们让中心极限定理发挥作用。现在我们抽取1000,每组50个。
我们把每组的平均值都算出来。

samples_mean=[]
samples_std=[]
for i in range(1000):
    sample_=[]
    for j in range(50):
        sample_.append(random_data[int(len(random_data)*(np.random.random()))])
    samples_mean.append(np.mean(sample_))
    samples_std.append(np.std(sample_))

这一共1000个平均值大概是这样的:[3.44, 3.42, 3.22, 3.2, 2.94 … 4.08, 3.74] (我肯定不会把1000个数字都写完,又没有稿费可以骗)

然后,我们把这1000个数字用直方图画出来:

plt.hist(samples_mean)

Image 02

完美地形成了正态分布。

结果打印如下:

平均值:3.48494
标准差:0.23506

实际应用

在实际生活当中,我们不能知道我们想要研究的对象的平均值,标准差之类的统计参数。中心极限定理在理论上保证了我们可以用只抽样一部分的方法,达到推测研究对象统计参数的目的。
在上文的例子中,掷骰子这一行为的理论平均值3.5是我们通过数学定理计算出来的。而我们在实际模拟中,计算出来的样本平均值的平均值(3.48494)确实已经和理论值非常接近了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xia ge tou lia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值