开始使用免费开始使用

多重比较问题

当研究者反复在不同变量/样本之间进行显著性检验时,就会出现多重比较问题。仅凭随机性,我们也会偶尔得到具有统计显著性的结果。

在本练习中,您将使用得自德州奥斯汀市员工薪资的数据。您会将他们的薪资与随机生成的数据进行比较,观察这些随机数据在多大程度上会被判为能够"显著"解释员工薪资。显然,这类"显著性"是虚假的,因为随机数对解释任何事物都帮不上忙!

一个包含警员薪资的 DataFrame(police_salaries_df)已为您加载,同时还加载了 pandas(命名为 pd)、NumPy(命名为 np)、Matplotlib(命名为 plt),以及来自 SciPy 的 stats

本练习是课程的一部分

Python 推断基础

查看课程

练习说明

  • 将数据集中人员数量存入 n_rows(每行代表 1 个人),并将显著结果的计数 n_significant 初始化为 0。
  • 编写一个运行 1000 次的 for 循环,每次生成 n_rows 个随机数。
  • 计算这些随机数与警员薪资之间的 Pearson R 及其对应的 p 值。
  • 如果 p 值在 5% 水平上显著,使用 += 运算符将 n_significant 加 1。

交互式实操练习

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

# Compute number of rows and initialize n_significant
n_rows = ____
n_significant = ____

# For loop which generates n_rows random numbers 1000 times
for i in ____:
  random_nums = np.random.uniform(size=____)
  # Compute correlation between random_nums and police salaries
  r, p_value = stats.____(____, random_nums)
  # If the p-value is significant at 5%, increment n_significant
  if ____ < ____:
    ____ += 1
    
print(n_significant)
编辑并运行代码