非标准估计量
在上一个练习中,您运行了一个简单的自助法(bootstrap)。现在我们将把它改造成可用于更复杂估计量的版本。
假设您正在研究学生的健康状况。已给出 1000 名学生的身高和体重,您关心身高的中位数,以及身高与体重之间的相关系数,并希望得到这些量的 95% 置信区间。让我们使用自助法来估计。
查看包含 1000 名学生身高和体重的 pandas 数据框 df。基于此,计算「身高中位数」以及「身高与体重的相关系数」的 95% 置信区间。
本练习是课程的一部分
Python 中的统计模拟
练习说明
- 在
df上使用.sample()方法进行有放回抽样,将生成的样本数据赋给tmp_df。 - 对每个生成的数据集
tmp_df,使用.median()和.corr()分别计算身高的中位数,以及身高与体重的相关系数。 - 将身高中位数添加到
height_medians,将相关系数添加到hw_corr。 - 最后使用
np.percentile()分别计算上述两个量的 95%([2.5, 97.5])置信区间。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Sample with replacement and calculate quantities of interest
sims, data_size, height_medians, hw_corr = 1000, df.shape[0], [], []
for i in range(sims):
tmp_df = ____(n=____, replace=____)
height_medians.append(____)
hw_corr.append(____)
# Calculate confidence intervals
height_median_ci = np.____
height_weight_corr_ci = np.____
print("Height Median CI = {} \nHeight Weight Correlation CI = {}".format( height_median_ci, height_weight_corr_ci))