Визуализация результатов ресэмплинга
Теперь визуализируем результаты симуляции из предыдущего упражнения! Вы продолжите работу с nba_weights — списком весов группы игроков НБА в килограммах:
nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1,
100.3, 101.0, 98.0, 97.4]
Вот код симуляции из предыдущего упражнения:
simu_weights = []
for i in range(1000):
bootstrap_sample = random.choices(nba_weights, k=9)
simu_weights.append(np.mean(bootstrap_sample))
mean_weight = np.mean(simu_weights)
upper = np.quantile(simu_weights, 0.975)
lower = np.quantile(simu_weights, 0.025)
print(mean_weight, lower, upper)
Список simu_weights, сформированный в предыдущем упражнении, уже загружен. Переменные mean_weight, lower и upper также определены заранее — они содержат среднее значение и квантили 2,5% и 97,5% для доверительного интервала.
Следующие пакеты уже импортированы: random, numpy как np, seaborn как sns и matplotlib.pyplot как plt.
Это упражнение является частью курса
Симуляции Монте-Карло на Python
Инструкции к упражнению
- С помощью
sns.displot()постройте распределение смоделированных весов. - С помощью
plt.axvline()нанесите две вертикальные линии для 95%-го доверительного интервала (сначалаlower, затемupper) красным цветом, а также линию среднего значения зелёным цветом.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Plot the distribution of the simulated weights
____
# Plot vertical lines for the 95% confidence intervals and mean
plt.axvline(____, color="red")
plt.axvline(____, color="red")
plt.axvline(____, color="green")
plt.show()