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

สถิติทดสอบและขนาดของเอฟเฟกต์

เราจะสำรวจความสัมพันธ์เชิงเส้นด้วย bootstrap resampling ได้อย่างไร กลับมาที่เส้นทางเดินป่ากัน จากกราฟที่แต่ละการเดินป่าแทนด้วยจุดหนึ่งจุด จะเห็นได้ว่ามีความสัมพันธ์เชิงเส้นระหว่างระยะทางรวมที่เดินทางกับเวลาที่ผ่านไป หากมองระยะทางที่เดินทางเป็น "ผลกระทบ" ของเวลาที่ผ่านไป เราก็สามารถสำรวจความเชื่อมโยงเบื้องหลังระหว่าง linear regression กับการอนุมานทางสถิติได้

ในแบบฝึกหัดนี้ คุณจะแบ่งข้อมูลออกเป็นสองกลุ่มประชากร หรือ "หมวดหมู่" ได้แก่ ช่วงเวลาต้น และช่วงเวลาหลัง จากนั้นดูความแตกต่างของระยะทางรวมที่เดินทางในแต่ละกลุ่ม ความแตกต่างนี้จะทำหน้าที่เป็น "สถิติทดสอบ" และการกระจายตัวของมันจะทดสอบผลของการแยกระยะทางตามช่วงเวลา

ch04_ex11_fig03.png

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

Introduction to Linear Modeling in Python

ดูคอร์ส

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

  • ใช้ "logical indexing" ของ 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(____)
แก้ไขและรันโค้ด