НачатьНачать бесплатно

Проблема множественных сравнений

Проблема множественных сравнений возникает, когда исследователь многократно проверяет различные переменные или выборки на статистическую значимость. Чисто случайно время от времени будет появляться значимый результат.

В этом упражнении вы будете работать с данными о зарплатах сотрудников городского управления Остина, штат Техас. Вы будете сравнивать их зарплаты со случайно сгенерированными данными и наблюдать, как часто такие данные оказываются «значимыми» в объяснении уровня зарплат. Очевидно, любая подобная «значимость» была бы ложной — случайные числа не могут ничего объяснить!

Для вас уже загружен DataFrame с зарплатами полицейских (police_salaries_df), а также пакеты: pandas как pd, NumPy как np, Matplotlib как plt и stats из SciPy.

Это упражнение является частью курса

Основы статистического вывода на Python

Посмотреть курс

Инструкции к упражнению

  • Сохраните количество людей в наборе данных в переменную n_rows (каждая строка — один человек) и инициализируйте счётчик значимых результатов n_significant нулём.
  • Напишите цикл for, который выполняется 1000 раз и генерирует n_rows случайных чисел.
  • Вычислите коэффициент Пирсона R и соответствующее p-значение для сгенерированных чисел и зарплат полицейских.
  • Если p-значение значимо на уровне 5%, увеличьте n_significant на единицу с помощью оператора +=.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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)
Редактировать и запускать код