生成一次置换
在接下来的几个练习中,您将使用置换检验来进行显著性检验。正如视频中所述,我们想比较两个设计 A 和 B 所带来的捐赠金额是否存在差异。假设这两个版本已经各自运行了几天,A 获得了 500 笔捐赠,B 获得了 700 笔捐赠,分别保存在变量 donations_A 和 donations_B 中。
我们首先需要为"均值差"生成一个零假设分布。方法是对数据集进行多次置换,并在每次置换中计算均值差。
先从简单开始:生成一次置换,并计算该置换数据集中的均值差。
本练习是课程的一部分
Python 中的统计模拟
练习说明
- 使用
np.concatenate()将数组donations_A和donations_B连接,赋值给data。 - 使用
np.random.permutation()获取一次置换,赋值给perm。 - 计算
permuted_A和permuted_B的均值之差,记为diff_in_means。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Concatenate the two arrays donations_A and donations_B into data
len_A, len_B = len(donations_A), len(donations_B)
data = ____([donations_A, donations_B])
# Get a single permutation of the concatenated length
perm = ____(len(donations_A) + len(donations_B))
# Calculate the permutated datasets and difference in means
permuted_A = data[perm[:len(donations_A)]]
permuted_B = data[perm[len(donations_A):]]
diff_in_means = ____
print("Difference in the permuted mean values = {}.".format(diff_in_means))