Тестовые статистики и размер эффекта
Как можно исследовать линейные зависимости с помощью бутстрэп-ресэмплинга? Вернёмся к маршруту! На графике каждый поход представлен одной точкой, и мы видим линейную зависимость между пройденным расстоянием и затраченным временем. Если рассматривать пройденное расстояние как «эффект» прошедшего времени, можно исследовать глубинную связь между линейной регрессией и статистическим выводом.
В этом упражнении вы разобьёте данные на две группы: ранние и поздние моменты времени. Затем вы оцените различия в пройденном расстоянии между этими группами. Это различие будет служить «тестовой статистикой», а её распределение позволит проверить, насколько значимо разделение расстояний по времени.

Это упражнение является частью курса
Введение в линейное моделирование на Python
Инструкции к упражнению
- Используйте «логическую индексацию»
numpy, напримерsample_distances[sample_times < 5], чтобы разделить выборкуdistancesна группы ранних и поздних моментов времени. - Используйте
np.random.choice()с параметромreplacement=True, чтобы создатьresampleдля каждого из двух временных интервалов. - Вычислите массив
test_statisticкакresample_long - resample_short, а затем найдите и выведите размер эффекта и неопределённость с помощьюnp.mean()иnp.std(). - Постройте график распределения
test_statistic, используя заранее определённую функциюfig = plot_test_statistic().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create two poulations, sample_distances for early and late sample_times.
# Then resample with replacement, taking 500 random draws from each population.
group_duration_short = sample_distances[____ < 5]
group_duration_long = sample_distances[____ > 5]
resample_short = np.random.choice(____, size=500, replace=____)
resample_long = np.random.choice(____, size=500, replace=____)
# Difference the resamples to compute a test statistic distribution, then compute its mean and stdev
test_statistic = resample_long - resample_short
effect_size = np.mean(____)
standard_error = np.std(____)
# Print and plot the results
print('Test Statistic: mean={:0.2f}, stdev={:0.2f}'.format(____, ____))
fig = plot_test_statistic(____)