ПочатиПочніть безкоштовно

Оцінювання швидкості та довіри

Продовжимо працювати з даними про піші маршрути Національного парку. Зауважте, що деякі дистанції від'ємні, бо учасники йшли в протилежному напрямку від початку стежки; дані «шумні», тож зосередьмося на загальній тенденції.

У цій вправі ваша мета — застосувати бутстреп-ресемплінг, щоб отримати розподіл значень швидкості для лінійної моделі, а вже з цього розподілу обчислити найкращу оцінку швидкості та 90-відсотковий довірчий інтервал цієї оцінки. Тут швидкість — це параметр нахилу з моделі лінійної регресії, яка апроксимує дистанцію як функцію часу.

Щоб ви швидше стартували, ми попередньо завантажили дані distance і time, а також заздалегідь визначену функцію least_squares() для обчислення значення швидкості для кожної повторної вибірки.

Ця вправа є частиною курсу

Вступ до лінійного моделювання в Python

Переглянути курс

Інструкції до вправи

  • Використайте np.random.choice(), щоб вибрати sample_inds з population_inds, зберігаючи парність «дистанція–час» для кожного запису.
  • Щоб зберегти часову послідовність, виконайте .sort() для sample_inds, а тоді використайте sample_inds для індексації distances і times.
  • Використайте least_squares(times, distances), щоб обчислити параметри лінійної моделі, і збережіть a1 у resample_speeds.
  • Застосуйте np.mean() і np.percentiles() до resample_speeds, обчисліть швидкість і довірчий інтервал ci_90, а потім виведіть обидва значення.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Resample each preloaded population, and compute speed distribution
population_inds = np.arange(0, 99, dtype=int)
for nr in range(num_resamples):
    sample_inds = np.random.choice(____, size=100, replace=True)
    sample_inds.____()
    sample_distances = distances[____]
    sample_times = times[____]
    a0, a1 = ____(sample_times, sample_distances)
    resample_speeds[nr] = ____

# Compute effect size and confidence interval, and print
speed_estimate = np.mean(____)
ci_90 = np.percentile(____, [5, 95])
print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(____, ____[0], ____[1]))
Редагувати та запускати код