เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การถดถอยเชิงเส้นของเวลา split เฉลี่ย

สมมติว่านักว่ายน้ำว่ายช้าลงในลักษณะเชิงเส้นตลอดการแข่งขันระยะ 800 เมตร ดังนั้นอัตราการช้าลงต่อ split จะเป็นความชันของกราฟระหว่างเวลา split เฉลี่ยกับหมายเลข split ให้ทำการถดถอยเชิงเส้นเพื่อประมาณค่าอัตราการช้าลงต่อ split และคำนวณช่วงความเชื่อมั่น 95% แบบ pairs bootstrap นอกจากนี้ให้แสดงกราฟของเส้นที่พอดีที่สุดด้วย

หมายเหตุ: สามารถคำนวณ error bar สำหรับเวลา split เฉลี่ยและนำไปใช้ในการวิเคราะห์การถดถอยได้ แต่เราจะไม่นำมาพิจารณาในที่นี้ เนื่องจากอยู่นอกเหนือขอบเขตของคอร์สนี้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

กรณีศึกษาด้านการคิดเชิงสถิติ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ np.polyfit() เพื่อทำการถดถอยเชิงเส้นและหาค่าอัตราการช้าลงต่อ split โดยตัวแปร split_number และ mean_splits มีอยู่ใน namespace แล้ว เก็บค่าความชันและค่าตัดแกนไว้ใน slowdown และ split_3 ตามลำดับ
  • ใช้ dcst.draw_bs_pairs_linreg() เพื่อคำนวณ pairs bootstrap replicate จำนวน 10,000 ครั้งของอัตราการช้าลงต่อ split เก็บผลลัพธ์ไว้ใน bs_reps ส่วน bootstrap replicate ของค่าตัดแกนไม่จำเป็นสำหรับการวิเคราะห์นี้ จึงเก็บไว้ในตัวแปรทิ้ง _ ได้
  • คำนวณช่วงความเชื่อมั่น 95% ของอัตราการช้าลงต่อ split
  • พล็อตกราฟระหว่างหมายเลข split (split_number) กับเวลา split เฉลี่ย (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))
แก้ไขและรันโค้ด