Нестандартные оценки
В предыдущем упражнении вы выполнили простой бутстрэп, который теперь мы адаптируем для более сложных оценок.
Предположим, вы изучаете состояние здоровья студентов. В вашем распоряжении данные о росте и весе 1000 студентов. Вас интересует медианный рост, а также корреляция между ростом и весом и соответствующие 95%-е доверительные интервалы для этих величин. Воспользуемся бутстрэпом.
Изучите DataFrame df из библиотеки pandas, содержащий данные о росте и весе 1000 студентов. На его основе вычислите 95%-й доверительный интервал для медианного роста и корреляции между ростом и весом.
Это упражнение является частью курса
Статистическое моделирование на Python
Инструкции к упражнению
- Используйте метод
.sample()наdf, чтобы сгенерировать выборку с возвращением, и сохраните результат вtmp_df. - Для каждого сгенерированного набора данных в
tmp_dfвычислите медианный рост и корреляцию между ростом и весом с помощью.median()и.corr(). - Добавьте значения медианного роста в
height_medians, а значения корреляции — вhw_corr. - Наконец, вычислите 95%-е (
[2.5, 97.5]) доверительные интервалы для каждой из указанных величин с помощьюnp.percentile().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Sample with replacement and calculate quantities of interest
sims, data_size, height_medians, hw_corr = 1000, df.shape[0], [], []
for i in range(sims):
tmp_df = ____(n=____, replace=____)
height_medians.append(____)
hw_corr.append(____)
# Calculate confidence intervals
height_median_ci = np.____
height_weight_corr_ci = np.____
print("Height Median CI = {} \nHeight Weight Correlation CI = {}".format( height_median_ci, height_weight_corr_ci))