Линейная регрессия и парный бутстрап

Примеры применения статистического мышления

Justin Bois

Lecturer, Caltech

Рост бактерий

1 Изображения предоставлены Джин Парк и Майклом Элловицем, Caltech
Примеры применения статистического мышления

Рост бактерий

Примеры применения статистического мышления
_ = plt.semilogy(t, bac_area, marker='.', linestyle='none')
_ = plt.xlabel('time (hr)')
_ = plt.ylabel('area (sq. µm)')
plt.show()

Примеры применения статистического мышления

Линейная регрессия с np.polyfit()

slope, intercept = np.polyfit(t, bac_area, 1)

t_theor = np.array([0, 14])
bac_area_theor = slope * t_theor + intercept

_ = plt.plot(t, bac_area, marker='.', linestyle='none')
_ = plt.plot(t_theor, bac_area_theor)
_ = plt.xlabel('time (hr)')
_ = plt.ylabel('area (sq. µm)')
plt.show()
Примеры применения статистического мышления

Регрессия роста бактерий

Примеры применения статистического мышления

Полулогарифмическая регрессия с np.polyfit()

slope, intercept = np.polyfit(t, np.log(bac_area), 1)

t_theor = np.array([0, 14])
bac_area_theor = np.exp(slope * t_theor + intercept)

_ = plt.semilogy(t, bac_area, marker='.', linestyle='none')
_ = plt.semilogy(t_theor, bac_area_theor)
_ = plt.xlabel('time (hr)')
_ = plt.ylabel('area (sq. µm)')
plt.show()
Примеры применения статистического мышления

Регрессия роста бактерий

Примеры применения статистического мышления

Парный бутстрап

  • Повторная выборка данных парами
  • Вычисление наклона и сдвига по новым данным
  • Каждая пара значений — бутстрап-реплика
  • Доверительные интервалы из перцентилей бутстрап-реплик
Примеры применения статистического мышления

Парный бутстрап

# Draw 10000 pairs bootstrap reps
slope_reps, int_reps = dcst.draw_bs_pairs_linreg(
  x_data, y_data, size=10000
)

# Compute 95% confidence interval of slope slope_conf_int = np.percentile(slope_reps, [2.5, 97.5])
Примеры применения статистического мышления

Давайте потренируемся!

Примеры применения статистического мышления

Preparing Video For Download...