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

การทดสอบสมมติฐานแบบ one-sample bootstrap

มีการศึกษากบตัวอ่อนอีกตัวหนึ่งชื่อกบ C และต้องการตรวจสอบว่ากบ B กับกบ C มีแรงกระแทกที่ใกล้เคียงกันหรือไม่ แต่น่าเสียดายที่ไม่มีข้อมูลแรงกระแทกของกบ C เพียงแต่ทราบว่าค่าเฉลี่ยอยู่ที่ 0.55 N เนื่องจากไม่มีข้อมูลต้นฉบับ จึงไม่สามารถทำ permutation test ได้ และไม่สามารถประเมินสมมติฐานที่ว่าแรงกระแทกของกบ B และกบ C มาจากการแจกแจงเดียวกัน ดังนั้นจึงทดสอบสมมติฐานที่มีข้อจำกัดน้อยกว่าแทน ได้แก่ ค่าเฉลี่ยแรงกระแทกของกบ B เท่ากับของกบ C

ในการตั้งค่าการทดสอบสมมติฐานแบบ bootstrap ให้ใช้ค่าเฉลี่ยเป็น test statistic โดยเป้าหมายคือคำนวณความน่าจะเป็นที่จะได้ค่าเฉลี่ยแรงกระแทกน้อยกว่าหรือเท่ากับที่สังเกตได้จากกบ B ภายใต้สมมติฐานที่ว่าค่าเฉลี่ยที่แท้จริงของแรงกระแทกของกบ B เท่ากับของกบ C โดยแปลงข้อมูลทั้งหมดของกบ B ให้มีค่าเฉลี่ยเป็น 0.55 N ซึ่งทำได้โดยบวกค่าเฉลี่ยแรงกระแทกของกบ C และลบค่าเฉลี่ยแรงกระแทกของกบ B ออกจากการวัดแต่ละครั้งของกบ B วิธีนี้จะไม่เปลี่ยนแปลงคุณสมบัติอื่นของการแจกแจงของกบ B เช่น ความแปรปรวน

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

Statistical Thinking in Python (ตอนที่ 2)

ดูคอร์ส

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

  • แปลงค่าแรงกระแทกของกบ B ให้มีค่าเฉลี่ยเป็น 0.55 N
  • ใช้ฟังก์ชัน draw_bs_reps() เพื่อสุ่ม bootstrap replicates ของค่าเฉลี่ยจากข้อมูลที่แปลงแล้วจำนวน 10,000 ครั้ง
  • คำนวณ p-value โดยหาสัดส่วนของ bootstrap replicates ที่น้อยกว่าค่าเฉลี่ยแรงกระแทกที่สังเกตได้ของกบ B โดยตัวแปรที่สนใจคือ force_b
  • แสดงผล p-value ที่ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Make an array of translated impact forces: translated_force_b
translated_force_b = ____

# Take bootstrap replicates of Frog B's translated impact forces: bs_replicates
bs_replicates = draw_bs_reps(____, ____, 10000)

# Compute fraction of replicates that are less than the observed Frog B force: p
p = np.sum(____ <= np.mean(____)) / 10000

# Print the p-value
print('p = ', ____)
แก้ไขและรันโค้ด