我想生成一个随机样本大小为 90 (10+30+50),创建一个包含这 90 个随机生成的样本的列表并找到样本中位数。这是我得到的:
sub_pop = [300, 500, 1000]
samplesize = [10, 30, 50]
std_list = [40, 50, 60]
mean_list = [50, 60, 70]
换句话说,我想从 sub_pop 300 中随机生成 10 个子样本大小,从 sub_pop 500 中随机生成 30 个子样本大小,从 sub_pop 1000 中随机生成 50 个子样本大小,然后将结果附加到单个列表中。每个 sub_pop 正态分布如下:sub_pop 300 是正态分布 wif std dev 40 和平均值 50,sub_pop 500 是正态分布 wif std dev 50 和平均值 60 等等。
这是我到目前为止所做的:
import numpy as np
n_pop = 1800
obs_size = 90
sub_pop = [300, 500, 1000]
samplesize = [10, 30, 50]
std_list = [40, 50, 60]
mean_list = [50, 60, 70]
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()
list1 = [abs(x) for x in list]
print(list1)
print(np.median(list1))
我的方法对吗?
慕妹3146593
相关分类