【发布时间】:2018-09-20 13:56:49
【问题描述】:
我想进行 400 个样本大小为 90 的重复随机抽样(即 400 个不同的抽样结果)。但是,问题变得复杂,因为 1800 (n_pop) 的总人口由 3 个不同的子人口(300、500、 1000) 每个正态分布在各自的标准差和平均值附近,如 (std_list) 和 (mean_list)。
即300 的子群体(sub_pop = 300)通常分布在标准差 40 和平均值 50 左右,依此类推。此外,样本大小中每个子群体的比例必须与我已经硬编码为 samplesize = [10, 30, 50] 的总群体 (n_pop) 中的比例成比例。
即我想要从 sub_pop 300 随机生成的样本大小为 10,从 sub_pop 500 中随机生成的样本大小为 30,依此类推。所以我在这里要做的是生成一个列表来保存 400 个大小为 90 的重复随机样本的输出。这就是我到目前为止所做的:
import numpy as np
n_pop = 1800 #total population (300+500+1000=1800)
obs_size = 90 #sample size
sub_pop = [300, 500, 1000] #sub population
samplesize = [10, 30, 50] #sub sample size (10+30+50=90)
std_list = [40, 50, 60] #standard deviation
mean_list = [50, 60, 70] #mean
list = []
for i in range(300):
list += np.random.normal(loc = 50, scale = 40, size = 10).tolist()
for i in range(500):
list += np.random.normal(loc = 60, scale = 50, size = 30).tolist()
for i in range(1000):
list += np.random.normal(loc = 70, scale = 60, size = 50).tolist()
我不确定如何将上述重复执行 400 次,然后将结果添加到列表中。
【问题讨论】:
标签: python statistics