开始使用免费开始使用

置换练习

NBA 球员是否比美国成年男性更重?现在,您希望计算 NBA 球员与美国成年男性之间平均体重差(千克)的 95% 置信区间。您将使用提供的两个列表。

在检验差异时,置换法非常合适,因此这里将使用这种重抽样方法!

nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1, 100.3, 101.0, 98.0, 97.4, 100.5, 100.3, 100.2, 100.6]
us_adult_weights = [75.1, 100.1, 95.2, 81.0, 72.0, 63.5, 80.0, 97.1, 94.3, 80.3, 93.5, 85.8, 95.1]

请注意,上述每个列表都包含 13 个体重值。

以下库已为您导入:random、将 numpy 导入为 np、将 seaborn 导入为 sns,以及将 matplotlib.pyplot 导入为 plt

本练习是课程的一部分

Python 中的蒙特卡洛模拟

查看课程

练习说明

  • 定义 all_weights,其为包含 nba_weightsus_adult_weights 中所有数值的列表。
  • 使用 np.random.permutation()all_weights 进行置换。
  • 将置换后前 13 个样本赋给 perm_nba,其余 13 个赋给 perm_adult

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Define all_weights
all_weights = ____
simu_diff = []

for i in range(1000):
	# Perform the permutation on all_weights
    perm_sample = ____
    # Assign the permutated samples to perm_nba and perm_adult
    perm_nba, perm_adult = ____, ____
    perm_diff = np.mean(perm_nba) - np.mean(perm_adult)
    simu_diff.append(perm_diff)
mean_diff = np.mean(nba_weights) - np.mean(us_adult_weights) 
upper = np.quantile(simu_diff, 0.975)
lower = np.quantile(simu_diff, 0.025)
print(mean_diff, lower, upper)
编辑并运行代码