可视化置换抽样
为帮助您直观理解置换抽样的工作方式,本练习将生成置换样本并以图形方式查看其结果。
我们将再次使用 Sheffield Weather Station 的数据,这次关注 6 月(相对干燥)和 11 月(相对潮湿)的月降雨量。我们预期两者的分布可能不同,因此通过置换抽样来查看在"若它们同分布"的前提下,它们的 ECDF 会是什么样子。
数据存储在 NumPy 数组 rain_june 和 rain_november 中。
提醒一下,permutation_sample() 的函数签名为 permutation_sample(data_1, data_2),返回值为 permuted_data[:len(data_1)], permuted_data[len(data_1):],其中 permuted_data = np.random.permutation(np.concatenate((data_1, data_2)))。
本练习是课程的一部分
Python 统计思维(第 2 部分)
练习说明
- 编写一个
for循环,生成 50 组置换样本,计算它们的 ECDF,并绘制出来。- 使用您的
permutation_sample()函数,从rain_june和rain_november生成一对置换样本。 - 使用您的
ecdf()函数,为这两个置换样本各自的 ECDF 生成x和y值。 - 将第一个置换样本(
x_1和y_1)的 ECDF 以点的形式绘制。对第二个置换样本(x_2和y_2)执行相同操作。
- 使用您的
- 为
rain_june和rain_november数据分别生成 ECDF 的x和y值,并使用关键字参数color='red'和color='blue'分别绘制它们的 ECDF。 - 标注坐标轴、设置 2% 的边距并显示图形。这部分已为您完成,直接提交即可查看图表!
交互式实操练习
通过完成这段示例代码来试试这个练习。
for _ in ____:
# Generate permutation samples
perm_sample_1, perm_sample_2 = ____
# Compute ECDFs
x_1, y_1 = ____
x_2, y_2 = ____
# Plot ECDFs of permutation sample
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='red', alpha=0.02)
_ = plt.plot(____, ____, marker='.', linestyle='none',
color='blue', alpha=0.02)
# Create and plot ECDFs from original data
x_1, y_1 = ____
x_2, y_2 = ____
_ = plt.plot(x_1, y_1, marker='.', linestyle='none', color='red')
_ = plt.plot(x_2, y_2, marker='.', linestyle='none', color='blue')
# Label axes, set margin, and show plot
plt.margins(0.02)
_ = plt.xlabel('monthly rainfall (mm)')
_ = plt.ylabel('ECDF')
plt.show()