需要帮助重复随机抽样!考虑到人口规模,存在3个年龄组的10000人:2000人年龄在“1-10岁”,3000人在“11-20岁”,5000人在“21-30岁”。每个年龄组的月薪分布如下:年龄“1-10”:平均值=2000,方差=500^2年龄“11-20”:平均值=3000,方差=600^2年龄“21-30”:平均值=4000,方差=700^2
注:样本的年龄组构成必须与人群的年龄组构成相同或接近,即“1-10”年龄组占样本的20%或0.2x50=10。目的:对人群进行重复随机抽样,找出样本中位数月薪的抽样分布。说明:用400个重复采样结果进行测试,并可视化模拟的采样分布。在
我就是这么做的:
import pandas as pd
import matplotlib.pyplot as pet
import numpy as np
import seaborn as sns
sns.set()
population = 10000
repeat = 400
samplesize = 50
samplesize_list = [10, 15, 25]
label_list = ['1-10', '11-20', '21-30']
std_list = [500, 600, 700]
mean_list = [2000, 3000, 4000]
repeat_median = np.empty(repeat, dtype = float)
for j in range(Len(samplesize_list)):
size = samplesize_list[j]
for i in range(repeat):
sample_data = np.random.normal(mean_list[i], std_list[i], size)
repeat.median[I] = np.median(sample_data)
plt.subplot(len(samplesize_list), 1, j+1)
sns.distplot(repeat_median, colour = 'blue', label = label_list[j])
plt.legend(loc = "upper right")
plt.show()
我不知道我的代码哪里出错了,但我似乎无法得到我想要的结果
你的代码中有很多错误。我纠正了它们,并给出了下面的工作代码。我没有显示定义数据的代码的初始行。我用注释
#
突出显示修改后的行。在再加几点:长度是用}
len
而不是Len
计算的,指定颜色的正确拼写是color
,而不是{输出
相关问题 更多 >
编程相关推荐