시작하기무료로 시작하기

평균 스플릿 시간의 선형 회귀

여기서는 수영 선수들이 800m 경기를 진행하면서 선형적으로 감속한다고 가정합니다. 스플릿당 감속량은 스플릿 번호 대비 평균 스플릿 시간 그래프의 기울기에 해당합니다. 선형 회귀를 수행하여 스플릿당 감속량을 추정하고, 감속량에 대한 쌍 부트스트랩(pairs bootstrap) 95% 신뢰 구간을 계산하세요. 최적 적합선 그래프도 함께 표시하세요.

참고: 평균 스플릿 시간에 대한 오차 막대를 계산하여 회귀 분석에 활용할 수 있지만, 이 과정의 범위를 벗어나므로 여기서는 고려하지 않습니다.

이 연습은 강의의 일부입니다

통계적 사고 사례 연구

강의 보기

연습 안내

  • np.polyfit()을 사용하여 선형 회귀를 수행하고 스플릿당 감속량을 구하세요. 변수 split_numbermean_splits는 이미 네임스페이스에 정의되어 있습니다. 기울기와 절편을 각각 slowdownsplit_3에 저장하세요.
  • dcst.draw_bs_pairs_linreg()을 사용하여 스플릿당 감속량에 대한 쌍 부트스트랩 복제값 10,000개를 계산하세요. 결과를 bs_reps에 저장하세요. 절편의 부트스트랩 복제값은 이 분석에서 필요하지 않으므로 임시 변수 _에 저장해도 됩니다.
  • 스플릿당 감속량의 95% 신뢰 구간을 계산하세요.
  • 스플릿 번호(split_number)와 평균 스플릿 시간(mean_splits)을 점으로 표시한 그래프와 최적 적합선을 함께 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Perform regression
____, ____ = ____

# Compute pairs bootstrap
bs_reps, _ = ____

# Compute confidence interval
conf_int = ____

# Plot the data with regressions line
_ = ____(____, ____, marker='.', linestyle='none')
_ = ____(____, ____ * ____ + ____, '-')

# Label axes and show plot
_ = plt.xlabel('split number')
_ = plt.ylabel('split time (s)')
plt.show()

# Print the slowdown per split
print("""
mean slowdown: {0:.3f} sec./split
95% conf int of mean slowdown: [{1:.3f}, {2:.3f}] sec./split""".format(
    slowdown, *conf_int))
코드 편집 및 실행