中心极限定理的理解
中心极限定理的理解
1 背景
统计学上有一个重要的理论,就是中心极限定理,它的定义如下:
下面我们希望直观上来去理解下中心极限定理,以及看看它的应用场景!
2 Python模拟中心极限定理
假设我们现在观测一个人掷骰子。这个骰子是公平的,也就是说掷出1~6的概率都是相同的:1/6。他掷了一万次。我们用python来模拟投掷的结果:
2.1 生成总体数据
import numpy as np
random_data = np.random.randint(1, 7, 10000) # 随机生成1~6之间的数 1万次!
print (random_data.mean()) # 打印平均值
print (random_data.std()) # 打印标准差
3.4912
1.713395039096355
实际平均值就是:
(1+2+3+4+5+6) / 6
3.5
2.2 可视化
import matplotlib.pyplot as plt
plt.hist(random_data)
(array([1689., 0., 1666., 0., 1696., 0., 1631., 0., 1629.,
1689.]),
array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. ]),
<a list of 10 Patch objects>)
2.3 抽一组看看
我们接下来随便先拿一组抽样,手动算一下。例如我们先从生成的数据中随机抽取10个数字:
sample1 = []
for i in range(0, 10):
sample1.append(random_data[int(np.random.random() * len(random_data))])
print (sample1) # 打印出来
[5, 1, 6, 6, 4, 4, 1, 1, 4, 6]
计算平均值:
from numpy import *
mean(sample1)
3.8
结果可能和实际的均值3.5会有一些差异!随机的魅力!
2.4 抽很多组看看
看有没有中心极限定理说的那么神奇!
现在我们抽取1000组,每组50个。
我们把每组的平均值都算出来。
samples = []
samples_mean = []
samples_std = []
for i in range(0, 1000):
sample = []
for j in range(0, 50):
sample.append(random_data[int(np.random.random() * len(random_data))])
sample_np = np.array(sample)
samples_mean.append(sample_np.mean())
samples_std.append(sample_np.std())
samples.append(sample_np)
samples_mean_np = np.array(samples_mean)
samples_std_np = np.array(samples_std)
print (samples_mean_np)
[3.24 3.74 3.88 3.62 3.66 3.56 3.58 3.46 3.54 3.64 3.48 3.24 3.42 3.36
3.5 3.44 3.12 3.1 3.7 3.38 3.66 3.78 3.38 3.26 3.26 3.1 3.26 3.72
3.52 3.86 3.52 3.36 3.68 3.8 3.76 3.6 3.84 4.26 3.48 3.38 2.98 3.02
3.68 3.38 4.14 3.5 3.32 3.48 3.9 3.54 3.38 3.38 3.5 3.42 3.76 3.62
3.68 3.42 3.68 3.26 3.76 3.38 3.26 3.68 3.56 3.14 3.08 3.6 3.76 3.74
3.76 3.68 3.42 3.28 3.08 3.58 3.62 3.26 3.54 3.48 3.66 3.48 3.48 4.12
3.62 3.5 3.36 3.2 3. 3.32 3.14 3.24 3.52 3.62 3.18 3.68 3.24 3.08
3.46 3.72 3.32 3.26 3.6 3.38 3.62 3.66 3.68 3.44 3.56 3.7 3.56 3.94
3.82 3.78 3.62 3.64 3.74 3.52 3.46 3.52 3.5 3.3 3.12 3.6 3.44 3.12
3.46 3.72 3.58 3.02 3.24 3.76 3.24 3.76 3.82 2.88 3.6 3.56 3.2 3.68
3.26 3.46 3.4 3.18 3.6 3.36 3.18 3.5 3.34 3.68 3.56 3.28 3.96 3.52
3.46 3.28 3.42 3.68 3.7 3.54 3.48 3.46 3.46 4.2 3.62 3.66 3.28 3.62
3.46 3.86 3.88 3.06 3.3 3.52 3.22 3.68 3.66 3.52 3.62 3.44 2.88 3.06
3.6 3.58 3.26 3.7 3.44 3.14 3.42 3.36 3.62 3.38 3.1 3.32 3.38 3.84
3.46 3.64 3.72 3.58 2.8 3.68 3.38 3.4 3.46 3.38 3.5 3.6 3.48 3.18
3.64 3.66 3.68 3.88 3.92 3.68 3.56 3.6 3.36 3.66 3.42 3.66 3.64 3.62
3.26 3.58 3.64 3.34 3.5 3.78 3.38 3.48 3.52 3.96 3.14 3.76 3.4 3.64
3.58 3.34 3.84 3.94 3.66 3.84 3.64 3.3 3.3 3.7 3.92 3.66 3.92 3.34
3.72 3.16 3.74 3.7 3.8 3.4 3.64 3.74 3.58 3.46 3.28 3.22 3.44 3.34
3.9 3.16 3.36 3.98 3.68 3.08 3.44 3.66 4.02 3.44 3.88 3.64 3.4 3.08
3.46 3.46 3.62 3.44 3.22 3.46 3.22 3.54 3.72 3.2 3.66 3.36 3.44 3.12
3.16 3.66 3.44 3.42 3.6 3.38 3.66 3.06 3.58 3.64 3.82 3.5 3.08 3.34
3.32 3.68 3.36 3.5 3.4 3.48 3.72 3.38 3.32 3.5 3.6 3.64 3.44 3.24
3.52 3.66 3.4 3.66 3.36 3.66 3.58 3.5 3.64 3.54 3.4 3.56 3.72 3.24
3.4 3.5 3.94 3.12 3.68 4.04 3.52 3.32 3.3 3.56 3.14 3.68 3.14 3.66
3.76 3.34 3.94 3.42 3.72 3.28 3.4 3.62 3.44 3.58 3.46 3.66 3.6 3.54
3.38 3.46 3.38 3.86 3.42 3.5 3.6 3.74 3.36 3.4 3.42 3.44 3.56 3.34
3.34 3.14 3.3 3.56 3.86 3.14 3.8 3.88 3.44 3.48 3.38 3.22 3.4 3.5
3.68 3.66 3.76 3.36 3.88 3.48 3.76 3.46 3.48 3.54 3.62 3.46 3.5 3.2
3.68 3.32 3.28 3.32 3.58 3.36 3.64 3.5 3.64 3.5 3.28 3.72 3.22 3.08
2.84 3.32 3.44 3.68 3.58 3.68 3.36 3.64 3.8 3.24 3.58 3.68 3.4 3.48
3.54 3.38 3.74 3.44 3.52 3.6 3.78 3.96 3.12 3.5 3.34 3.22 3.76 3.42
3.4 3.84 3.62 3.38 3.26 3.1 3.32 3.34 3.54 3.9 3.28 3.6 3.66 3.54
3.02 3.16 3.88 3.66 4.18 3.34 3.48 3.76 3.28 3.52 3.44 3.64 3.32 3.6
3.34 3.2 3.54 3.92 4.04 3.26 3.26 3.7 3.96 3.42 3.46 3.54 3.68 3.74
3.66 3.36 3.18 3.18 3.08 3.7 3.42 3.52 3.24 3. 3.68 3.42 3.78 3.88
3.5 3.7 3.64 3.58 3.4 3.02 3.52 3.86 3.6 3.2 3.36 3.52 3.36 3.62
3.28 3.24 3.68 3.3 3.28 3.84 3.36 3.38 3.6 3.38 3.54 3.82 3.3 3.74
3.72 3.5 3.36 3.7 3.82 3.42 3.44 3.52 3.8 3.82 3.66 3.1 3.42 3.62
3.3 3.36 3.16 3.02 3.4 3.28 3.7 3.8 3.76 3.3 3.32 3.36 3.12 3.38
3.82 3.42 3.52 3.12 3.3 3.74 3.38 3.82 3.44 3.38 3.12 3.36 3.04 3.32
3.56 3.5 3.3 3.22 3.22 3.52 3.1 3.64 3.48 3.4 3.44 3.6 3.68 3.2
3.76 3.22 3.02 3.42 3.82 3.16 3.26 3.52 3.66 3.88 3.32 3.62 3.56 3.36
3.54 3.5 3.8 3.08 3.5 3.08 3.64 3.38 3.12 3.34 3.94 3.52 3.54 3.5
3.52 3.44 3.74 3.18 3.16 3.42 3.38 3.88 3.7 3.68 3.8 3.44 3.2 3.6
3.56 3.8 3.5 3.56 3.6 3.14 3.14 3.7 3.34 3.52 3.32 3.68 3.38 3.72
3.34 3.4 3.42 3.8 3.76 3.4 3.64 3.56 3.7 3.58 3.74 3.86 3.28 3.62
3.42 3.5 3.56 3.66 3.54 3.84 3.26 3.4 3.42 3.16 3.44 3.3 3.76 3.42
3.96 3.34 3.66 3.86 3.32 3.54 3.38 4.06 4.24 3.18 3.34 3.42 3.92 3.2
3.82 3.72 3.06 3.52 3.62 3.64 3.94 3.52 3.58 3.4 3.4 3.78 3.26 3.78
3.24 3.76 3.2 3.66 3.9 3.36 3.5 3.22 3.42 3.56 3.68 3.44 3.28 3.9
3.24 3.7 3.88 3.98 3.6 3.96 3.2 3.7 3.3 3.2 3.26 4.08 3.3 3.88
3.86 3.52 3.66 3.62 3.06 3.34 3.38 3.8 3.98 3.38 3.42 3.88 3.78 3.2
3.38 3.12 3.24 3.12 3.82 3.48 3.62 3.36 3.56 3.1 3.5 3.2 3.74 3.74
2.96 3.24 2.94 3.42 3.7 3.42 3.62 3.5 3.06 3.06 3.6 3. 3.26 3.46
3.68 2.88 3.18 3.2 3.42 3.46 3.5 3.78 2.94 3.8 3.48 3.6 3.42 3.48
3.24 3.58 4.34 3.42 3.24 3.56 3.6 3.78 3.04 3.72 3.22 3.64 3.26 3.6
3.54 3.4 3.56 3.18 3.92 3.56 3.8 3.24 3.74 3.56 3.38 3.92 3.52 3.92
3.42 3.28 3.56 3.62 3.7 3.4 3.38 3.54 3.2 3.26 3.78 3.82 3.44 3.46
3.08 3.52 3.98 3.62 3.8 3.16 3.52 3.38 3.54 3.88 3.56 3.4 3.34 3.14
3.56 3.3 3.96 3.66 3.18 3.02 3.52 3.56 3.1 3.34 3.48 3.44 3.64 4.06
3.98 3.56 3.22 3.6 3.52 3.6 3.92 3.06 3.32 3.64 3.68 3.48 3.48 3.46
3.7 2.98 3.46 3.32 3.44 3.58 3.52 3.54 3.48 3.48 3.34 3.5 3.4 3.26
3.42 3.78 2.88 3.52 3.96 3.54 3.58 2.88 3.6 3.98 3.76 3.58 3.26 3.5
3.32 3.14 3.62 3.98 3.42 4.4 3.44 2.86 3.86 3.62 3.22 3.38 3.38 3.32
3.22 3.3 3.54 3.02 3.62 3.08 3.42 3.46 3.62 3.36 3.92 3.8 3.6 3.64
3.48 3.7 3.78 3.3 3.48 3.56 2.96 3.62 3.28 3.4 3.16 3.7 3.82 3.66
3.36 3.94 3.54 3.78 3.76 3.86 3.22 3.5 3.3 3.26 3.44 3.82 3.52 3.4
3.38 3.48 3.94 4.2 3.58 3.44 3.66 3.3 3.28 3.22 3.3 3.8 3.52 3.16
3.24 3.46 3.62 3.74 3.66 3.18 3.04 3.52 3.46 3.26 3. 3.72 3.78 3.58
3.72 3.82 3.64 3.52 3.4 3.38 3.46 3.52 3.46 3.64 3.6 3.4 3.62 3.54
3.48 3.68 3.72 3.84 3.44 3.52]
可视化这1000组各自的均值:
plt.hist(samples_mean_np)
(array([ 10., 47., 141., 196., 241., 234., 83., 38., 6., 4.]),
array([2.8 , 2.96, 3.12, 3.28, 3.44, 3.6 , 3.76, 3.92, 4.08, 4.24, 4.4 ]),
<a list of 10 Patch objects>)
加上拟合曲线,很接近正态分布!
import seaborn as sns
sns.distplot(samples_mean_np, bins=10)
plt.show()
3 应用
在实际生活当中,我们不能知道我们想要研究的对象的平均值,标准差之类的统计参数。中心极限定理在理论上保证了我们可以用只抽样一部分的方法,达到推测研究对象统计参数的目的
3.1 应用1:对于总体的估计
根据这个定理,不管实验关注的结果指标自身分布如何,比如点赞次数、评论次数、分享次数,这些肯定不是呈正态分布。但是只要实验随机地选取用户且用户量足够大,那么每次抽样的均值作为一个样本点形成的分布会呈现正态分布。且抽样分布的均值近似为总体均值,抽样分布的标准差为总体方差的1/sqrt(n)。
实际的社会生活中,要统计总体的一些数值的成本可能非常高,基本不可行,比如统计特朗普在美国民众中的支持率,但可以通过随机抽样得到的数据来进行估计。随着抽样选取的样本数量越大,抽样得到的数值跟真实值就越接近。
3.2 应用2:多场景下统计量的近似使用
A/B 测试:一般是比较实验组和对照组在某些指标上是否存在差异,当然更多时候是看实验组相比对照组某个指标表现是否更好。
AB测试本质上是检验两总体均值是否相等!假设检验的内容!实验样本量远远大于统计学上所说的大样本量(样本量n>30),这就满足了中心极限定理。可以使用Z统计量!
4 中心极限定理可视化
- http://mfviz.com/central-limit/
5 参考
- http://sofasofa.io/forum_main_post.php?postid=1001395
- https://zhuanlan.zhihu.com/p/25241653
- https://zhuanlan.zhihu.com/p/46963974
上一篇: Window 80端口被占用 WHY?
下一篇: docker nginx时区8小时问题