对青蛙数据进行置换检验
青蛙 A 的平均击打力为 0.71 牛顿(N),青蛙 B 为 0.42 N,二者相差 0.29 N。也有可能两只青蛙的击打力实际上相同,而该观测差异只是偶然产生。您将计算在假设两只青蛙的击打力分布相同的前提下,出现至少 0.29 N 的平均击打力差异的概率。我们将使用以均值差为检验统计量的置换检验来检验该假设。
为方便起见,数据已存储在数组 force_a 和 force_b 中。
本练习是课程的一部分
Python 统计思维(第 2 部分)
练习说明
- 定义一个函数,调用签名为
diff_of_means(data_1, data_2),返回两个数据集的均值之差,即data_1的均值减去data_2的均值。 - 使用此函数计算青蛙数据中观测到的经验均值差。
- 抽取 10,000 个均值差的置换重复。
- 计算 p 值。
- 打印 p 值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
def diff_of_means(data_1, data_2):
"""Difference in means of two arrays."""
# The difference of means of data_1, data_2: diff
diff = ____
return diff
# Compute difference of mean impact force from experiment: empirical_diff_means
empirical_diff_means = ____
# Draw 10,000 permutation replicates: perm_replicates
perm_replicates = draw_perm_reps(____, ____,
____, size=10000)
# Compute p-value: p
p = np.sum(____ >= ____) / len(____)
# Print the result
print('p-value =', p)