开始使用免费开始使用

可视化置换抽样

为帮助您直观理解置换抽样的工作方式,本练习将生成置换样本并以图形方式查看其结果。

我们将再次使用 Sheffield Weather Station 的数据,这次关注 6 月(相对干燥)和 11 月(相对潮湿)的月降雨量。我们预期两者的分布可能不同,因此通过置换抽样来查看在"若它们同分布"的前提下,它们的 ECDF 会是什么样子。

数据存储在 NumPy 数组 rain_junerain_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_junerain_november 生成一对置换样本。
    • 使用您的 ecdf() 函数,为这两个置换样本各自的 ECDF 生成 xy 值。
    • 将第一个置换样本(x_1y_1)的 ECDF 以点的形式绘制。对第二个置换样本(x_2y_2)执行相同操作。
  • rain_junerain_november 数据分别生成 ECDF 的 xy 值,并使用关键字参数 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()
编辑并运行代码