用Python实现抽样分布
2018-09-25 本文已影响1人
IntoTheVoid
流程示意:
image.png假如有一个总体, 如下示意:
import numpy as np
np.random.seed(42)
# students 代表总体
students = np.array([1,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0])
计算总体的均值和标准偏差, 如果总体可知的话
sd = students.std()
print(sd)
>>>0.45175395145262565
从总体中抽取样本量为5的样本
coff_sample = np.random.choice(students, 5)
coff_sample.mean()
>>>0.8
重复抽取10000次该样本量的样本
sample_props = np.random.choice(students, size=(10000, 5)).mean(axis=1)
sample_props
>>>array([0.8, 0.6, 1. , ..., 0.8, 0.6, 0.6])
计算10000次所代表的分布(样本均值分布或抽样分布)的均值和标准偏差
sample_props.mean()
>>>0.71438
sd2 = sample_props.std()
print(sd2)
>>>0.20058219163225832
绘制抽样分布的直方图