Практика перестановок
Весят ли игроки НБА больше, чем взрослые мужчины в США? Вам предстоит вычислить 95%-й доверительный интервал для среднего различия (в килограммах) между игроками НБА и взрослыми мужчинами в США. Для этого воспользуйтесь двумя предоставленными списками.
Пеrestановка — отличный метод для проверки различий, поэтому именно этот метод повторной выборки вы и применёте!
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_weightsиus_adult_weights. - Выполните перестановку
all_weightsс помощьюnp.random.permutation(). - Присвойте первые 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)